[hermes] ananke: go:S1192 #215

Open
opened 2026-09-26 13:21:52 +00:00 by hermes-automation · 0 comments

SonarQube reports go:S1192 in internal/cluster/orchestrator_longhorn_reconcile.go. The build is green; this is a standing finding, not a failure.

What is wrong

The namespace string literal "longhorn-system" is duplicated in three kubectl invocations (queryLonghornNodes, queryLonghornManagerDaemonSet, and longhornManagerPodsByNode). If the namespace ever changes, all three sites must be found and updated by hand, and a typo in any one of them would silently query the wrong namespace.

Ariadne opened no pull request for it: no automated patch was possible for this finding.

Facts

  • gitea — Define a constant instead of duplicating this literal "longhorn-system" 3 times. (CRITICAL, 6min estimated) (internal/cluster/orchestrator_longhorn_reconcile.go:136)

Suggested fix (not applied)

Hermes could not open a pull request for this, so the change below was not written, validated, or pushed anywhere. It is a starting point for whoever picks this up, not a reviewed patch.

internal/cluster/orchestrator_longhorn_reconcile.go — Introduce a package-level constant for the Longhorn namespace and use it at all three kubectl call sites. This satisfies go:S1192 without changing behaviour: the same string is passed to kubectl in every case. Add the constant right after the import block, then replace the literal in each of the three functions.

const longhornNamespace = "longhorn-system"

// In queryLonghornNodes:
	out, err := o.kubectl(ctx, 30*time.Second, "-n", longhornNamespace, "get", "nodes.longhorn.io", "-o", "json")

// In queryLonghornManagerDaemonSet:
	out, err := o.kubectl(ctx, 20*time.Second, "-n", longhornNamespace, "get", "daemonset", "longhorn-manager", "-o", "json")

// In longhornManagerPodsByNode:
	args := []string{"-n", longhornNamespace, "get", "pods", "-o", "json"}

Filed automatically by Ariadne from a Hermes Agent diagnosis (run run_1489b12ec924443680a65395bb189271). Hermes has no write access to this repository; no files or infrastructure were changed.

SonarQube reports **go:S1192** in `internal/cluster/orchestrator_longhorn_reconcile.go`. The build is green; this is a standing finding, not a failure. ## What is wrong The namespace string literal "longhorn-system" is duplicated in three kubectl invocations (queryLonghornNodes, queryLonghornManagerDaemonSet, and longhornManagerPodsByNode). If the namespace ever changes, all three sites must be found and updated by hand, and a typo in any one of them would silently query the wrong namespace. Ariadne opened no pull request for it: no automated patch was possible for this finding. ## Facts - **gitea** — Define a constant instead of duplicating this literal "longhorn-system" 3 times. (CRITICAL, 6min estimated) (`internal/cluster/orchestrator_longhorn_reconcile.go:136`) ## Suggested fix (not applied) Hermes could not open a pull request for this, so the change below was not written, validated, or pushed anywhere. It is a starting point for whoever picks this up, not a reviewed patch. **`internal/cluster/orchestrator_longhorn_reconcile.go`** — Introduce a package-level constant for the Longhorn namespace and use it at all three kubectl call sites. This satisfies go:S1192 without changing behaviour: the same string is passed to kubectl in every case. Add the constant right after the import block, then replace the literal in each of the three functions. ``` const longhornNamespace = "longhorn-system" // In queryLonghornNodes: out, err := o.kubectl(ctx, 30*time.Second, "-n", longhornNamespace, "get", "nodes.longhorn.io", "-o", "json") // In queryLonghornManagerDaemonSet: out, err := o.kubectl(ctx, 20*time.Second, "-n", longhornNamespace, "get", "daemonset", "longhorn-manager", "-o", "json") // In longhornManagerPodsByNode: args := []string{"-n", longhornNamespace, "get", "pods", "-o", "json"} ``` ## Links - SonarQube finding: https://quality.bstein.dev/project/issues?resolved=false&id=ananke&open=AZ-IckL-1fRfbdzqD-5R - Full evidence bundle and audit trail live in Ariadne at `/api/admin/audit/events`, event types `hermes_autotriage_incident` and `hermes_autotriage_diagnosis`. Filed automatically by Ariadne from a Hermes Agent diagnosis (run [run_1489b12ec924443680a65395bb189271](https://triage.bstein.dev/chat?resume=run_1489b12ec924443680a65395bb189271)). Hermes has no write access to this repository; no files or infrastructure were changed. <!-- hermes-triage job=ananke classification=go:S1192 incident=sonar/ananke/go:S1192/AZ-IckL-1fRfbdzqD-5R -->
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: titan/ananke#215
No description provided.