mirror of
https://github.com/fluxcd/flux2.git
synced 2026-02-19 22:21:46 +00:00
Update image automation guide to v1alpha2 APIs
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
parent
4f66da84d6
commit
fb3a434f95
1 changed files with 47 additions and 43 deletions
|
|
@ -138,7 +138,7 @@ flux create image repository podinfo \
|
||||||
The above command generates the following manifest:
|
The above command generates the following manifest:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: image.toolkit.fluxcd.io/v1alpha1
|
apiVersion: image.toolkit.fluxcd.io/v1alpha2
|
||||||
kind: ImageRepository
|
kind: ImageRepository
|
||||||
metadata:
|
metadata:
|
||||||
name: podinfo
|
name: podinfo
|
||||||
|
|
@ -177,7 +177,7 @@ flux create image policy podinfo \
|
||||||
The above command generates the following manifest:
|
The above command generates the following manifest:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: image.toolkit.fluxcd.io/v1alpha1
|
apiVersion: image.toolkit.fluxcd.io/v1alpha2
|
||||||
kind: ImagePolicy
|
kind: ImagePolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: podinfo
|
name: podinfo
|
||||||
|
|
@ -258,23 +258,27 @@ flux create image update flux-system \
|
||||||
The above command generates the following manifest:
|
The above command generates the following manifest:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: image.toolkit.fluxcd.io/v1alpha1
|
apiVersion: image.toolkit.fluxcd.io/v1alpha2
|
||||||
kind: ImageUpdateAutomation
|
kind: ImageUpdateAutomation
|
||||||
metadata:
|
metadata:
|
||||||
name: flux-system
|
name: flux-system
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
checkout:
|
|
||||||
branch: main
|
|
||||||
gitRepositoryRef:
|
|
||||||
name: flux-system
|
|
||||||
commit:
|
|
||||||
authorEmail: fluxcdbot@users.noreply.github.com
|
|
||||||
authorName: fluxcdbot
|
|
||||||
messageTemplate: '{{range .Updated.Images}}{{println .}}{{end}}'
|
|
||||||
interval: 1m0s
|
interval: 1m0s
|
||||||
push:
|
sourceRef:
|
||||||
branch: main
|
kind: GitRepository
|
||||||
|
name: flux-system
|
||||||
|
git:
|
||||||
|
checkout:
|
||||||
|
ref:
|
||||||
|
branch: main
|
||||||
|
commit:
|
||||||
|
author:
|
||||||
|
email: fluxcdbot@users.noreply.github.com
|
||||||
|
name: fluxcdbot
|
||||||
|
messageTemplate: '{{range .Updated.Images}}{{println .}}{{end}}'
|
||||||
|
push:
|
||||||
|
branch: main
|
||||||
update:
|
update:
|
||||||
path: ./clusters/my-cluster
|
path: ./clusters/my-cluster
|
||||||
strategy: Setters
|
strategy: Setters
|
||||||
|
|
@ -387,21 +391,20 @@ images:
|
||||||
|
|
||||||
## Push updates to a different branch
|
## Push updates to a different branch
|
||||||
|
|
||||||
With `.spec.push.branch` you can configure Flux to push the image updates to different branch
|
With `.spec.git.push.branch` you can configure Flux to push the image updates to different branch
|
||||||
than the one used for checkout. If the specified branch doesn't exist, Flux will create it for you.
|
than the one used for checkout. If the specified branch doesn't exist, Flux will create it for you.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: image.toolkit.fluxcd.io/v1alpha1
|
|
||||||
kind: ImageUpdateAutomation
|
kind: ImageUpdateAutomation
|
||||||
metadata:
|
metadata:
|
||||||
name: flux-system
|
name: flux-system
|
||||||
spec:
|
spec:
|
||||||
checkout:
|
git:
|
||||||
branch: main
|
checkout:
|
||||||
gitRepositoryRef:
|
ref:
|
||||||
name: flux-system
|
branch: main
|
||||||
push:
|
push:
|
||||||
branch: image-updates
|
branch: flux-image-updates
|
||||||
```
|
```
|
||||||
|
|
||||||
You can use CI automation e.g. GitHub Actions such as
|
You can use CI automation e.g. GitHub Actions such as
|
||||||
|
|
@ -412,39 +415,40 @@ This way you can manually approve the image updates before they are applied on y
|
||||||
|
|
||||||
## Configure the commit message
|
## Configure the commit message
|
||||||
|
|
||||||
The `.spec.commit.messageTemplate` field is a string which is used as a template for the commit message.
|
The `.spec.git.commit.messageTemplate` field is a string which is used as a template for the commit message.
|
||||||
|
|
||||||
The message template is a [Go text template](https://golang.org/pkg/text/template/) that
|
The message template is a [Go text template](https://golang.org/pkg/text/template/) that
|
||||||
lets you range over the objects and images e.g.:
|
lets you range over the objects and images e.g.:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
apiVersion: image.toolkit.fluxcd.io/v1alpha1
|
|
||||||
kind: ImageUpdateAutomation
|
kind: ImageUpdateAutomation
|
||||||
metadata:
|
metadata:
|
||||||
name: flux-system
|
name: flux-system
|
||||||
spec:
|
spec:
|
||||||
commit:
|
git:
|
||||||
messageTemplate: |
|
commit:
|
||||||
Automated image update
|
messageTemplate: |
|
||||||
|
Automated image update
|
||||||
|
|
||||||
Automation name: {{ .AutomationObject }}
|
Automation name: {{ .AutomationObject }}
|
||||||
|
|
||||||
Files:
|
Files:
|
||||||
{{ range $filename, $_ := .Updated.Files -}}
|
{{ range $filename, $_ := .Updated.Files -}}
|
||||||
- {{ $filename }}
|
- {{ $filename }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
Objects:
|
Objects:
|
||||||
{{ range $resource, $_ := .Updated.Objects -}}
|
{{ range $resource, $_ := .Updated.Objects -}}
|
||||||
- {{ $resource.Kind }} {{ $resource.Name }}
|
- {{ $resource.Kind }} {{ $resource.Name }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
Images:
|
Images:
|
||||||
{{ range .Updated.Images -}}
|
{{ range .Updated.Images -}}
|
||||||
- {{.}}
|
- {{.}}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
authorEmail: flux@example.com
|
author:
|
||||||
authorName: flux
|
email: fluxcdbot@users.noreply.github.com
|
||||||
|
name: fluxcdbot
|
||||||
```
|
```
|
||||||
|
|
||||||
## Trigger image updates with webhooks
|
## Trigger image updates with webhooks
|
||||||
|
|
@ -884,7 +888,7 @@ Create a directory in your control repository and save this `kustomization.yaml`
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- git@github.com/fluxcd/flux2//manifests/integrations/registry-credentials-sync/azure
|
- https://github.com/fluxcd/flux2/manifests/integrations/registry-credentials-sync/azure?ref=main
|
||||||
patchesStrategicMerge:
|
patchesStrategicMerge:
|
||||||
- config-patches.yaml
|
- config-patches.yaml
|
||||||
```
|
```
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue