Objective:
Enable better debugging and monitoring for users by implementing two key improvements in the Operator:
- Report the
status of managed resources in the Custom Resource (CR) status field.
- Optionally set
ownerReferences on managed resources, with safeguards to prevent unintended deletions.
Scope of Work:
- CR Status Reporting:
- Extend the Operator to reflect the status of its managed resources in the CR status field.
- The status field should include:
- Overall deployment status (Deploying, Success, Failure).
- Error messages or details if deployment fails.
- Ensure the status reporting logic is robust and updates dynamically as resources are created, updated, or deleted.
ownerReferences:
- Investigate the feasibility of adding ownerReferences to resources managed by the Operator.
- Implement logic to safely handle the lifecycle of these resources:
- Use finalizers to prevent accidental deletions when the CR or Operator is uninstalled.
- Ensure cleanup logic is robust and tested to avoid orphaned resources or unintended data loss.
- Include a feature flag or configuration toggle to enable or disable this behavior.
Kubernetes doc reference for ownerReferences
The Kubernetes CRD Docs may help with the research about the status field as well as the other resources also used by ownerRefrences
To validate the implementation, deploy a Custom Resource (CR) using the Operator and observe in ArgoCD: with the proposed status updates, you should see resource deployment statuses in the CR; with ownerReferences enabled, the managed resources should appear under the corresponding application in the ArgoCD UI.
Deliverables:
- Updated Operator code implementing the above features.
- Documentation for:
- How to use the new
status field for monitoring deployments.
- How and when to enable
ownerReferences safely.
Acceptance Criteria:
- CR status accurately reflects the state of all managed resources.
- Resources with ownerReferences are safely handled during lifecycle events (deletion, Operator uninstall, etc.).
- Changes are backward compatible and do not disrupt existing deployments.
- Code is reviewed and approved by Platform team.
Objective:
Enable better debugging and monitoring for users by implementing two key improvements in the Operator:
statusof managed resources in the Custom Resource (CR) status field.ownerReferenceson managed resources, with safeguards to prevent unintended deletions.Scope of Work:
ownerReferences:Kubernetes doc reference for
ownerReferencesThe Kubernetes CRD Docs may help with the research about the
statusfield as well as the other resources also used byownerRefrencesTo validate the implementation, deploy a Custom Resource (CR) using the Operator and observe in ArgoCD: with the proposed
statusupdates, you should see resource deployment statuses in the CR; with ownerReferences enabled, the managed resources should appear under the corresponding application in the ArgoCD UI.Deliverables:
statusfield for monitoring deployments.ownerReferencessafely.Acceptance Criteria: