/
DirectorySecurity AdvisoriesPricing
Sign in
Directory
crossplane-gcp-dns logo

crossplane-gcp-dns

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 Container for crossplane-gcp

Crossplane GCP Providers deliver Kubernetes-native APIs for provisioning and managing Google Cloud resources through Crossplane.

Chainguard Containers are regularly-updated, secure-by-default container images.

Download this Container Image

For those with access, this container image is available on cgr.dev:

docker pull cgr.dev/ORGANIZATION/crossplane-gcp: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 Crossplane GCP providers are comparable to upstream GCP providers with the following architectural differences:

  • Upstream providers can be deployed independently and automatically resolve their dependencies
  • Chainguard providers require manual installation of the family provider and use skipDependencyResolution: true for component providers to prevent automatic upstream dependency resolution
  • Deployment pattern: Install the Chainguard family provider first, then add individual component providers as needed
  • Functionality: Provides equivalent GCP resource management capabilities with this modified deployment approach

Getting Started

Using the GCP Family Provider

For comprehensive GCP resource management, install the family provider that includes all GCP services:

apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-family-gcp
spec:
  package: cgr.dev/ORGANIZATION/crossplane-gcp-provider-family:latest

Using Individual Component Providers

For targeted deployments, install specific component providers alongside the family provider. Use skipDependencyResolution: true to prevent default upstream family provider installation:

apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-gcp-storage
spec:
  package: cgr.dev/ORGANIZATION/crossplane-gcp-storage:latest
  skipDependencyResolution: true
---
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-gcp-gke
spec:
  package: cgr.dev/ORGANIZATION/crossplane-gcp-gke:latest
  skipDependencyResolution: true

Configuration

After installing your desired providers, configure GCP credentials using a ProviderConfig:

# Create service account key secret
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: gcp-secret
  namespace: crossplane-system
type: Opaque
stringData:
  creds: |
    $(cat /path/to/service-account-key.json)
EOF

# Create ProviderConfig
cat <<EOF | kubectl apply -f -
apiVersion: gcp.m.upbound.io/v1beta1
kind: ClusterProviderConfig
metadata:
  name: default
spec:
  projectID: <your-project-id>
  credentials:
    source: Secret
    secretRef:
      namespace: crossplane-system
      name: gcp-secret
      key: creds
EOF

Once configured, you can create GCP resources. Example Cloud Storage bucket creation:

apiVersion: storage.gcp.m.upbound.io/v1beta1
kind: Bucket
metadata:
  name: my-secure-bucket
spec:
  forProvider:
    location: US-CENTRAL1
    project: your-project-id
  providerConfigRef:
    name: default

Available Images

Upstream ImageChainguard Image

ghcr.io/crossplane-contrib/provider-family-gcp

cgr.dev/ORGANIZATION/crossplane-gcp-provider-family

ghcr.io/crossplane-contrib/provider-gcp-compute

cgr.dev/ORGANIZATION/crossplane-gcp-compute

ghcr.io/crossplane-contrib/provider-gcp-cloudplatform

cgr.dev/ORGANIZATION/crossplane-gcp-cloudplatform

ghcr.io/crossplane-contrib/provider-gcp-container

cgr.dev/ORGANIZATION/crossplane-gcp-container

ghcr.io/crossplane-contrib/provider-gcp-dns

cgr.dev/ORGANIZATION/crossplane-gcp-dns

ghcr.io/crossplane-contrib/provider-gcp-kms

cgr.dev/ORGANIZATION/crossplane-gcp-kms

ghcr.io/crossplane-contrib/provider-gcp-pubsub

cgr.dev/ORGANIZATION/crossplane-gcp-pubsub

ghcr.io/crossplane-contrib/provider-gcp-storage

cgr.dev/ORGANIZATION/crossplane-gcp-storage

What are Chainguard Containers?

Chainguard Containers are minimal container images that are secure by default.

In many cases, the Chainguard Containers tagged as :latest contain only an open-source application and its runtime dependencies. These minimal container images typically do not contain a shell or package manager. Chainguard Containers are built with Wolfi, our Linux undistro designed to produce container images that meet the requirements of a more secure software supply chain.

The main features of Chainguard Containers include:

For cases where you need container images with shells and package managers to build or debug, most Chainguard Containers come paired with a -dev variant.

Although the -dev container image variants have similar security features as their more minimal versions, they feature additional software that is typically not necessary in production environments. We recommend using multi-stage builds to leverage the -dev variants, copying application artifacts into a final minimal container that offers a reduced attack surface that won’t allow package installations or logins.

Learn More

To better understand how to work with Chainguard Containers, please visit Chainguard Academy and Chainguard Courses.

In addition to Containers, Chainguard offers VMs and Libraries. Contact Chainguard to access additional products.

Trademarks

This software listing is packaged by Chainguard. The trademarks set forth in this offering are owned by their respective companies, and use of them does not imply any affiliation, sponsorship, or endorsement by such companies.

Licenses

Chainguard 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

  • LGPL-2.1-or-later

  • MIT

  • MPL-2.0

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

Software license agreement

Category
application

Safe Source for Open Source™
Contact us
© 2025 Chainguard. All Rights Reserved.
Private PolicyTerms of Use

Product

Chainguard ContainersChainguard LibrariesChainguard VMsIntegrationsPricing