Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the dns v1alpha1 API group +kubebuilder:object:generate=true +groupName=dns.k8s.marcocameriero.net
Index ¶
- Variables
- type Condition
- type ConditionStatus
- type ConditionType
- type DNSProvider
- type DNSProviderCloudflare
- type DNSProviderList
- type DNSProviderRFC2136
- type DNSProviderSpec
- type DNSProviderStatus
- type DNSRecord
- type DNSRecordList
- type DNSRecordSetData
- type DNSRecordSpec
- type DNSRecordStatus
- type DeletionPolicy
- type Ipv4String
- type Ipv6String
- type MXRData
- type ObjectReference
- type SecretReference
- type StatusWithConditions
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "dns.k8s.marcocameriero.net", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Condition ¶
type Condition struct { Type ConditionType `json:"type"` Status ConditionStatus `json:"status"` Reason string `json:"reason,omitempty"` Message string `json:"message,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` }
Condition represents the state of a resource at a certain point in time. Examples of conditions are `Ready` or `Succeeded`.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionStatus ¶
type ConditionStatus string
ConditionStatus represents the possible values of a condition: True, False or Unknown.
const ( TrueStatus ConditionStatus = "True" FalseStatus ConditionStatus = "False" UnknownStatus ConditionStatus = "Unknown" )
ConditionStatus represents the possible values of a condition: True, False or Unknown.
type ConditionType ¶
type ConditionType string
ConditionType enumerates the possible values of the field `Type` of a condition.
const ( // ReadyCondition represents the `Ready` condition. ReadyCondition ConditionType = "Ready" )
type DNSProvider ¶
type DNSProvider struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DNSProviderSpec `json:"spec,omitempty"` Status DNSProviderStatus `json:"status,omitempty"` }
DNSProvider is the Schema for the dnsproviders API
func (*DNSProvider) DeepCopy ¶
func (in *DNSProvider) DeepCopy() *DNSProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProvider.
func (*DNSProvider) DeepCopyInto ¶
func (in *DNSProvider) DeepCopyInto(out *DNSProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSProvider) DeepCopyObject ¶
func (in *DNSProvider) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DNSProvider) GetProviderType ¶
func (resource *DNSProvider) GetProviderType() (string, error)
GetProviderType returns a string representing the type of the provider represented by this resource.
type DNSProviderCloudflare ¶
type DNSProviderCloudflare struct { // Email owner of the Cloudflare account, required only if using an API Key. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Format=email // +optional Email *string `json:"email,omitempty"` // Reference to a secret containing the API Token to use for authentication. // One between `apiTokenSecretRef` and `apiKeySecretRef` must be present. // +optional APITokenSecretRef *SecretReference `json:"apiTokenSecretRef,omitempty"` // Reference to a secret containing the API Key to use for authentication. // One between `apiTokenSecretRef` and `apiKeySecretRef` must be present. // +optional APIKeySecretRef *SecretReference `json:"apiKeySecretRef,omitempty"` // If true, marks all records as proxied by default. // Defaults to true. // +optional ProxiedByDefault *bool `json:"proxiedByDefault,omitempty"` }
DNSProviderCloudflare is a structure containing the configuration of the Cloudflare provider. The Cloudflare provider can be configured using either an API Token, or an API Key.
func (*DNSProviderCloudflare) DeepCopy ¶
func (in *DNSProviderCloudflare) DeepCopy() *DNSProviderCloudflare
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderCloudflare.
func (*DNSProviderCloudflare) DeepCopyInto ¶
func (in *DNSProviderCloudflare) DeepCopyInto(out *DNSProviderCloudflare)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSProviderList ¶
type DNSProviderList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DNSProvider `json:"items"` }
DNSProviderList contains a list of DNSProvider
func (*DNSProviderList) DeepCopy ¶
func (in *DNSProviderList) DeepCopy() *DNSProviderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderList.
func (*DNSProviderList) DeepCopyInto ¶
func (in *DNSProviderList) DeepCopyInto(out *DNSProviderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSProviderList) DeepCopyObject ¶
func (in *DNSProviderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSProviderRFC2136 ¶
type DNSProviderRFC2136 struct { // The IP address or hostname of an authoritative DNS server supporting // RFC2136 in the form host:port. If the host is an IPv6 address it must be // enclosed in square brackets (e.g [2001:db8::1]) ; port is optional. // This field is required. Nameserver string `json:"nameserver"` // The name of the secret containing the TSIG value. // If any of the “tsig*“ fields is defined, this field is required. // +optional TSIGSecretRef *SecretReference `json:"tsigSecretRef,omitempty"` // The TSIG Key name configured in the DNS. // If any of the “tsig*“ fields is defined, this field is required. // +optional TSIGKeyName *string `json:"tsigKeyName,omitempty"` // The TSIG Algorithm configured in the DNS supporting RFC2136. Used only // when “tsigSecretSecretRef“ and “tsigKeyName“ are defined. // Supported values are (case-insensitive): “HMACMD5“, // “HMACSHA1“, “HMACSHA256“ or “HMACSHA512“. // +optional TSIGAlgorithm *string `json:"tsigAlgorithm,omitempty"` }
DNSProviderRFC2136 is a structure containing the configuration for RFC2136 DNS provider.
func (*DNSProviderRFC2136) DeepCopy ¶
func (in *DNSProviderRFC2136) DeepCopy() *DNSProviderRFC2136
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderRFC2136.
func (*DNSProviderRFC2136) DeepCopyInto ¶
func (in *DNSProviderRFC2136) DeepCopyInto(out *DNSProviderRFC2136)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSProviderSpec ¶
type DNSProviderSpec struct { // DNS zones handled by this provider. // At least one zone must be present. // +kubebuilder:validation:MinItems=1 Zones []dnsname.Name `json:"zones"` // Dummy provider used for debugging. // +optional Dummy *bool `json:"dummy,omitempty"` // Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage records. // +optional RFC2136 *DNSProviderRFC2136 `json:"rfc2136,omitempty"` // Use Cloudflare to manage records. // +optional Cloudflare *DNSProviderCloudflare `json:"cloudflare,omitempty"` }
DNSProviderSpec defines the desired state of DNSProvider. Only one of the providers can be configured.
func (*DNSProviderSpec) DeepCopy ¶
func (in *DNSProviderSpec) DeepCopy() *DNSProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderSpec.
func (*DNSProviderSpec) DeepCopyInto ¶
func (in *DNSProviderSpec) DeepCopyInto(out *DNSProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSProviderStatus ¶
type DNSProviderStatus struct {
StatusWithConditions `json:",inline"`
}
DNSProviderStatus defines the observed state of DNSProvider
func (*DNSProviderStatus) DeepCopy ¶
func (in *DNSProviderStatus) DeepCopy() *DNSProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderStatus.
func (*DNSProviderStatus) DeepCopyInto ¶
func (in *DNSProviderStatus) DeepCopyInto(out *DNSProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecord ¶
type DNSRecord struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DNSRecordSpec `json:"spec,omitempty"` Status DNSRecordStatus `json:"status,omitempty"` }
DNSRecord is the Schema for the dnsrecords API
func (*DNSRecord) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecord.
func (*DNSRecord) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSRecord) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSRecordList ¶
type DNSRecordList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DNSRecord `json:"items"` }
DNSRecordList contains a list of DNSRecord
func (*DNSRecordList) DeepCopy ¶
func (in *DNSRecordList) DeepCopy() *DNSRecordList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordList.
func (*DNSRecordList) DeepCopyInto ¶
func (in *DNSRecordList) DeepCopyInto(out *DNSRecordList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSRecordList) DeepCopyObject ¶
func (in *DNSRecordList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSRecordSetData ¶
type DNSRecordSetData struct { // A record. // +kubebuilder:validation:MinItems=1 // +optional A []Ipv4String `json:"a,omitempty"` // AAAA record. // +kubebuilder:validation:MinItems=1 // +optional AAAA []Ipv6String `json:"aaaa,omitempty"` // MX record. // +kubebuilder:validation:MinItems=1 // +optional MX []MXRData `json:"mx,omitempty"` // CNAME record. // +kubebuilder:validation:MinItems=1 // +optional CNAME []dnsname.Name `json:"cname,omitempty"` // TXT record. // +kubebuilder:validation:MinItems=1 // +optional TXT []string `json:"txt,omitempty"` }
DNSRecordSetData represents the actual contents of a DNS record. Only one of these can be set.
func (*DNSRecordSetData) DeepCopy ¶
func (in *DNSRecordSetData) DeepCopy() *DNSRecordSetData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordSetData.
func (*DNSRecordSetData) DeepCopyInto ¶
func (in *DNSRecordSetData) DeepCopyInto(out *DNSRecordSetData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecordSpec ¶
type DNSRecordSpec struct { // Reference to the DNSProvider managing this DNSRecord. ProviderRef ObjectReference `json:"providerRef"` // Name of the DNS record. // This field is required. Name dnsname.Name `json:"name"` // RRSet contains the actual contents of the DNS record. // The meaning of the rdata field depends on the type of record. // This field is required. RRSet DNSRecordSetData `json:"rrset"` // TTL in seconds of the DNS record. Defaults to 1h. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=604800 // +optional TTLSeconds *uint32 `json:"ttlSeconds,omitempty"` // Specifies how to treat deletion of this DNSRecord. // Valid values are: // - "Delete" (default): actually delete the corresponding DNS record managed by this resource; // - "Retain": keep the published DNS record even after this resource is deleted. // +optional DeletionPolicy *DeletionPolicy `json:"deletionPolicy,omitempty"` }
DNSRecordSpec defines the desired state of DNSRecord
func (*DNSRecordSpec) DeepCopy ¶
func (in *DNSRecordSpec) DeepCopy() *DNSRecordSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordSpec.
func (*DNSRecordSpec) DeepCopyInto ¶
func (in *DNSRecordSpec) DeepCopyInto(out *DNSRecordSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecordStatus ¶
type DNSRecordStatus struct {
StatusWithConditions `json:",inline"`
}
DNSRecordStatus defines the observed state of DNSRecord
func (*DNSRecordStatus) DeepCopy ¶
func (in *DNSRecordStatus) DeepCopy() *DNSRecordStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordStatus.
func (*DNSRecordStatus) DeepCopyInto ¶
func (in *DNSRecordStatus) DeepCopyInto(out *DNSRecordStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeletionPolicy ¶
type DeletionPolicy string
DeletionPolicy describes how the DNSRecord resource deletion will propagate to the underlying actual DNS record. Only one of the following concurrent policies may be specified. If none of the following policies is specified, the default one is Delete. +kubebuilder:validation:Enum=Delete;Retain
const ( // DeletePolicy propagates the deletion of the DNSRecord resource to the underlying actual DNS record. DeletePolicy DeletionPolicy = "Delete" // RetainPolicy does not delete the actual DNS record when the DNSRecord resource is deleted. RetainPolicy DeletionPolicy = "Retain" )
type Ipv4String ¶
type Ipv4String string
Ipv4String is a string containing an IPv4 address. +kubebuilder:validation:Format=ipv4
func (*Ipv4String) String ¶
func (str *Ipv4String) String() string
type Ipv6String ¶
type Ipv6String string
Ipv6String is a string containing an IPv6 address. +kubebuilder:validation:Format=ipv6
func (*Ipv6String) String ¶
func (str *Ipv6String) String() string
type MXRData ¶
MXRData represents the contents of an MX DNS record.
func (*MXRData) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MXRData.
func (*MXRData) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectReference ¶
type ObjectReference struct { // Name of the resource being referred. Name string `json:"name"` // Name of the namespace of the resource being referred. // +optional Namespace *string `json:"namespace,omitempty"` }
ObjectReference is a reference to an object in a (possibly another) namespace.
func (*ObjectReference) DeepCopy ¶
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretReference ¶
type SecretReference struct { // The name of the Secret resource being referred to. ObjectReference `json:",inline"` // The key of the entry in the Secret resource's `data` field to be used. Key string `json:"key,omitempty"` }
SecretReference is a reference to a specific secret.
func (*SecretReference) DeepCopy ¶
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusWithConditions ¶
type StatusWithConditions struct {
Conditions []Condition `json:"conditions,omitempty"`
}
StatusWithConditions marks a status subresource which exposes a list of conditions.
func (*StatusWithConditions) DeepCopy ¶
func (in *StatusWithConditions) DeepCopy() *StatusWithConditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusWithConditions.
func (*StatusWithConditions) DeepCopyInto ¶
func (in *StatusWithConditions) DeepCopyInto(out *StatusWithConditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StatusWithConditions) GetCondition ¶
func (status *StatusWithConditions) GetCondition(conditionType ConditionType) int
GetCondition returns the index of the condition of type `conditionType` included in the given status subresource. Returns -1 if no condition is found.
func (*StatusWithConditions) SetCondition ¶
func (status *StatusWithConditions) SetCondition(condition *Condition)
SetCondition sets the value of a condition on a status subresource.