Guardener Container Image Migration
Configure Guardener to open a pull request that replaces the container images a repository already uses with Chainguard …
For the complete documentation index, see llms.txt.
Chainguard Catalog Starter is a way to try production-grade Chainguard Containers for free, without committing to a full subscription. It lets you choose a set of five container images from the broader Chainguard catalog so you can validate security, performance, and operational fit in your own environment before you buy.
Note: Chainguard Catalog Starter is in beta.
To sign up for Catalog Starter, follow the steps on this page. Once set up, you can start piloting up to five secure container images from the Chainguard catalog.
With Chainguard Catalog Starter, users can choose any five non-FIPS images from our catalog of secure-by-default containers. Any Helm charts that depend on those images are included and count toward the five-image limit.
Catalog Starter is designed as a standalone free plan, separate from paid Catalog or per-image subscriptions. It’s meant for teams who want to try Chainguard Containers in real workloads before committing to a larger rollout, giving them a better understanding of how Chainguard’s hardened images and CVE posture behave in practice.
Note: Catalog Starter is best suited for small teams to get them started right away. When you are ready to standardize on Chainguard and deploy organization-wide, we have several paid plans that provide unlimited user access to the Chainguard Containers and additional features like Custom Assembly, FIPS images, EOL/EmeritOSS image versions, a contractual CVE-remediation SLA, and dedicated support.
Once you’ve added all five images, a prompt directs you to contact Chainguard if you need access to additional images.
After you complete signup, you’re free to use the five images you selected however you like. For example, you can pull them into your CI/CD pipelines and runtime environments, or pull them through a third-party registry like JFrog Artifactory. These container images are the same as those provided to Chainguard’s paying customers, and are covered by Chainguard’s standard hardening, rebuild, and CVE-remediation processes, although they are not covered by Chainguard’s CVE SLA.
Because Catalog Starter organizations can’t create assumable identities, CI pipelines authenticate with a pull token. Create one with chainctl:
chainctl auth pull-token create --output=envThis sets CHAINGUARD_IDENTITY_ID to the username and CHAINGUARD_TOKEN to the password. Store both as secrets in your CI platform, then log in to cgr.dev with them. For example, in a GitHub Actions workflow:
name: Pull a Chainguard container
on:
push:
branches: ['main']
permissions:
contents: read
jobs:
pull:
runs-on: ubuntu-latest
steps:
- name: Log in to cgr.dev
env:
CHAINGUARD_IDENTITY_ID: ${{ secrets.CHAINGUARD_IDENTITY_ID }}
CHAINGUARD_TOKEN: ${{ secrets.CHAINGUARD_TOKEN }}
run: |
echo "$CHAINGUARD_TOKEN" | docker login cgr.dev \
--username "$CHAINGUARD_IDENTITY_ID" --password-stdin
- run: docker pull cgr.dev/$ORGANIZATION/python:latestThis workflow doesn’t need the id-token: write permission, because it federates no OIDC token.
Pull tokens expire. The default lifetime is 30 days and the maximum is one year (--ttl=8760h), so rotate the secret before it expires. Refer to Authenticate to Chainguard’s Registry for the rest of the pull token options.
After trying out Chainguard Containers with Catalog Starter, you can reach out to our sales team to upgrade to one of Chainguard’s paid plans:
Moving to a paid plan means moving off Catalog Starter; the free five-image entitlement is not stacked on top of a paid subscription.
chainctl
As an alternative to the Console, you can sign up for and manage Catalog Starter from the command line with chainctl.
chainctl
To sign up for a new account, run the interactive chainctl starter init command:
chainctl starter initThis requires selection of a valid authentication option:
Choose an identity provider to login to Chainguard
> Email and password
Google
GitHub
GitLabUse the arrow keys and press Enter to select an option, which launches a browser window to the Chainguard Console to complete sign-up. A GitHub sign-in must use your GitHub account’s verified primary email address, and that address must be a business email address.
chainctl
If your organization already has a Catalog Starter plan, request access to it with chainctl starter request-access:
chainctl starter request-accesschainctl
You can see which images are available using the Chainguard Directory. To add one or more images, run chainctl starter add-images, substituting the desired image names for the variables:
chainctl starter add-images $IMAGE1 [$IMAGE2] ... [$IMAGE4]After the Chainguard system has processed your request, the images become accessible. This can take up to a few hours. When available, you can pull the images like this, replacing $ORGANIZATION with your organization’s name and $IMAGE with the desired image’s name:
docker pull cgr.dev/$ORGANIZATION/$IMAGE:latestchainctl
To show the status of your Catalog Starter organization, including the registry path, account provisioning status, image quota usage, and per-image readiness, run chainctl starter status:
chainctl starter statusCatalog Starter allows users to try out Chainguard Containers, but it comes with certain limitations, including the following:
limited_owner role, which lets them browse the Console, pull images, create pull tokens, invite colleagues whose email address is in your organization’s domain or one of its subdomains, and remove members. It doesn’t include access to features like Custom Assembly.starter organizations are not allowed to create identities.setup-chainctl GitHub Action doesn’t work with Catalog Starter. It authenticates by assuming a Chainguard identity with the OIDC token GitHub issues to the workflow, and it has no pull token mode. The same applies to the OIDC federation examples for GitLab, CircleCI, Buildkite, Jenkins, and Kubernetes. Authenticate your pipelines with a pull token instead, as described in Authenticate CI pipelines with a pull token.chainctl iam identity delete fails, because the limited_owner role can’t delete identities. To revoke a token, delete its role binding instead: run chainctl iam role-bindings list to find the binding, then chainctl iam role-bindings delete <role-binding-id>. This removes the token’s access, although the identity itself remains in the list.No. Once you’ve selected your five images under Catalog Starter, that selection is fixed for the life of the free plan and cannot be swapped or replaced.
If you anticipate needing different images over time, we recommend talking to our team about Catalog Pricing or per-image licensing.
No. FIPS images and Chainguard Commercial Builds are not included in the Catalog Starter plan.
If you require FIPS-validated images or dedicated commercial build work, you’ll need a paid plan that includes those capabilities.
No. The setup-chainctl action federates a GitHub OIDC token into a Chainguard assumable identity, and Catalog Starter organizations can’t create assumable identities. Log in to cgr.dev with a pull token instead, as described in Authenticate CI pipelines with a pull token.
Yes. Everyone in a Catalog Starter organization uses the same five images, and no one can swap them.
Anyone with the limited_owner role can invite a colleague whose email address is in the organization’s domain or one of its subdomains. The viewer role is enough to pull images. Replace $ORGANIZATION with your organization’s name and $EMAIL with your colleague’s email address:
chainctl iam invite create $ORGANIZATION --role viewer --email $EMAILTo let your colleague invite others too, use --role limited_owner instead. That role also manages your organization’s billing.
If a Catalog Starter organization already exists for your email domain, you can also ask to join it. In the Console, click Request access, or run chainctl starter request-access. The request goes by email to everyone with the owner or limited_owner role in the organization. The link in that email invites you with the viewer role.
No. Catalog Starter is a distinct, standalone free plan meant for new organizations. It can’t be combined with existing licenses or used to “carve out” a subset of images from a current subscription.
If you try to sign up using an email domain already associated with a paid Chainguard account, you’ll receive an error message. Contact your Chainguard account administrator for access to your organization’s existing account.
No. Catalog Starter is not a discount instrument for larger deployments. You can’t, for example, license 10 images but expect to pay for only five by applying this plan to the rest.
If you know you’ll need more than five images, it’s usually better to start with Catalog Pricing or per-image licensing so you can scale cleanly.
You can sign up with a Google account on your company’s domain, such as a Google Workspace account. A personal Google account, such as a Gmail address, doesn’t qualify, because Catalog Starter requires a business email address.
The Console’s sign-up page doesn’t offer GitHub. To sign up with GitHub, run chainctl starter init, as described in Sign up with chainctl. Your GitHub account’s verified primary email address must be a business email address.
When you upgrade:
Our team will work with you to map your existing Catalog Starter images into the right long-term structure.
Last updated: 2026-10-29 19:22
chainctl