You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enterprise Image Factory credentials are presented as a "username" and "password" — shared-credential semantics, with the secret handled like a human login. Enterprise customers expect API-key semantics: a per-customer identifier plus a revocable secret.
The original driver for this ticket — plaintext credentials embedded in the download/boot URLs of the install-media dialog — is now owned elsewhere: image download URLs are replaced by signed download tokens (#3138, mechanism shipped in siderolabs/image-factory#509), and security artifacts (SBOM/VEX/scan reports) will be served through Omni server-side so factory credentials never reach the browser (#3166).
What neither of those covers is the credential the customer holds and uses outside Omni:
The cluster create command on the install-media confirmation screen renders --image-factory-auth='username:password' — the local cluster pulls the installer from the factory and must authenticate to it.
The installer image in the machine config is pulled from the enterprise factory's registry, so machines authenticate with registry credentials.
Self-hosted Omni is itself configured with factory credentials (registries.factories.primary).
These need a durable credential — a short-lived link can't serve them. The question this ticket answers is what shape that credential takes and how it is presented.
The shape is already half-decided: the factory accepts Auth0 bearer tokens in the Basic auth password field (siderolabs/image-factory#514), because OCI and Talos registry clients only speak Basic. So what a customer holds is an identifier plus a token — customer ID + API key. The rename describes what the credential now actually is.
Solution
Rename throughout the enterprise UI: "username" → customer ID, "password" → API key.
Align rotation language with the Auth0 model: revocation/rotation happens on the identity side; when Omni's own factory credential rotates, Omni reconciles the change out to machine configs.
Problem Description
Enterprise Image Factory credentials are presented as a "username" and "password" — shared-credential semantics, with the secret handled like a human login. Enterprise customers expect API-key semantics: a per-customer identifier plus a revocable secret.
The original driver for this ticket — plaintext credentials embedded in the download/boot URLs of the install-media dialog — is now owned elsewhere: image download URLs are replaced by signed download tokens (#3138, mechanism shipped in siderolabs/image-factory#509), and security artifacts (SBOM/VEX/scan reports) will be served through Omni server-side so factory credentials never reach the browser (#3166).
What neither of those covers is the credential the customer holds and uses outside Omni:
--image-factory-auth='username:password'— the local cluster pulls the installer from the factory and must authenticate to it.registries.factories.primary).These need a durable credential — a short-lived link can't serve them. The question this ticket answers is what shape that credential takes and how it is presented.
The shape is already half-decided: the factory accepts Auth0 bearer tokens in the Basic auth password field (siderolabs/image-factory#514), because OCI and Talos registry clients only speak Basic. So what a customer holds is an identifier plus a token — customer ID + API key. The rename describes what the credential now actually is.
Solution
Out of scope
Notes
useResolvedFactory— the code the rename lands in), feat: add auth0 bearer token authentication image-factory#514 (tokens in the Basic password field).