You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm wondering how ProviderSpecific on an endpoint is supposed to work.
// WithProviderSpecific attaches a key/value pair to the Endpoint and returns the Endpoint.
// This can be used to pass additional data through the stages of ExternalDNS's Endpoint processing.
// The assumption is that most of the time this will be provider specific metadata that doesn't
// warrant its own field on the Endpoint object itself. It differs from Labels in the fact that it's
// not persisted in the Registry but only kept in memory during a single record synchronization.
For me, this sounds like it would totally fine for a provider to store some data like zone and record IDs during provider.Records(...).
The endpoints would travel through externalDNS and be accessible in provider.ApplyChanges(...).
Most providers implement a "get zones and records" functionality called in provider.Records(...).
No provider sets any ProviderSpecific in that case. In provider.ApplyChanges(...) the code reaches out to "get zones and records" again and consolidate the plan.Changes against the newly gotten endpoints. So looks like this is the appropriate way to implement providers.
It seems to me, that ProviderSpecific is primarily used to pass information from metadata.annotations of sources down to the provider, but not for using it to "to pass additional data through the stages of ExternalDNS's Endpoint processing."
Maybe someone could shed some light on that.
Thanks!
There are already discussions in #1122 and #1255 on that topic.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hey lovely folks,
I'm wondering how
ProviderSpecific
on an endpoint is supposed to work.For me, this sounds like it would totally fine for a provider to store some data like zone and record IDs during
provider.Records(...)
.The endpoints would travel through externalDNS and be accessible in
provider.ApplyChanges(...)
.Most providers implement a "get zones and records" functionality called in
provider.Records(...)
.No provider sets any
ProviderSpecific
in that case. Inprovider.ApplyChanges(...)
the code reaches out to "get zones and records" again and consolidate theplan.Changes
against the newly gotten endpoints. So looks like this is the appropriate way to implement providers.Examples:
It seems to me, that
ProviderSpecific
is primarily used to pass information frommetadata.annotations
of sources down to the provider, but not for using it to "to pass additional data through the stages of ExternalDNS's Endpoint processing."Maybe someone could shed some light on that.
Thanks!
There are already discussions in #1122 and #1255 on that topic.
Beta Was this translation helpful? Give feedback.
All reactions