Skip to content

Latest commit

 

History

History
122 lines (81 loc) · 3.68 KB

build.md

File metadata and controls

122 lines (81 loc) · 3.68 KB

Build

Project Layout

Stack Resource

A custom Kubernetes resource (CR) to deploy and maintain a Pulumi stack, based on a program (from a Git repository, a Program resource, or a Flux source), a stack configuration, and other options.

Program Resource

A custom Kubernetes resource to define a Pulumi YAML program.

Workspace Resource

A custom Kubernetes resource (CR) to make workspace pods to serve as an execution environment for Pulumi deployment operation(s), applied to the given program.

Update Resource

A custom Kubernetes resource (CR) to execute a Pulumi deployment operation (e.g pulumi up, pulumi destroy) in the given workspace pod.

The Operator

A managed Kubernetes application that uses controllers to manage Pulumi workloads.

Requirements

Install the following binaries.

Quickly Build

Quickly build the operator to check that it compiles.

This runs a fast build that is dynamically-linked.

make build

Install CRD

Codegen and Install the CRD in your existing Kubernetes cluster.

make codegen install-crds

Build & push to DockerHub and Deploy

Builds a Docker image with a statically-linked binary.

make build-image

Push the built image to DockerHub.

make push-image

If the DockerHub repo is private, create an imagePullSecret named pulumi-kubernetes-operator in the namespace for the operator to use.

This will create a Secret based on your default Docker credentials in $HOME/.docker/config.json.

kubectl create secret generic pulumi-kubernetes-operator --from-file=.dockerconfigjson=$HOME/.docker/config.json --type=kubernetes.io/dockerconfigjson

Deploy the operator into the cluster via KUBECONFIG.

make deploy

Integration Testing

To execute the test suite of Pulumi Stacks against the operator, run the following:

make test

Official Operator SDK Docs