Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - func Add(mgr manager.Manager) error
 - func DeleteAWSRecordSets(awsClient awsclient.Client, dnsZone *hivev1.DNSZone, logger log.FieldLogger) error
 - func DeleteAzureRecordSets(azureClient azureclient.Client, dnsZone *hivev1.DNSZone, ...) error
 - func DeleteGCPRecordSets(gcpClient gcpclient.Client, dnsZone *hivev1.DNSZone, logger log.FieldLogger) error
 - func IsErrorUpdateEvent(evt event.UpdateEvent) bool
 - type AWSActuator
 - func (a *AWSActuator) Create() error
 - func (a *AWSActuator) Delete() error
 - func (a *AWSActuator) Exists() (bool, error)
 - func (a *AWSActuator) GetNameServers() ([]string, error)
 - func (a *AWSActuator) Refresh() error
 - func (a *AWSActuator) SetConditionsForError(err error) bool
 - func (a *AWSActuator) UpdateMetadata() error
 
- type Actuator
 - type AzureActuator
 - func (a *AzureActuator) Create() error
 - func (a *AzureActuator) Delete() error
 - func (a *AzureActuator) Exists() (bool, error)
 - func (a *AzureActuator) GetNameServers() ([]string, error)
 - func (a *AzureActuator) Refresh() error
 - func (a *AzureActuator) SetConditionsForError(err error) bool
 - func (a *AzureActuator) UpdateMetadata() error
 
- type GCPActuator
 - func (a *GCPActuator) Create() error
 - func (a *GCPActuator) Delete() error
 - func (a *GCPActuator) Exists() (bool, error)
 - func (a *GCPActuator) GetNameServers() ([]string, error)
 - func (a *GCPActuator) Refresh() error
 - func (a *GCPActuator) SetConditionsForError(err error) bool
 - func (a *GCPActuator) UpdateMetadata() error
 
- type ReconcileDNSZone
 
Constants ¶
const (
	ControllerName = hivev1.DNSZoneControllerName
)
    Variables ¶
This section is empty.
Functions ¶
func Add ¶
Add creates a new DNSZone Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller and Start it when the Manager is Started.
func DeleteAWSRecordSets ¶ added in v1.0.9
func DeleteAWSRecordSets(awsClient awsclient.Client, dnsZone *hivev1.DNSZone, logger log.FieldLogger) error
DeleteAWSRecordSets will clean up a DNS zone down to the minimum required record entries
func DeleteAzureRecordSets ¶ added in v1.0.10
func DeleteAzureRecordSets(azureClient azureclient.Client, dnsZone *hivev1.DNSZone, logger log.FieldLogger) error
DeleteAzureRecordSets will remove all non-essential records from the DNSZone provided.
func DeleteGCPRecordSets ¶ added in v1.0.10
func DeleteGCPRecordSets(gcpClient gcpclient.Client, dnsZone *hivev1.DNSZone, logger log.FieldLogger) error
DeleteGCPRecordSets will delete all non-essential DNS records in the DNSZone provided
func IsErrorUpdateEvent ¶ added in v1.1.6
func IsErrorUpdateEvent(evt event.UpdateEvent) bool
IsErrorUpdateEvent returns true when the update event for DNSZone is from error state.
Types ¶
type AWSActuator ¶
type AWSActuator struct {
	// contains filtered or unexported fields
}
    AWSActuator manages getting the desired state, getting the current state and reconciling the two.
func NewAWSActuator ¶
func NewAWSActuator( logger log.FieldLogger, kubeClient client.Client, credentials awsclient.CredentialsSource, dnsZone *hivev1.DNSZone, awsClientBuilder awsClientBuilderType, ) (*AWSActuator, error)
NewAWSActuator creates a new AWSActuator object. A new AWSActuator is expected to be created for each controller sync.
func (*AWSActuator) Create ¶
func (a *AWSActuator) Create() error
Create makes an AWS Route53 hosted zone given the DNSZone object.
func (*AWSActuator) Delete ¶
func (a *AWSActuator) Delete() error
Delete removes an AWS Route53 hosted zone, typically because the DNSZone object is in a deleting state.
func (*AWSActuator) Exists ¶
func (a *AWSActuator) Exists() (bool, error)
Exists determines if the route53 hosted zone corresponding to the DNSZone exists
func (*AWSActuator) GetNameServers ¶
func (a *AWSActuator) GetNameServers() ([]string, error)
GetNameServers returns the nameservers listed in the route53 hosted zone NS record.
func (*AWSActuator) Refresh ¶
func (a *AWSActuator) Refresh() error
Refresh gets the AWS object for the zone. If a zone cannot be found or no longer exists, actuator.zoneID remains unset.
func (*AWSActuator) SetConditionsForError ¶ added in v1.0.6
func (a *AWSActuator) SetConditionsForError(err error) bool
SetConditionsForError sets conditions on the dnszone given a specific error. Returns true if conditions changed.
func (*AWSActuator) UpdateMetadata ¶
func (a *AWSActuator) UpdateMetadata() error
UpdateMetadata ensures that the Route53 hosted zone metadata is current with the DNSZone
type Actuator ¶
type Actuator interface {
	// Create tells the actuator to make a zone in the dns provider.
	// The platform-specific DNSZone status fields will be populated (eg the zone name).
	Create() error
	// Delete tells the actuator to remove the zone from the dns provider.
	Delete() error
	// Exists queries if the zone is in the dns provider.
	Exists() (bool, error)
	// UpdateMetadata tells the actuator to update the zone's metadata in the dns provider.
	UpdateMetadata() error
	// GetNameServers returns a list of nameservers that service the zone in the dns provider.
	GetNameServers() ([]string, error)
	// Refresh signals to the actuator that it should get the latest version of the zone from the dns provider.
	// Refresh MUST be called before any other function is called by the actuator.
	// Refresh will update the DNSZone object's platform-specific status fields.
	Refresh() error
	// SetConditionsForError sets conditions on the dnszone given a specific error
	SetConditionsForError(err error) bool
}
    Actuator interface is the interface that is used to add dns provider support to the dnszone controller.
