DirectorySecurity AdvisoriesPricing
Sign in
Directory
kustomize-sops logo

kustomize-sops

packaged by Chainguard

Last changed
Request a free trial

Contact our team to test out this image for free. Please also indicate any other images you would like to evaluate.

Tags
Overview
Comparison
Provenance
Specifications
SBOM
Vulnerabilities
Advisories

Chainguard Image for kustomize-sops

KSOPS, or kustomize-SOPS, is a kustomize KRM exec plugin for SOPS encrypted resources. KSOPS can be used to decrypt any Kubernetes resource, but is most commonly used to decrypt encryptedKubernetes Secrets and ConfigMaps. As a kustomize plugin, KSOPS allows you to manage, build, and apply encrypted manifests the same way you manage the rest of your Kubernetes manifests.

Chainguard Images are regularly-updated, minimal container images with low-to-zero CVEs.

Download this Image

This image is available on cgr.dev:

docker pull cgr.dev/ORGANIZATION/kustomize-sops:latest

Be sure to replace the ORGANIZATION placeholder with the name used for your organization's private repository within the Chainguard registry.

Compatibility Notes

Chainguard's kustomize-sops image contains only the minimum set of tools and dependencies needed to function. It is comparable to the official kustomize-sops image..

Getting started

Below is a short guide demonstrating how to:

  • Create and encrypt a sample Kubernetes Secret using sops.
  • Decrypt it using the kustomize-sops image in a Docker container

1. Create a sample Kubernetes Secret

cat <<EOF > secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: test-secret
type: Opaque
data:
  username: YWRtaW4=
  password: MWYyZDFlMmU2N2Rm
EOF

2. Generate an AGE key pair

age-keygen -o age-key.txt

You can also make use of other tools such as gnupg.

3. Create a SOPS configuration

Use an environment variable to capture the public key:

export AGE_PUBLIC_KEY="$(grep -oE 'age1[0-9a-z]+' age-key.txt)"

Then create a .sops.yaml file to instruct SOPS on how to encrypt only data fields:

cat <<EOF > .sops.yaml
creation_rules:
  - unencrypted_regex: "^(apiVersion|metadata|kind|type)$"
    age: "$AGE_PUBLIC_KEY"
EOF

4. Encrypt the Secret

Use SOPS to encrypt the file:

sops -e secret.yaml > secret.enc.yaml

The resulting secret.enc.yaml file will contain encrypted values for username and password.

5. Create a KSOPS manifest

This manifest references the encrypted file so that kustomize-sops (KSOPS) knows how to handle decryption:

cat <<EOF > secret-generator.yaml
apiVersion: viaduct.ai/v1
kind: ksops
metadata:
  name: test-secret-generator
files:
  - ./secret.enc.yaml
EOF

6. Decrypt with kustomize-sops Inside a Docker Container

Replace ORGANIZATION with the appropriate namespace for your image:

docker run --rm \
  -v "$(pwd):/test" \
  -e SOPS_AGE_KEY_FILE=/test/age-key.txt \
  cgr.dev/ORGANIZATION/kustomize-sops:latest \
  /test/secret-generator.yaml > decrypted-secret.yaml

7. Verify the Decrypted File

Compare the newly decrypted file against your original secret.yaml (minus metadata fields):

diff <(yq eval 'del(.metadata)' secret.yaml) <(yq eval 'del(.metadata)' decrypted-secret.yaml)

The decrypted-secret.yaml file will look like the original Secret:

apiVersion: v1
kind: Secret
metadata:
  name: test-secret
type: Opaque
data:
  username: YWRtaW4=
  password: MWYyZDFlMmU2N2Rm

Documentation and Resources

For more information, you can refer to the official kustomize-sops documentation.

Contact Support

If you have a Zendesk account (typically set up for you by your Customer Success Manager) you can reach out to Chainguard's Customer Success team through our Zendesk portal.

What are Chainguard Images?

Chainguard Images are a collection of container images designed for security and minimalism.

Many Chainguard Images are distroless; they contain only an open-source application and its runtime dependencies. These images do not even contain a shell or package manager. Chainguard Images are built with Wolfi, our Linux undistro designed to produce container images that meet the requirements of a secure software supply chain.

The main features of Chainguard Images include:

-dev Variants

As mentioned previously, Chainguard’s distroless Images have no shell or package manager by default. This is great for security, but sometimes you need these things, especially in builder images. For those cases, most (but not all) Chainguard Images come paired with a -dev variant which does include a shell and package manager.

Although the -dev image variants have similar security features as their distroless versions, such as complete SBOMs and signatures, they feature additional software that is typically not necessary in production environments. The general recommendation is to use the -dev variants only to build the application and then copy all application artifacts into a distroless image, which will result in a final container image that has a minimal attack surface and won’t allow package installations or logins.

That being said, it’s worth noting that -dev variants of Chainguard Images are completely fine to run in production environments. After all, the -dev variants are still more secure than many popular container images based on fully-featured operating systems such as Debian and Ubuntu since they carry less software, follow a more frequent patch cadence, and offer attestations for what they include.

Learn More

To better understand how to work with Chainguard Images, we encourage you to visit Chainguard Academy, our documentation and education platform.

Licenses

Chainguard's container images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" tag of this image:

  • Apache-2.0

  • BSD-3-Clause

  • MIT

  • MPL-2.0

  • OLDAP-2.8

  • blessing

For a complete list of licenses, please refer to this Image's SBOM.

Software license agreement

Compliance

Chainguard Containers are SLSA Level 3 compliant with detailed metadata and documentation about how it was built. We generate build provenance and a Software Bill of Materials (SBOM) for each release, with complete visibility into the software supply chain.

SLSA compliance at Chainguard

This image helps reduce time and effort in establishing PCI DSS 4.0 compliance with low-to-no CVEs.

PCI DSS at Chainguard

Category
Application

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.