Moves the static ftp-scanner-config ConfigMap out of ftp-scanner.yaml into a configMapGenerator in kustomization.yaml. Values are unchanged (PASV_ADDRESS=10.2.99.82, ports 21100-21104, scanner, uid/gid 1000).
Why
The content-hash name suffix is kept on purpose. vsftpd templates pasv_address from PASV_ADDRESS at container start, so a changed value must roll the pod. With the hash suffix, editing any value renames the generated ConfigMap -> mutates the Deployment pod template -> automatic rolling restart. Without it, an LB re-allocation would silently leave the pod advertising a stale PASV address, breaking classic-PASV clients (older Brother scanners) while EPSV clients keep working.
Validated
kubectl kustomize renders the generator as ftp-scanner-config-6d2597bt4d and rewrites the Deployment's envFrom.configMapRef.name to match — no dangling reference.
PASV_ADDRESS=10.2.99.82 matches the live ftp-scanner LoadBalancer IP.
On apply
Flux renders the new hashed CM; the Deployment rolls once to pick up the reference (identical values, so a no-op beyond the roll); the old static ftp-scanner-config CM is pruned as it's no longer in the rendered output.
Moves the static `ftp-scanner-config` ConfigMap out of `ftp-scanner.yaml` into a `configMapGenerator` in `kustomization.yaml`. **Values are unchanged** (`PASV_ADDRESS=10.2.99.82`, ports `21100-21104`, `scanner`, uid/gid `1000`).
## Why
The content-hash name suffix is kept on purpose. vsftpd templates `pasv_address` from `PASV_ADDRESS` at container start, so a changed value must roll the pod. With the hash suffix, editing any value renames the generated ConfigMap -> mutates the Deployment pod template -> automatic rolling restart. Without it, an LB re-allocation would silently leave the pod advertising a stale PASV address, breaking classic-PASV clients (older Brother scanners) while EPSV clients keep working.
## Validated
- `kubectl kustomize` renders the generator as `ftp-scanner-config-6d2597bt4d` and rewrites the Deployment's `envFrom.configMapRef.name` to match — no dangling reference.
- `PASV_ADDRESS=10.2.99.82` matches the live `ftp-scanner` LoadBalancer IP.
## On apply
Flux renders the new hashed CM; the Deployment rolls once to pick up the reference (identical values, so a no-op beyond the roll); the old static `ftp-scanner-config` CM is pruned as it's no longer in the rendered output.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Moves the static ftp-scanner-config ConfigMap out of ftp-scanner.yaml
into a configMapGenerator in kustomization.yaml. Values are unchanged
(PASV_ADDRESS=10.2.99.82, ports 21100-21104, scanner, uid/gid 1000).
The content-hash name suffix is kept on purpose: vsftpd templates
pasv_address from PASV_ADDRESS at container start, so a changed value
must roll the pod. With the hash suffix, editing any value renames the
generated ConfigMap, mutates the Deployment pod template, and triggers
an automatic rolling restart. Without it, an IP change (e.g. an LB
re-allocation) would silently leave the pod advertising a stale PASV
address, breaking classic-PASV clients (older Brother scanners) while
EPSV clients keep working.
The Deployment consumes the CM via envFrom.configMapRef, so kustomize's
nameReference transformer rewrites the reference to the hashed name --
verified with `kubectl kustomize` (ftp-scanner-config-6d2597bt4d).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Moves the static
ftp-scanner-configConfigMap out offtp-scanner.yamlinto aconfigMapGeneratorinkustomization.yaml. Values are unchanged (PASV_ADDRESS=10.2.99.82, ports21100-21104,scanner, uid/gid1000).Why
The content-hash name suffix is kept on purpose. vsftpd templates
pasv_addressfromPASV_ADDRESSat container start, so a changed value must roll the pod. With the hash suffix, editing any value renames the generated ConfigMap -> mutates the Deployment pod template -> automatic rolling restart. Without it, an LB re-allocation would silently leave the pod advertising a stale PASV address, breaking classic-PASV clients (older Brother scanners) while EPSV clients keep working.Validated
kubectl kustomizerenders the generator asftp-scanner-config-6d2597bt4dand rewrites the Deployment'senvFrom.configMapRef.nameto match — no dangling reference.PASV_ADDRESS=10.2.99.82matches the liveftp-scannerLoadBalancer IP.On apply
Flux renders the new hashed CM; the Deployment rolls once to pick up the reference (identical values, so a no-op beyond the roll); the old static
ftp-scanner-configCM is pruned as it's no longer in the rendered output.🤖 Generated with Claude Code