Or use the installation manifest and apply with kubectl apply -f examples/install.yaml.
Developing
Code generation (after changing config):
go run cmd/generator/main.go "$PWD"
Run locally (out-of-cluster):
make run
Build and test:
make build
make test
Build for both linux/amd64 and linux/arm64 (e.g. for clusters that need amd64; default make build on Mac only produces the host’s arch):
VERSION=v0.0.0 make build.multiarch.linux
The Makefile runs binfmt.install first so QEMU is available for cross-arch Docker builds (e.g. amd64 on arm64). If that step fails (e.g. no --privileged docker), run manually: docker run --privileged --rm tonistiigi/binfmt --install all
Build and push multiarch package to ghcr.io (requires docker login ghcr.io):
VERSION=v0.0.0 make push.multiarch
Tunnel (TrustTunnelCloudflared) – This resource uses the Terraform Plugin Framework async connector and requires the provider image to include the Terraform provider binary. Build and push the terraform-external image:
VERSION=v0.0.2 make build.terraform-external.multiarch.linux
VERSION=v0.0.2 make push.terraform-external.multiarch
Use that tag (e.g. v0.0.2) in your cluster; the default make push.multiarch image is native (no Terraform binary) and will report "cannot retrieve framework provider" for Tunnel.