type AzureActuator ¶ added in v1.0.5
type AzureActuator struct {
	// contains filtered or unexported fields
}
    AzureActuator attempts to make the current state reflect the given desired state.
func NewAzureActuator ¶ added in v1.0.5
func NewAzureActuator( logger log.FieldLogger, secret *corev1.Secret, dnsZone *hivev1.DNSZone, azureClientBuilder azureClientBuilderType, ) (*AzureActuator, error)
NewAzureActuator creates a new NewAzureActuator object. A new NewAzureActuator is expected to be created for each controller sync.
func (*AzureActuator) Create ¶ added in v1.0.5
func (a *AzureActuator) Create() error
Create implements the Create call of the actuator interface
func (*AzureActuator) Delete ¶ added in v1.0.5
func (a *AzureActuator) Delete() error
Delete implements the Delete call of the actuator interface
func (*AzureActuator) Exists ¶ added in v1.0.5
func (a *AzureActuator) Exists() (bool, error)
Exists implements the Exists call of the actuator interface
func (*AzureActuator) GetNameServers ¶ added in v1.0.5
func (a *AzureActuator) GetNameServers() ([]string, error)
GetNameServers implements the GetNameServers call of the actuator interface
func (*AzureActuator) Refresh ¶ added in v1.0.5
func (a *AzureActuator) Refresh() error
Refresh implements the Refresh call of the actuator interface
func (*AzureActuator) SetConditionsForError ¶ added in v1.0.6
func (a *AzureActuator) SetConditionsForError(err error) bool
SetConditionsForError sets conditions on the dnszone given a specific error. Returns true if conditions changed.
func (*AzureActuator) UpdateMetadata ¶ added in v1.0.5
func (a *AzureActuator) UpdateMetadata() error
UpdateMetadata implements the UpdateMetadata call of the actuator interface
type GCPActuator ¶
type GCPActuator struct {
	// contains filtered or unexported fields
}
    GCPActuator attempts to make the current state reflect the given desired state.
func NewGCPActuator ¶
func NewGCPActuator( logger log.FieldLogger, secret *corev1.Secret, dnsZone *hivev1.DNSZone, gcpClientBuilder gcpClientBuilderType, ) (*GCPActuator, error)
NewGCPActuator creates a new GCPActuator object. A new GCPActuator is expected to be created for each controller sync.
func (*GCPActuator) Create ¶
func (a *GCPActuator) Create() error
Create implements the Create call of the actuator interface
func (*GCPActuator) Delete ¶
func (a *GCPActuator) Delete() error
Delete implements the Delete call of the actuator interface
func (*GCPActuator) Exists ¶
func (a *GCPActuator) Exists() (bool, error)
Exists implements the Exists call of the actuator interface
func (*GCPActuator) GetNameServers ¶
func (a *GCPActuator) GetNameServers() ([]string, error)
GetNameServers implements the GetNameServers call of the actuator interface
func (*GCPActuator) Refresh ¶
func (a *GCPActuator) Refresh() error
Refresh implements the Refresh call of the actuator interface
func (*GCPActuator) SetConditionsForError ¶ added in v1.0.6
func (a *GCPActuator) SetConditionsForError(err error) bool
SetConditionsForError sets conditions on the dnszone given a specific error. Returns true if conditions changed.
func (*GCPActuator) UpdateMetadata ¶
func (a *GCPActuator) UpdateMetadata() error
UpdateMetadata implements the UpdateMetadata call of the actuator interface
type ReconcileDNSZone ¶
ReconcileDNSZone reconciles a DNSZone object