Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct {
Source source.Source
Registry registry.Registry
// The policy that defines which changes to DNS records are allowed
Policy plan.Policy
// The interval between individual synchronizations
Interval time.Duration
// The DomainFilter defines which DNS records to keep or exclude
DomainFilter endpoint.DomainFilterInterface
// DNS record types that will be considered for management
ManagedRecordTypes []string
// MinEventSyncInterval is used as window for batching events
MinEventSyncInterval time.Duration
// contains filtered or unexported fields
}
Controller is responsible for orchestrating the different components. It works in the following way: * Ask the DNS provider for current list of endpoints. * Ask the Source for the desired list of endpoints. * Take both lists and calculate a Plan to move current towards desired state. * Tell the DNS provider to apply the changes calculated by the Plan.
func (*Controller) Run ¶
func (c *Controller) Run(ctx context.Context)
Run runs RunOnce in a loop with a delay until context is canceled
func (*Controller) RunOnce ¶
func (c *Controller) RunOnce(ctx context.Context) error
RunOnce runs a single iteration of a reconciliation loop.
func (*Controller) ScheduleRunOnce ¶ added in v0.7.2
func (c *Controller) ScheduleRunOnce(now time.Time)
ScheduleRunOnce makes sure execution happens at most once per interval.
func (*Controller) ShouldRunOnce ¶ added in v0.7.2
func (c *Controller) ShouldRunOnce(now time.Time) bool
Click to show internal directories.
Click to hide internal directories.