Task · SKT-0143

Disable construct kinds from the first tick with a startup setting

Description

disabled_kinds (control.State.DisabledKinds, internal/control/control.go:54) can only be set through POST /control/kinds (internal/control/http.go:742-770), which needs a running process and a control token. An operator that wants an emission-only deployment, with Synthetic Monitoring (kind synthetic_monitoring) and Fleet Management (kind fleet_management) constructs excluded, has to start the process, wait for the first tick to emit those series and register or provision, then call the API: the first tick has already gone out. Leaving the Fleet credentials empty does not help, because Fleet metrics still emit alloy_* series without them (docs/fleet-management.md:125-131, “Fleet metrics” mode needs no FM API credentials). The kind filter is applied in Runner.constructEnabled (internal/runner/runner.go:1568-1577) reading the control snapshot, so a startup value only has to seed that state before the first tick.

The new startup setting follows the env surface rule in AGENTS.md: a literal get(“LIT”) read in internal/config, declared in .env.example and Compose, covered by TestEnvSurfaceAligned. Its name is chosen at implementation. It must be generic (any registered kind), not specific to SM or Fleet.

Acceptance Criteria

Definition of Done

Implementation Notes

Landed b9a47b2 in loop50 (rc v1.6.0-rc.201). Composed tree 603190b just check and just race green; just gen no drift. DoD #3 just dump not run: no renderer change.

References

View the source file on GitHub