DirectorySecurity advisories
Sign in

Directory

pulumi-kubernetes-operator logo

pulumi-kubernetes-operator

Last changed
Sign in for updates

Get notified of upcoming product changes, critical vulnerability notifications and patches and more.

Sign in
Versions
Overview
Provenance
Specifications
SBOM
Vulnerabilities
Advisories

Minimal Pulumi Kubernetes Operator Image

Get It!

The image is available on cgr.dev:

docker pull cgr.dev/chainguard-private/pulumi-kubernetes-operator:latest

Usage

See https://github.com/pulumi/pulumi-kubernetes-operator#using-kubectl

Install the CRDs:

VERSION="1.11.5"
curl -LO "https://github.com/pulumi/pulumi-kubernetes-operator/archive/refs/tags/v${VERSION}.tar.gz"
tar -xvf "v${VERSION}.tar.gz"
kubectl apply -f pulumi-kubernetes-operator-${VERSION}/deploy/crds/

Inject the Chainguard image into the install

IMAGE_NAME="cgr.dev/chainguard-private/pulumi-kubernetes-operator:latest"
cat pulumi-kubernetes-operator-${VERSION}/deploy/yaml/operator.yaml | \
  yq ".spec.template.spec.containers[0].image = \"${IMAGE_NAME}\"" \
  > pulumi-kubernetes-operator-${VERSION}/deploy/yaml/operator.yaml.tmp && \
  mv pulumi-kubernetes-operator-${VERSION}/deploy/yaml/operator.yaml.tmp \
  pulumi-kubernetes-operator-${VERSION}/deploy/yaml/operator.yaml

If you've loaded the image in yourself, modify the imagePullPolicy as well to prevent 403 errors:

cat pulumi-kubernetes-operator-${VERSION}/deploy/yaml/operator.yaml | \
  yq ".spec.template.spec.containers[0].imagePullPolicy = \"IfNotPresent\"" \
  > pulumi-kubernetes-operator-${VERSION}/deploy/yaml/operator.yaml.tmp && \
  mv pulumi-kubernetes-operator-${VERSION}/deploy/yaml/operator.yaml.tmp \
  pulumi-kubernetes-operator-${VERSION}/deploy/yaml/operator.yaml

Deploy the operator:

kubectl apply -f pulumi-kubernetes-operator-${VERSION}/deploy/yaml

Create a Pulumi stack using one of our examples:

# Choose one of: "dotnet" "go" "java" "nodejs" "python" "yaml"
TEST_LANG="yaml"
STACK_NAME="smoketest-${TEST_LANG}-$(date +%s)"
kubectl apply -f - <<EOF
apiVersion: pulumi.com/v1
kind: Stack
metadata:
  name: ${STACK_NAME}
spec:
  stack: ${STACK_NAME}
  projectRepo: https://github.com/chainguard-images/images
  repoDir: images/pulumi/examples/smoketest-${TEST_LANG}
  branch: refs/heads/main
  destroyOnFinalize: true
  backend: file://.
  envRefs:
    PULUMI_CONFIG_PASSPHRASE:
      type: Literal
      literal:
        value: abc123
  config:
    name: ${STACK_NAME}
EOF

Delete the stack:

kubectl delete stack "${STACK_NAME}"
Licenses

Chainguard Images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" version of this image:

  • Apache-2.0

  • BSD-2-Clause

  • BSD-3-Clause

  • FTL

  • GCC-exception-3.1

  • GPL-2.0-only

  • GPL-2.0-or-later

View more

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

Software license agreement

Category
application
tools

Products

Chainguard Images

© 2024 Chainguard, Inc.