Overview
If your workloads use images from private container registries, Niro can store your credentials and automatically inject them asimagePullSecrets into generated manifests.
Credentials are encrypted at rest and are never returned in plaintext after saving.
Supported registries
Niro works with any container registry that accepts Docker-style credentials:Adding a registry
Go to Registries in the sidebar and click Add registry.
Click Save. Niro verifies the credentials by attempting to authenticate with the registry before saving.
Using registry credentials in the builder
When creating a deployment with the Visual Builder, select a registry credential from the Registry dropdown in the Workload section. Niro will:- Inject the credential as a Kubernetes
Secretof typekubernetes.io/dockerconfigjsoninto the generated manifests - Add the
imagePullSecretreference to the Deployment’s pod spec
Using registry credentials in GitOps
For GitOps deployments, Niro injectsimagePullSecrets into the manifests it posts to GitHub. The registry credentials are resolved at manifest generation time based on the registry hostname in the image reference.
If a manifest in your repo already has imagePullSecrets, Niro respects them and doesn’t override.
Rotating credentials
To rotate a registry credential:- Go to Registries and click the credential to edit
- Enter the new password/token
- Save — Niro verifies the new credentials before overwriting
Policy detection
If a manifest references a known-private registry without animagePullSecret, the public-image-no-credential policy rule fires at:
- Build time — inline warning in the visual builder
- Merge time — PR comment on the relevant manifest file
- Runtime — finding on the live pod state (if the pod is actually crashing due to pull errors, a separate
ImagePullBackOffincident also fires)
Related
- Visual Builder — using the registry picker in the deployment form
- Policies —
public-image-no-credentialrule and other standards checks - Plans — registry storage is available on all plans