The minimum controller version every box auto-updates to (unless a per-customer override is set). Saving takes effect immediately — boxes below the floor update on their next report, no customer action. Blank = no global floor. This setting is independent of the Day-0 artifact manifest below.
Effective floor:
{{if .FloorRes.Effective}}v{{.FloorRes.Effective}}{{else}}none{{end}}
{{if eq .FloorRes.Source "db"}}
— source: DB (hub_settings){{if .FloorRes.EnvValue}}; env fallback would be v{{.FloorRes.EnvValue}}{{end}}
{{else if eq .FloorRes.Source "env"}}
— source: env fallback (DEFAULT_MIN_CONTROLLER_VERSION); no DB override set
{{else}}
— no floor from either source
{{end}}
The current agent binary + golden archive the host-bootstrap script fetches from Gitea and verifies (sha256) before installing. The hub vouches for these checksums (a different trust root than Gitea). Pick a version — the sha256 is read from Gitea automatically (no manual copy). Choose — none — to clear an artifact.
The password for signing in to this hub UI. Changing it takes effect immediately
for the next sign-in — your current session stays logged in. Enter your current password to confirm.
If you ever lose it, the deployment ConfigMap (auth.password_hash) remains the reset path.
App logos and screenshots served to controllers. Assets are seeded from the Docker image and synced to controllers daily via the asset manifest API.
Re-reads the baked-in asset seed directory and updates changed files. Controllers will pick up changes on their next daily sync or manual trigger.