-
-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow kopf.adopt to Communicate Resource Readiness to ArgoCD #1115
Comments
This bug —if it is a bug— is too specific to a particular third-party operator (ArgoCD in this case). I am not sure if Kopf has anything to do with it or should contain any ArgoCD-specific logic — mainly because there are too many third-party operators to support this way in a rather generic framework (i.e. Kopf). On the technical side, Can you please clarify:
|
After reading more into this, I realized that I am missing the Based on my research, this issue seems related to #796 and possibly #514.
Thank you again for your assistance. I will provide an update after further testing. |
I tried adding conditions to my CRD status like this: iso8601utc = datetime.datetime.now(datetime.UTC).isoformat()
ready = [{
"status": "True",
"message": "IAM Role for Service Account created successfully",
"reason": "Successful",
"type": "Running",
"lastTransitionTime": iso8601utc
}]
patch.status["conditions"] = ready However, this did not update the healthy status in ArgoCD. I will follow the guidance provided in the ArgoCD documentation to add a health check. |
Keywords
argocd, readiness
Problem
Description:
I am using the kopf.adopt(data) function in a Kopf operator to adopt another resource. However, I am encountering an issue with ArgoCD where it considers the parent resource to be ready even though the child resource is still processing.
Problem:
When kopf.adopt(data) is used to adopt a resource, ArgoCD treats the parent resource as ready before the child resource has completed its processing. This behavior is causing synchronization issues within our deployment pipelines.
Expected Behavior:
I would like to have a way to let ArgoCD know that the parent resource is not ready until the child resource has finished processing. This would ensure that ArgoCD only marks the parent resource as ready when all adopted child resources are fully processed.
Steps to Reproduce:
Use kopf.adopt(data) to adopt a child resource in a Kopf operator.
Deploy the parent resource using ArgoCD.
Observe that ArgoCD marks the parent resource as ready before the child resource has completed processing.
Environment:
Kopf version: 1.36.1
ArgoCD version: v2.9.0
Kubernetes version: 1.28
The text was updated successfully, but these errors were encountered: