docs: add operator-runbook.md — ordered manual-action guide (closes #50) #52

Merged
AI-Manager merged 2 commits from feature/operator-runbook-50 into main 2026-05-26 20:46:01 +00:00
8 changed files with 120 additions and 3 deletions
Showing only changes of commit 82c9f70a01 - Show all commits
+1 -1
View File
@@ -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:
+1 -1
View File
@@ -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:
+39
View File
@@ -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
+6
View File
@@ -0,0 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- imagerepositories.yaml
- imagepolicies.yaml
- imageupdateautomation.yaml
+1
View File
@@ -7,3 +7,4 @@ resources:
- zip-enrichment
- holidays
- air-quality
- image-automation
+1 -1
View File
@@ -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: