Fix Helm 4 CRD install conflict
Helm 4 uses Server-Side Apply for CRDs. When another field manager already owns .spec.versions, install fails with a conflict error. Setting ForceConflicts=true on the install action makes Helm take ownership of conflicting fields via SSA, resolving the conflict. Change-Id: Idb3701ac8fd9ce4c821d872b2af7245838aea48e Signed-off-by: Sergiy Markin <smarkin@mirantis.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
ARG FROM=quay.io/airshipit/ubuntu:noble
|
||||
# Build the manager binary
|
||||
FROM quay.io/airshipit/golang:1.26.3-trixie AS builder
|
||||
FROM quay.io/airshipit/golang:1.26.4-trixie AS builder
|
||||
ARG TARGETOS
|
||||
ARG TARGETARCH
|
||||
|
||||
|
||||
@@ -98,6 +98,8 @@ func (r *Runner) Install(ctx context.Context, ac armadav1.ArmadaChart, chrt *cha
|
||||
}
|
||||
install.DisableOpenAPIValidation = true
|
||||
install.CreateNamespace = true
|
||||
// Force SSA to take ownership of CRD fields from any conflicting field manager.
|
||||
install.ForceConflicts = true
|
||||
|
||||
reli, err := install.RunWithContext(ctx, chrt, values.AsMap())
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user