[hermes] ananke: go:S1192 #142

Open
opened 2026-09-21 07:19:23 +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 across three kubectl invocations (queryLonghornNodes, queryLonghornManagerDaemonSet, and longhornManagerPodsByNode), so a rename or typo fix would have to touch every occurrence. Sonar rule go:S1192 asks for a single named constant instead.

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 in all three kubectl calls. This removes the triplicated literal without changing behaviour: the same string is still passed as the -n argument. Add the constant after the import block, then replace each "-n", "longhorn-system" occurrence with "-n", longhornNamespace.

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_042b9c0f7a31476791b5c9daa8d05a51). 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 across three kubectl invocations (queryLonghornNodes, queryLonghornManagerDaemonSet, and longhornManagerPodsByNode), so a rename or typo fix would have to touch every occurrence. Sonar rule go:S1192 asks for a single named constant instead. 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 in all three kubectl calls. This removes the triplicated literal without changing behaviour: the same string is still passed as the -n argument. Add the constant after the import block, then replace each "-n", "longhorn-system" occurrence with "-n", longhornNamespace. ``` 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_042b9c0f7a31476791b5c9daa8d05a51](https://triage.bstein.dev/chat?resume=run_042b9c0f7a31476791b5c9daa8d05a51)). 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#142
No description provided.