Category
Code quality / code smell
Description
BindFlags() in internal/config/config.go:75 registers Cobra flags on a command, but it is never called from production code. The CLI flags are registered directly in cmd/virtwork/main.go via newRunCmd() and newCleanupCmd(). The only caller of BindFlags() is in config_test.go:28.
This creates two problems:
- Flag definitions are duplicated —
main.go and config.go define overlapping flags independently, so they can drift out of sync
BindFlags() gives a false impression that flag registration is centralized when it is not actually used
Severity
Low — cosmetic or minor inconvenience
Affected Files
internal/config/config.go:74-92 — BindFlags() defined but never called from production code
cmd/virtwork/main.go:54-91 — flags registered directly, duplicating what BindFlags does
internal/config/config_test.go:28 — only caller of BindFlags()
Proposed Fix
Either:
- Remove
BindFlags() and update the test to register flags inline, or
- Use
BindFlags() from main.go to centralize flag registration and eliminate the duplication
Option 2 is preferred as it eliminates the flag definition drift risk.
Area
CLI / Configuration
Architecture Layer
Layer 1 - Infrastructure (config, cluster, cloudinit, audit)
Category
Code quality / code smell
Description
BindFlags()ininternal/config/config.go:75registers Cobra flags on a command, but it is never called from production code. The CLI flags are registered directly incmd/virtwork/main.govianewRunCmd()andnewCleanupCmd(). The only caller ofBindFlags()is inconfig_test.go:28.This creates two problems:
main.goandconfig.godefine overlapping flags independently, so they can drift out of syncBindFlags()gives a false impression that flag registration is centralized when it is not actually usedSeverity
Low — cosmetic or minor inconvenience
Affected Files
internal/config/config.go:74-92—BindFlags()defined but never called from production codecmd/virtwork/main.go:54-91— flags registered directly, duplicating whatBindFlagsdoesinternal/config/config_test.go:28— only caller ofBindFlags()Proposed Fix
Either:
BindFlags()and update the test to register flags inline, orBindFlags()frommain.goto centralize flag registration and eliminate the duplicationOption 2 is preferred as it eliminates the flag definition drift risk.
Area
CLI / Configuration
Architecture Layer
Layer 1 - Infrastructure (config, cluster, cloudinit, audit)