mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
6055713dfc
This updates Makefile targets to build images using `docker buildx build` to use `ko build` instead. End-to-end tests are accomplished by building and loading the image directly into the KinD cluster via ko. Also: - use GitHub Actions token to push to ghcr.io (setup-ko sets this up for us) - allow forks to push to their forked repo's packages (useful for testing) Signed-off-by: Jason Hall <jason@chainguard.dev> Signed-off-by: Jason Hall <jason@chainguard.dev>
1.4 KiB
1.4 KiB
Developer Instructions
Building and publishing an image locally
First, make sure you install ko
Publishing to your local Docker daemon
Set the KO_DOCKER_REPO
environment variable to ko.local
:
KO_DOCKER_REPO=ko.local
Then build and publish an image:
ko build ./cmd/kyverno --preserve-import-paths
The image will be available locally as ko.local/github.com/kyverno/kyverno/cmd/kyverno
.
Publishing to a local KinD cluster
First, create your KinD cluster:
kind create cluster
Set the KO_DOCKER_REPO
environment variable to kind.local
:
KO_DOCKER_REPO=kind.local
Then build and publish an image:
ko build ./cmd/kyverno --preserve-import-paths
This will build and load the image into your KinD cluster as:
kind.local/github.com/kyverno/kyverno/cmd/kyverno
If you have multiple KinD clusters, or created them with a non-default name, set KIND_CLUSTER_NAME=<your-cluster-name>
.
Publishing to a remote registry
Set the KO_DOCKER_REPO
environment variable to the registry you'd like to push to:
For example:
KO_DOCKER_REPO=gcr.io/my-project/kyverno
KO_DOCKER_REPO=my-dockerhub-user/my-dockerhub-repo
KO_DOCKER_REPO=<ACCOUNTID>.dkr.ecr.<REGION>.amazonaws.com
Then build and publish an image:
ko build ./cmd/kyverno
The output will tell you the image name and digest of the image you just built.