Claim Machinery API
OCI kustomize-based app using OCIRepository + Flux Kustomization with Gateway API HTTPRoute.
Deployment
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: flux-apps
namespace: flux-system
spec:
interval: 1m0s
ref:
tag: v1.0.0
url: https://github.com/stuttgart-things/flux.git
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: claim-machinery-api
namespace: flux-system
spec:
interval: 1h
retryInterval: 1m
timeout: 5m
sourceRef:
kind: GitRepository
name: flux-apps
path: ./apps/claim-machinery-api
prune: true
wait: true
postBuild:
substitute:
CLAIM_MACHINERY_API_NAMESPACE: claim-machinery
CLAIM_MACHINERY_API_VERSION: v0.5.6
GATEWAY_NAME: cilium-gateway
GATEWAY_NAMESPACE: default
HOSTNAME: claim-api
DOMAIN: example.sthings-vsphere.labul.sva.de
Variables
| Variable | Default | Description |
|---|---|---|
CLAIM_MACHINERY_API_NAMESPACE |
claim-machinery |
Target namespace |
CLAIM_MACHINERY_API_VERSION |
v0.5.6 |
OCI tag + container image tag |
GATEWAY_NAME |
(required) | Gateway parentRef name |
GATEWAY_NAMESPACE |
default |
Gateway parentRef namespace |
HOSTNAME |
(required) | HTTPRoute hostname prefix |
DOMAIN |
(required) | HTTPRoute domain suffix |
How It Works
Two-layer Flux reconciliation:
- Outer Kustomization reads
./apps/claim-machinery-apifrom the GitRepository, substitutes variables, and creates the Namespace + OCIRepository + inner Kustomization + HTTPRoute - Inner Kustomization (
release.yaml) reconciles the OCI kustomize base fromghcr.io/stuttgart-things/claim-machinery-api-kustomize, patches out the Ingress (replaced by HTTPRoute), overrides the container image tag, and applies the resulting manifests
Notes
- This is the only app using the OCIRepository pattern
- Uses Gateway API HTTPRoute instead of Ingress