digitalocean / do-operator

The Kubernetes Operator for DigitalOcean
Apache License 2.0
77 stars 10 forks source link

Database operator admission webhook is too strict #58

Open Dennor opened 6 months ago

Dennor commented 6 months ago

Currently an attempt to create a DatabaseUser when a cluster resource does not exist results in an error as such:

Error from server (Forbidden): error when creating "sample.yaml": admission webhook "vdatabaseuser.kb.io" denied the request: spec.cluster: Not found: default/my-app-db

While reasonable, it creates issues with automations such as helm/kustomize (and by extension GitOps solutions) because it creates chicken and egg problem between DatabaseCluster and DatabaseUser resource.

If the check, rather than being done during admission, was done by operator itself during resource handling it would allow for the usual Kubernetes eventually consistent workflow with resources at some point arriving at desired state.