instagram-poster: force_conflicts on ESO manifests (fix apply)
All checks were successful
ci/woodpecker/push/default Pipeline was successful
All checks were successful
ci/woodpecker/push/default Pipeline was successful
The ESO v1 migration (2026-06-22) made the external-secrets controller own .spec.refreshInterval via server-side apply, so terraform apply of the two ExternalSecret manifests fails with a field-manager conflict (Woodpecker #348), which blocked the replicas=0 scale-down from landing. Add force_conflicts=true to both, matching the grafana/woodpecker/traefik fix applied to other stacks the same day. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
53834deb24
commit
aa510e3600
1 changed files with 13 additions and 0 deletions
|
|
@ -35,6 +35,14 @@ resource "kubernetes_namespace" "instagram_poster" {
|
||||||
# - immich_tag_instagram (optional — auto-resolved if missing)
|
# - immich_tag_instagram (optional — auto-resolved if missing)
|
||||||
# - immich_tag_posted (optional — auto-resolved if missing)
|
# - immich_tag_posted (optional — auto-resolved if missing)
|
||||||
resource "kubernetes_manifest" "external_secret" {
|
resource "kubernetes_manifest" "external_secret" {
|
||||||
|
# The external-secrets controller takes server-side-apply ownership of
|
||||||
|
# .spec.refreshInterval, so a plain TF apply conflicts. force_conflicts lets
|
||||||
|
# TF win (values match, so it's stable) — same pattern as grafana/woodpecker/
|
||||||
|
# traefik/k8s-version-upgrade. Surfaced 2026-06-24 by the first IG apply since
|
||||||
|
# the ESO v1 migration (the scale-to-0 push).
|
||||||
|
field_manager {
|
||||||
|
force_conflicts = true
|
||||||
|
}
|
||||||
manifest = {
|
manifest = {
|
||||||
apiVersion = "external-secrets.io/v1"
|
apiVersion = "external-secrets.io/v1"
|
||||||
kind = "ExternalSecret"
|
kind = "ExternalSecret"
|
||||||
|
|
@ -139,6 +147,11 @@ resource "kubernetes_manifest" "external_secret" {
|
||||||
# ESO refreshes the K8s Secret every 15m. `reloader.stakater.com/match`
|
# ESO refreshes the K8s Secret every 15m. `reloader.stakater.com/match`
|
||||||
# bounces the pod when the password changes.
|
# bounces the pod when the password changes.
|
||||||
resource "kubernetes_manifest" "benchmark_db_external_secret" {
|
resource "kubernetes_manifest" "benchmark_db_external_secret" {
|
||||||
|
# See external_secret above — ESO owns .spec.refreshInterval; force_conflicts
|
||||||
|
# lets the TF apply win instead of erroring on the field-manager conflict.
|
||||||
|
field_manager {
|
||||||
|
force_conflicts = true
|
||||||
|
}
|
||||||
manifest = {
|
manifest = {
|
||||||
apiVersion = "external-secrets.io/v1"
|
apiVersion = "external-secrets.io/v1"
|
||||||
kind = "ExternalSecret"
|
kind = "ExternalSecret"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue