minio / operator

Simple Kubernetes Operator for MinIO clusters :computer:
https://min.io/docs/minio/kubernetes/upstream/index.html
GNU Affero General Public License v3.0
1.22k stars 455 forks source link

ArgoCD out of sync #2287

Closed aqeelat closed 2 months ago

aqeelat commented 2 months ago

In argocd, the tenant chart is always out of sync because a CiliumIdentity is created but is not owned by the CRD.

Screenshot 2024-08-22 at 3 46 42 PM

p.s. I don't know what CiliumIdentity is.

Your Environment

ramondeklein commented 2 months ago

CiliumIdentity is not something that MinIO creates, so we can't do anything about it.

aqeelat commented 2 months ago

@ramondeklein I think this is related to how the operator works. I have many other operator based deployments but their CiliumIdentity does not have the argocd label.

Please reopen the ticket.

aqeelat commented 2 months ago

Apparently the issue is not that the object is created but that it inherited the argocd label.

My assumption is that when the operator was creating the pool and other resources, it selected using all labels (not just the app label).

ramondeklein commented 2 months ago

We don't use ArgoCD and/or Cilium, so there is not a lot that we can do.

aqeelat commented 2 months ago

I can provide any debugging/logs you need

ramondeklein commented 2 months ago

We don't know this software, so we can't provide support for it. You could try the following:

If you know what needs to be changed, then feel free to submit a PR.

aqeelat commented 2 months ago

Is there a place where I can interact with minio community members? Hopefully someone who's familiar with CNI can help.

Also, can you explain how the operator identifies the tenants and how it creates the resources for them? Does it use the labels attached to the CR, or just the CR name?

ramondeklein commented 2 months ago

You can try our public Slack channel https://minio.slack.com.

The operator scans the namespaces for Tenant objects. When this object changes, then it will ensure that it will create/update/delete the required statefulset, secrets, configmaps, ... This is more or less the same how Kubernetes works as well. Kubernetes monitors the statefulset and creates the required pods, pvcs, ...

For the exact details on how the operator works, you can also check https://github.com/minio/operator. It's all open-source.