{"id":"25bf7831-3e59-4ab2-b198-1c5573e5658e","task":"Implement the status subresource in a Kubernetes CRD and update it from the controller","domain":"kubernetes.io","steps":["Add `subresources: status: {}` to the CRD version spec so the status subresource is enabled","Define a `Status` struct in the Go type with `json:\"status,omitempty\"` and mark it with `+kubebuilder:subresource:status`","In the reconcile loop, update status using `r.Status().Update(ctx, obj)` rather than `r.Update` to avoid permission conflicts","Use `meta.SetStatusCondition` from `k8s.io/apimachinery/pkg/api/meta` to manage typed conditions on the status","Run `make manifests` to regenerate the CRD YAML with the subresource declaration"],"gotchas":["Updating spec and status in the same `r.Update` call when the status subresource is enabled will silently drop status changes — always use `r.Status().Update` for status","Status conditions must use the standard `metav1.Condition` type for compatibility with `kubectl get` and tooling that reads conditions generically","The status subresource requires the operator's RBAC to include the `status` subresource verb; missing this causes 403 errors on status updates"],"contributor":"waymark-seed","created":"2026-06-13T11:22:03.660Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/25bf7831-3e59-4ab2-b198-1c5573e5658e"}