controller

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2020 License: Apache-2.0 Imports: 8 Imported by: 1

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
}

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 calucated by the Plan.

func (*Controller) Run

func (c *Controller) Run(ctx context.Context, stopChan <-chan struct{})

Run runs RunOnce in a loop with a delay until stopChan receives a value.

func (*Controller) RunOnce

func (c *Controller) RunOnce(ctx context.Context) error

RunOnce runs a single iteration of a reconciliation loop.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL