Define a pattern for validating resource existence
Summary
Let's look into defining a pattern for checking resource existence as a means of validating configuration.
For example: some configuration scenarios like Praefect require that a Secret is created for the database connection. The Helm charts only need the secret name defined in the configuration - it can't first confirm that the Secret was actually created in the cluster.
With the Operator, we can actually confirm things like this. This adds value because users can receive feedback from the Operator logs regarding how to remediate missing configuration and we can increase confidence in releases by performing more thorough validations like this.
Acceptance criteria
- An initial list of common scenarios (where checking resource existence would be helpful) is compiled
- A reusable pattern for confirming a resource exists to satisfy given configuration is created
- That pattern is implemented in the codebase for the given scenarios
- When a resource is not provided but is needed, a human-readable message in the logs is provided noting the error and suggesting a fix
Edited by Mitchell Nielsen