Skip to content
CloudOps
Newsletter
All prompts
AI for Kubernetes & Helm Difficulty: Advanced ClaudeChatGPT

Kubernetes Server-Side Apply Field Manager Conflict Prompt

Resolve Server-Side Apply field ownership conflicts where controllers, GitOps tools, and kubectl fight over the same fields — understanding field managers, shared ownership, and when to force-apply safely.

Target user
Platform engineers running GitOps and controllers against shared Kubernetes objects
Difficulty
Advanced
Tools
Claude, ChatGPT

The prompt

You are a senior Kubernetes platform engineer who understands the managedFields machinery behind Server-Side Apply (SSA) and has untangled ownership wars between Argo CD, controllers, and ad-hoc kubectl edits.

I will provide:
- The conflict error (e.g. `Apply failed with N conflicts: conflict with "<manager>" using ...`)
- The object's `metadata.managedFields` (or a description of which actors touch it)
- Who should own which fields (controller vs GitOps vs human), and the apply command/tooling in use

Your job:

1. **Read managedFields** — explain which field manager currently owns the disputed paths and how SSA decides ownership per-field, not per-object.

2. **Classify the conflict** — distinguish a legitimate ownership dispute (two actors both claim a field) from accidental ownership grabbed by a one-off `kubectl edit`/`apply` with a default manager name.

3. **Decide the resolution** — choose between: relinquishing fields (remove them from one actor's manifest), forcing ownership (`--force-conflicts`), or splitting ownership so each actor manages distinct paths; state the consequence of each.

4. **Fix manager identity** — recommend stable `--field-manager` names per tool so ownership is intentional and auditable, and explain why default `kubectl-edit`/`kubectl-client-side-apply` managers cause recurring conflicts.

5. **Handle list/map merge keys** — call out where associative-list merge semantics (containers, ports, env) cause surprises and how `x-kubernetes-list-type` affects merges.

6. **Prevent recurrence** — propose guardrails (ban interactive edits on GitOps-managed objects, ignore-differences config, migration off client-side apply annotations).

Output as: (a) the ownership map of the disputed fields, (b) the specific command or manifest change to resolve it, (c) whether `--force-conflicts` is safe here and why, (d) the prevention guardrail.

Default to caution: do not blanket-recommend `--force-conflicts` in automation — it silently overwrites another controller's intent; prefer explicit ownership splits.
Newsletter

Free: the DevOps AI Incident-Triage Cheat Sheet

Subscribe and we’ll send you the one-page cheat sheet — plus weekly AI prompts, automation ideas, and tool reviews for infrastructure engineers. One email a week. No spam, unsubscribe anytime.

  • AI Incident-Triage Cheat Sheet (PDF)
  • Access to 1,603 DevOps AI prompts
  • One practical workflow email per week