Description
What
Add a new feature that allows the spec.providerRef
field of a DNSRecord to be made optional, and add the ability to lookup and select specifically labelled provider secrets in the current namespace that should be used in the scenario where it is not specified.
Why
The main reason for this change is to support the "Cluster Aware DNSRecord Delegation" feature where not all DNSPolicies will need to specify provider credentials. Outside of that feature, this change might be useful where users just have a single provider but many Gateways/DNSPolices (by extension DNSRecords) but do not want the inconvenience of adding the ref to every resource.
How
- Make
spec.providerRef
optional on the DNSRecord resource. - If no
spec.providerRef
the dns operator will look for a provider secret labelled as the "default" i.e.kuadrant.io/default-provider=true
and assign that to the DNSRecord- If no provider found the record will not become ready and will have an appropriate error message
- Update the status to specify the
providerRef
that was selected, in the case where aproviderRef
is specified in the spec this should also be reflected in the status. - When loading the provider after provider selection it should load it using the status
providerRef
Expected Outcomes
- API and controller updates as described/required.
- Appropriate tests added/updated (integration and e2e)
- Documentation
Sub-issues
Metadata
Metadata
Assignees
Labels
Type
Projects
Status