mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
docs: add pushing images section (#4452)
Signed-off-by: Charles-Edouard Brétéché <charled.breteche@gmail.com> Signed-off-by: Charles-Edouard Brétéché <charled.breteche@gmail.com>
This commit is contained in:
parent
fc79ca96a2
commit
bfffbeabe5
1 changed files with 125 additions and 0 deletions
125
DEVELOPMENT.md
125
DEVELOPMENT.md
|
@ -10,6 +10,9 @@ It contains instructions to build, run, and test Kyverno.
|
|||
- [Building local images](#building-local-images)
|
||||
- [Building local images with docker](#building-local-images-with-docker)
|
||||
- [Building local images with ko](#building-local-images-with-ko)
|
||||
- [Pushing images](#pushing-images)
|
||||
- [Pushing images with docker](#pushing-images-with-docker)
|
||||
- [Pushing images with ko](#pushing-images-with-ko)
|
||||
|
||||
## Tools
|
||||
|
||||
|
@ -156,6 +159,128 @@ make ko-build-cli
|
|||
|
||||
The resulting image should be available locally, named `ko.local/github.com/kyverno/kyverno/cmd/cli/kubectl-kyverno`.
|
||||
|
||||
## Pushing images
|
||||
|
||||
Pushing images is very similar to [building local images](#building-local-images), except that built images will be published on a remote image registry.
|
||||
|
||||
Currently, we are supporting two build systems:
|
||||
- [Pushing images with docker](#pushing-images-with-docker)
|
||||
- [Pushing images with ko](#pushing-images-with-ko)
|
||||
|
||||
> **Note**: We started with `docker` and are progressively moving to `ko`.
|
||||
|
||||
As the `ko` based build system matures, we will deprecate and remove `docker` based builds.
|
||||
|
||||
When pushing images you can specify the registry you want to publish images to by setting the `REGISTRY` environment variable (default value is `ghcr.io`).
|
||||
|
||||
<!-- TODO: explain the way images are tagged. -->
|
||||
|
||||
### Pushing images with docker
|
||||
|
||||
Authenticating to the remote registry is not done automatically in the `Makefile`.
|
||||
|
||||
You need to be authenticated before invoking targets responsible for pushing images.
|
||||
|
||||
> **Note**: You can push all images at once by running `make docker-publish-all` or `make docker-publish-all-dev`.
|
||||
|
||||
#### Pushing kyvernopre image
|
||||
|
||||
To push `kyvernopre` image on a remote registry, run:
|
||||
```console
|
||||
# push stable image
|
||||
make docker-publish-kyvernopre
|
||||
```
|
||||
or
|
||||
```console
|
||||
# push dev image
|
||||
make docker-publish-kyvernopre-dev
|
||||
```
|
||||
|
||||
The resulting image should be available remotely, named `ghcr.io/kyverno/kyvernopre` (by default, if `REGISTRY` environment variable was not set).
|
||||
|
||||
#### Pushing kyverno image
|
||||
|
||||
To push `kyverno` image on a remote registry, run:
|
||||
```console
|
||||
# push stable image
|
||||
make docker-publish-kyverno
|
||||
```
|
||||
or
|
||||
```console
|
||||
# push dev image
|
||||
make docker-publish-kyverno-dev
|
||||
```
|
||||
|
||||
The resulting image should be available remotely, named `ghcr.io/kyverno/kyverno` (by default, if `REGISTRY` environment variable was not set).
|
||||
|
||||
#### Pushing cli image
|
||||
|
||||
To push `cli` image on a remote registry, run:
|
||||
```console
|
||||
# push stable image
|
||||
make docker-publish-cli
|
||||
```
|
||||
or
|
||||
```console
|
||||
# push dev image
|
||||
make docker-publish-cli-dev
|
||||
```
|
||||
|
||||
The resulting image should be available remotely, named `ghcr.io/kyverno/kyverno-cli` (by default, if `REGISTRY` environment variable was not set).
|
||||
|
||||
### Pushing images with ko
|
||||
|
||||
Authenticating to the remote registry is done automatically in the `Makefile` with `ko login`.
|
||||
|
||||
To allow authentication you will need to set `REGISTRY_USERNAME` and `REGISTRY_PASSWORD` environment variables before invoking targets responsible for pushing images.
|
||||
|
||||
> **Note**: You can push all images at once by running `make ko-publish-all` or `make ko-publish-all-dev`.
|
||||
|
||||
#### Pushing kyvernopre image
|
||||
|
||||
To push `kyvernopre` image on a remote registry, run:
|
||||
```console
|
||||
# push stable image
|
||||
make ko-publish-kyvernopre
|
||||
```
|
||||
or
|
||||
```console
|
||||
# push dev image
|
||||
make ko-publish-kyvernopre-dev
|
||||
```
|
||||
|
||||
The resulting image should be available remotely, named `ghcr.io/kyverno/kyvernopre` (by default, if `REGISTRY` environment variable was not set).
|
||||
|
||||
#### Pushing kyverno image
|
||||
|
||||
To push `kyverno` image on a remote registry, run:
|
||||
```console
|
||||
# push stable image
|
||||
make ko-publish-kyverno
|
||||
```
|
||||
or
|
||||
```console
|
||||
# push dev image
|
||||
make ko-publish-kyverno-dev
|
||||
```
|
||||
|
||||
The resulting image should be available remotely, named `ghcr.io/kyverno/kyverno` (by default, if `REGISTRY` environment variable was not set).
|
||||
|
||||
#### Pushing cli image
|
||||
|
||||
To push `cli` image on a remote registry, run:
|
||||
```console
|
||||
# push stable image
|
||||
make ko-publish-cli
|
||||
```
|
||||
or
|
||||
```console
|
||||
# push dev image
|
||||
make ko-publish-cli-dev
|
||||
```
|
||||
|
||||
The resulting image should be available remotely, named `ghcr.io/kyverno/kyverno-cli` (by default, if `REGISTRY` environment variable was not set).
|
||||
|
||||
## Building and publishing an image locally
|
||||
|
||||
First, make sure you [install `ko`](https://github.com/google/ko#install)
|
||||
|
|
Loading…
Reference in a new issue