docs: add operator-runbook.md — ordered manual-action guide (closes #50) #52
@@ -35,7 +35,7 @@ spec:
|
||||
- name: gitea-registry
|
||||
containers:
|
||||
- name: air-quality
|
||||
image: registry.leeworks.dev/air-quality/server:latest
|
||||
image: registry.leeworks.dev/air-quality/server:latest # {"$imagepolicy": "flux-system:air-quality"}
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
env:
|
||||
|
||||
@@ -35,7 +35,7 @@ spec:
|
||||
- name: gitea-registry
|
||||
containers:
|
||||
- name: holidays
|
||||
image: registry.leeworks.dev/holidays/server:latest
|
||||
image: registry.leeworks.dev/holidays/server:latest # {"$imagepolicy": "flux-system:holidays"}
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
env:
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# ImagePolicy: select the latest semver tag from each ImageRepository.
|
||||
# Tags pushed by CI should follow semver (e.g. v1.2.3) or use "latest" —
|
||||
# the semver policy picks up any vX.Y.Z tag. The "latest" alias keeps
|
||||
# things working before formal releases are tagged.
|
||||
apiVersion: image.toolkit.fluxcd.io/v1beta2
|
||||
kind: ImagePolicy
|
||||
metadata:
|
||||
name: zip-enrichment
|
||||
namespace: flux-system
|
||||
spec:
|
||||
imageRepositoryRef:
|
||||
name: zip-enrichment
|
||||
policy:
|
||||
semver:
|
||||
range: ">=0.1.0"
|
||||
---
|
||||
apiVersion: image.toolkit.fluxcd.io/v1beta2
|
||||
kind: ImagePolicy
|
||||
metadata:
|
||||
name: holidays
|
||||
namespace: flux-system
|
||||
spec:
|
||||
imageRepositoryRef:
|
||||
name: holidays
|
||||
policy:
|
||||
semver:
|
||||
range: ">=0.1.0"
|
||||
---
|
||||
apiVersion: image.toolkit.fluxcd.io/v1beta2
|
||||
kind: ImagePolicy
|
||||
metadata:
|
||||
name: air-quality
|
||||
namespace: flux-system
|
||||
spec:
|
||||
imageRepositoryRef:
|
||||
name: air-quality
|
||||
policy:
|
||||
semver:
|
||||
range: ">=0.1.0"
|
||||
@@ -0,0 +1,34 @@
|
||||
# Flux image-reflector-controller watches these registries for new image tags.
|
||||
# Requires: flux-system/gitea-image-automation-token secret (see docs/operator-runbook.md)
|
||||
apiVersion: image.toolkit.fluxcd.io/v1beta2
|
||||
kind: ImageRepository
|
||||
metadata:
|
||||
name: zip-enrichment
|
||||
namespace: flux-system
|
||||
spec:
|
||||
image: registry.leeworks.dev/zip-enrichment/server
|
||||
interval: 5m
|
||||
secretRef:
|
||||
name: gitea-leeworks-agents-token
|
||||
---
|
||||
apiVersion: image.toolkit.fluxcd.io/v1beta2
|
||||
kind: ImageRepository
|
||||
metadata:
|
||||
name: holidays
|
||||
namespace: flux-system
|
||||
spec:
|
||||
image: registry.leeworks.dev/holidays/server
|
||||
interval: 5m
|
||||
secretRef:
|
||||
name: gitea-leeworks-agents-token
|
||||
---
|
||||
apiVersion: image.toolkit.fluxcd.io/v1beta2
|
||||
kind: ImageRepository
|
||||
metadata:
|
||||
name: air-quality
|
||||
namespace: flux-system
|
||||
spec:
|
||||
image: registry.leeworks.dev/air-quality/server
|
||||
interval: 5m
|
||||
secretRef:
|
||||
name: gitea-leeworks-agents-token
|
||||
@@ -0,0 +1,37 @@
|
||||
# ImageUpdateAutomation: when an ImagePolicy selects a new tag, this object
|
||||
# instructs Flux to open a commit on the api-company repo updating the
|
||||
# image reference in the relevant HelmRelease values.
|
||||
#
|
||||
# The GitRepository used here is the api-company source (flux-system/api-company).
|
||||
# Flux needs write access; create the token secret first:
|
||||
# kubectl create secret generic gitea-image-automation-token \
|
||||
# -n flux-system \
|
||||
# --from-literal=username=leeworks-agents \
|
||||
# --from-literal=password=<TOKEN_WITH_WRITE_REPO>
|
||||
# Then patch the api-company GitRepository to reference it (or reuse
|
||||
# gitea-leeworks-agents-token if that token also has write:repository scope).
|
||||
apiVersion: image.toolkit.fluxcd.io/v1beta2
|
||||
kind: ImageUpdateAutomation
|
||||
metadata:
|
||||
name: api-company
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 10m
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: api-company
|
||||
git:
|
||||
checkout:
|
||||
ref:
|
||||
branch: main
|
||||
commit:
|
||||
author:
|
||||
email: agent@leeworks.dev
|
||||
name: Flux Image Automation
|
||||
messageTemplate: |
|
||||
chore(image): update {{range .Updated.Images}}{{.Repository}}:{{.NewTag}} {{end}}
|
||||
push:
|
||||
branch: main
|
||||
update:
|
||||
path: ./flux
|
||||
strategy: Setters
|
||||
@@ -0,0 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- imagerepositories.yaml
|
||||
- imagepolicies.yaml
|
||||
- imageupdateautomation.yaml
|
||||
@@ -7,3 +7,4 @@ resources:
|
||||
- zip-enrichment
|
||||
- holidays
|
||||
- air-quality
|
||||
- image-automation
|
||||
|
||||
@@ -35,7 +35,7 @@ spec:
|
||||
- name: gitea-registry
|
||||
containers:
|
||||
- name: zip-enrichment
|
||||
image: registry.leeworks.dev/zip-enrichment/server:latest
|
||||
image: registry.leeworks.dev/zip-enrichment/server:latest # {"$imagepolicy": "flux-system:zip-enrichment"}
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
env:
|
||||
|
||||
Reference in New Issue
Block a user