v1alpha2

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2026 License: AGPL-3.0, Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the core v1alpha2 API group

Index

Constants

View Source
const (
	// CloudMonitoringIntegrationConditionConnected indicates the integration
	// has been validated and the collector config has been applied.
	CloudMonitoringIntegrationConditionConnected = "Connected"

	// CloudMonitoringIntegrationConditionUpdating indicates the collector
	// config is being regenerated and applied after an integration change.
	CloudMonitoringIntegrationConditionUpdating = "Updating"
)

Condition type constants for CloudMonitoringIntegration.

View Source
const (
	// CloudMonitoringIntegrationReasonReady means the integration is valid,
	// config applied, and collector healthy.
	CloudMonitoringIntegrationReasonReady = "Ready"

	// CloudMonitoringIntegrationReasonDisabled means spec.enabled is false.
	CloudMonitoringIntegrationReasonDisabled = "Disabled"

	// CloudMonitoringIntegrationReasonValidationFailed means credential fields
	// are missing or malformed.
	CloudMonitoringIntegrationReasonValidationFailed = "ValidationFailed"

	// CloudMonitoringIntegrationReasonConfigPending means the collector config
	// was updated but collector has not confirmed health yet.
	CloudMonitoringIntegrationReasonConfigPending = "ConfigPending"

	// CloudMonitoringIntegrationReasonCollectorUnhealthy means the collector
	// reported unhealthy after config change.
	CloudMonitoringIntegrationReasonCollectorUnhealthy = "CollectorUnhealthy"
)

Condition reason constants for CloudMonitoringIntegration.

View Source
const (
	ProxyFinalizer = "proxy.core.apoxy.dev/finalizer"

	// DefaultDrainTimeout is the default duration to drain connections before terminating the proxy.
	// +kubebuilder:validation:Format=duration
	DefaultDrainTimeout = 30 * time.Second
)
View Source
const GroupName = "core.apoxy.dev"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Deprecated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha2"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha2"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type APIKey

type APIKey struct {
	// Key is the API key.
	Key string `json:"key,omitempty"`

	// KeyData is the base64 encoded API key.
	KeyData []byte `json:"keyData,omitempty"`
}

func (*APIKey) DeepCopy

func (in *APIKey) DeepCopy() *APIKey

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIKey.

func (*APIKey) DeepCopyInto

func (in *APIKey) DeepCopyInto(out *APIKey)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Address

type Address struct {
	// Address line 1.
	// +optional
	AddressLine1 string `json:"addressLine1,omitempty"`

	// Address line 2.
	// +optional
	AddressLine2 string `json:"addressLine2,omitempty"`

	// City.
	// +optional
	City string `json:"city,omitempty"`

	// State or province.
	// +optional
	StateProvince string `json:"stateProvince,omitempty"`

	// PostalCode or ZIP code.
	// +optional
	PostalCode string `json:"postalCode,omitempty"`

	// Country code (ISO 3166-1 alpha-2).
	// +optional
	Country string `json:"country,omitempty"`
}

Address contains postal address information.

func (*Address) DeepCopy

func (in *Address) DeepCopy() *Address

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Address.

func (*Address) DeepCopyInto

func (in *Address) DeepCopyInto(out *Address)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AxiomCredentials

type AxiomCredentials struct {
	// APIToken is the Axiom API token.
	// This field should reference a secret in production environments.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	APIToken string `json:"apiToken"`

	// Region specifies the Axiom region.
	// Common values: us, eu
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`
	Region string `json:"region"`

	// DatasetName is the name of the Axiom dataset to send data to.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	DatasetName string `json:"datasetName"`
}

AxiomCredentials contains credentials for Axiom integration.

func (*AxiomCredentials) DeepCopy

func (in *AxiomCredentials) DeepCopy() *AxiomCredentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AxiomCredentials.

func (*AxiomCredentials) DeepCopyInto

func (in *AxiomCredentials) DeepCopyInto(out *AxiomCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Backend

type Backend struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BackendSpec   `json:"spec,omitempty"`
	Status BackendStatus `json:"status,omitempty"`
}

Backend configures a backend (upstream) endpoint for a Proxy.

func (*Backend) ConvertToTable

func (b *Backend) ConvertToTable(ctx context.Context, tableOptions runtime.Object) (*metav1.Table, error)

ConvertToTable implements rest.TableConvertor for pretty printing.

func (*Backend) DeepCopy

func (in *Backend) DeepCopy() *Backend

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend.

func (*Backend) DeepCopyInto

func (in *Backend) DeepCopyInto(out *Backend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Backend) DeepCopyObject

func (in *Backend) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Backend) Default

func (r *Backend) Default()

Default normalizes user-supplied fields before validation. The xDS translator switches on Spec.Protocol case-sensitively, so a stray "H2" would silently drop the upstream TLS context and Envoy would send plaintext to port 443. Lowercase on write to match the enum.

func (*Backend) GetGroupVersionResource

func (p *Backend) GetGroupVersionResource() schema.GroupVersionResource

func (*Backend) GetObjectMeta

func (p *Backend) GetObjectMeta() *metav1.ObjectMeta

func (*Backend) GetSingularName

func (p *Backend) GetSingularName() string

func (*Backend) GetStatus

func (p *Backend) GetStatus() resource.StatusSubResource

func (*Backend) IsStorageVersion

func (p *Backend) IsStorageVersion() bool

func (*Backend) NamespaceScoped

func (p *Backend) NamespaceScoped() bool

func (*Backend) New

func (p *Backend) New() runtime.Object

func (*Backend) NewList

func (p *Backend) NewList() runtime.Object

func (*Backend) Validate

func (r *Backend) Validate(ctx context.Context) field.ErrorList

func (*Backend) ValidateUpdate

func (r *Backend) ValidateUpdate(ctx context.Context, obj runtime.Object) field.ErrorList

type BackendEndpoint

type BackendEndpoint struct {
	// FQDN is the fully qualified domain name of the endpoint.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9]))*$`
	// +optional
	FQDN string `json:"fqdn,omitempty"`

	// Endpoint defined as an IPv4/IPv6 address.
	// +kubebuilder:validation:Format=ipv4
	// +kubebuilder:validation:Format=ipv6
	// +optional
	IP string `json:"ip,omitempty"`
}

func (*BackendEndpoint) DeepCopy

func (in *BackendEndpoint) DeepCopy() *BackendEndpoint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendEndpoint.

func (*BackendEndpoint) DeepCopyInto

func (in *BackendEndpoint) DeepCopyInto(out *BackendEndpoint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendList

type BackendList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Backend `json:"items"`
}

BackendList contains a list of Backend objects.

func (*BackendList) ConvertToTable

func (bl *BackendList) ConvertToTable(ctx context.Context, tableOptions runtime.Object) (*metav1.Table, error)

ConvertToTable implements rest.TableConvertor for pretty printing.

func (*BackendList) DeepCopy

func (in *BackendList) DeepCopy() *BackendList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendList.

func (*BackendList) DeepCopyInto

func (in *BackendList) DeepCopyInto(out *BackendList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackendList) DeepCopyObject

func (in *BackendList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BackendList) GetListMeta

func (pl *BackendList) GetListMeta() *metav1.ListMeta

type BackendProto

type BackendProto string

BackendProto defines the protocol to use for the backend. +kubebuilder:validation:Enum="";tls;h2;h2c

const (
	// BackendProtoTLS allows requests to be forwarded to the backend over TLS.
	// Should be used for HTTP/1.1 over TLS.
	BackendProtoTLS BackendProto = "tls"

	// BackendProtoH2 allows requests to be forwarded to the backend over HTTP/2.
	// Should be used for HTTP/2 over TLS.
	BackendProtoH2 BackendProto = "h2"

	// BackendProtoH2C allows requests to be forwarded to the backend over HTTP/2 cleartext.
	BackendProtoH2C BackendProto = "h2c"
)

type BackendSpec

type BackendSpec struct {
	// List of endpoints to connect to.
	Endpoints []BackendEndpoint `json:"endpoints"`

	// Specifies whether the backend should be dynamically proxied.
	// If specified, Envoy's HTTP Dynamic Forward Proxy will be used to proxy requests to the backend.
	// See: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_proxy#arch-overview-http-dynamic-forward-proxy
	// +optional
	DynamicProxy *DynamicProxySpec `json:"dynamicProxy,omitempty"`

	// Protocol defines a protocol to use for the backend.
	Protocol BackendProto `json:"protocol"`
}

func (*BackendSpec) DeepCopy

func (in *BackendSpec) DeepCopy() *BackendSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendSpec.

func (*BackendSpec) DeepCopyInto

func (in *BackendSpec) DeepCopyInto(out *BackendSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackendStatus

type BackendStatus struct {
	// Conditions describe the current conditions of the Backend.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*BackendStatus) CopyTo

func (*BackendStatus) DeepCopy

func (in *BackendStatus) DeepCopy() *BackendStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendStatus.

func (*BackendStatus) DeepCopyInto

func (in *BackendStatus) DeepCopyInto(out *BackendStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackendStatus) SubResourceName

func (ps *BackendStatus) SubResourceName() string

type CloudMonitoringIntegration

type CloudMonitoringIntegration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CloudMonitoringIntegrationSpec   `json:"spec,omitempty"`
	Status CloudMonitoringIntegrationStatus `json:"status,omitempty"`
}

CloudMonitoringIntegration configures integration with cloud monitoring and observability platforms.

func (*CloudMonitoringIntegration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudMonitoringIntegration.

func (*CloudMonitoringIntegration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudMonitoringIntegration) DeepCopyObject

func (in *CloudMonitoringIntegration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CloudMonitoringIntegration) GetGroupVersionResource

func (c *CloudMonitoringIntegration) GetGroupVersionResource() schema.GroupVersionResource

func (*CloudMonitoringIntegration) GetObjectMeta

func (c *CloudMonitoringIntegration) GetObjectMeta() *metav1.ObjectMeta

func (*CloudMonitoringIntegration) GetSingularName

func (c *CloudMonitoringIntegration) GetSingularName() string

func (*CloudMonitoringIntegration) GetStatus

func (*CloudMonitoringIntegration) IsStorageVersion

func (c *CloudMonitoringIntegration) IsStorageVersion() bool

func (*CloudMonitoringIntegration) NamespaceScoped

func (c *CloudMonitoringIntegration) NamespaceScoped() bool

func (*CloudMonitoringIntegration) New

func (*CloudMonitoringIntegration) NewList

func (*CloudMonitoringIntegration) Validate

func (*CloudMonitoringIntegration) ValidateUpdate

type CloudMonitoringIntegrationList

type CloudMonitoringIntegrationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CloudMonitoringIntegration `json:"items"`
}

CloudMonitoringIntegrationList contains a list of CloudMonitoringIntegration objects.

func (*CloudMonitoringIntegrationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudMonitoringIntegrationList.

func (*CloudMonitoringIntegrationList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudMonitoringIntegrationList) DeepCopyObject

func (in *CloudMonitoringIntegrationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CloudMonitoringIntegrationList) GetListMeta

type CloudMonitoringIntegrationSpec

type CloudMonitoringIntegrationSpec struct {
	// Enabled indicates whether the monitoring integration is active.
	// +kubebuilder:default=true
	// +optional
	Enabled bool `json:"enabled"`

	// DatadogCredentials configures DataDog integration.
	// Only one of DatadogCredentials, GrafanaCredentials, or AxiomCredentials may be specified.
	// +optional
	DatadogCredentials *DatadogCredentials `json:"datadogCredentials,omitempty"`

	// GrafanaCredentials configures Grafana Cloud integration.
	// Only one of DatadogCredentials, GrafanaCredentials, or AxiomCredentials may be specified.
	// +optional
	GrafanaCredentials *GrafanaCredentials `json:"grafanaCredentials,omitempty"`

	// AxiomCredentials configures Axiom integration.
	// Only one of DatadogCredentials, GrafanaCredentials, or AxiomCredentials may be specified.
	// +optional
	AxiomCredentials *AxiomCredentials `json:"axiomCredentials,omitempty"`
}

CloudMonitoringIntegrationSpec defines the desired state of CloudMonitoringIntegration.

func (*CloudMonitoringIntegrationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudMonitoringIntegrationSpec.

func (*CloudMonitoringIntegrationSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudMonitoringIntegrationStatus

type CloudMonitoringIntegrationStatus struct {
	// Conditions describe the current conditions of the CloudMonitoringIntegration.
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// LastSyncTime is the last time the integration successfully synced with the monitoring platform.
	// +optional
	LastSyncTime *metav1.Time `json:"lastSyncTime,omitempty"`

	// ObservedGeneration reflects the generation of the most recently observed CloudMonitoringIntegration.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

CloudMonitoringIntegrationStatus defines the observed state of CloudMonitoringIntegration.

func (*CloudMonitoringIntegrationStatus) CopyTo

func (*CloudMonitoringIntegrationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudMonitoringIntegrationStatus.

func (*CloudMonitoringIntegrationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudMonitoringIntegrationStatus) SubResourceName

func (s *CloudMonitoringIntegrationStatus) SubResourceName() string

type DatadogCredentials

type DatadogCredentials struct {
	// APIKey is the DataDog API key.
	// This field should reference a secret in production environments.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	APIKey string `json:"apiKey"`

	// Site specifies the DataDog site to send data to.
	// Common values: datadoghq.com, datadoghq.eu, us3.datadoghq.com, us5.datadoghq.com, ddog-gov.com
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	Site string `json:"site"`
}

DatadogCredentials contains credentials for DataDog integration.

func (*DatadogCredentials) DeepCopy

func (in *DatadogCredentials) DeepCopy() *DatadogCredentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCredentials.

func (*DatadogCredentials) DeepCopyInto

func (in *DatadogCredentials) DeepCopyInto(out *DatadogCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DomainZone

type DomainZone struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec DomainZoneSpec `json:"spec,omitempty"`

	Status DomainZoneStatus `json:"status,omitempty"`
}

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*DomainZone) ConvertFromStorageVersion

func (a *DomainZone) ConvertFromStorageVersion(storageObj runtime.Object) error

func (*DomainZone) ConvertToStorageVersion

func (a *DomainZone) ConvertToStorageVersion(storageObj runtime.Object) error

func (*DomainZone) ConvertToTable

func (dz *DomainZone) ConvertToTable(ctx context.Context, tableOptions runtime.Object) (*metav1.Table, error)

ConvertToTable implements rest.TableConvertor for pretty printing.

func (*DomainZone) DeepCopy

func (in *DomainZone) DeepCopy() *DomainZone

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainZone.

func (*DomainZone) DeepCopyInto

func (in *DomainZone) DeepCopyInto(out *DomainZone)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DomainZone) DeepCopyObject

func (in *DomainZone) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DomainZone) GetGroupVersionResource

func (a *DomainZone) GetGroupVersionResource() schema.GroupVersionResource

func (*DomainZone) GetObjectMeta

func (a *DomainZone) GetObjectMeta() *metav1.ObjectMeta

func (*DomainZone) GetSingularName

func (a *DomainZone) GetSingularName() string

func (*DomainZone) GetStatus

func (a *DomainZone) GetStatus() resource.StatusSubResource

func (*DomainZone) IsStorageVersion

func (a *DomainZone) IsStorageVersion() bool

func (*DomainZone) NamespaceScoped

func (a *DomainZone) NamespaceScoped() bool

func (*DomainZone) New

func (a *DomainZone) New() runtime.Object

func (*DomainZone) NewList

func (a *DomainZone) NewList() runtime.Object

func (*DomainZone) NewStorageVersionObject

func (a *DomainZone) NewStorageVersionObject() runtime.Object

type DomainZoneList

type DomainZoneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DomainZone `json:"items"`
}

DomainZoneList is a list of Domain resources.

func (*DomainZoneList) ConvertToTable

func (dzl *DomainZoneList) ConvertToTable(ctx context.Context, tableOptions runtime.Object) (*metav1.Table, error)

ConvertToTable implements rest.TableConvertor for pretty printing.

func (*DomainZoneList) DeepCopy

func (in *DomainZoneList) DeepCopy() *DomainZoneList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainZoneList.

func (*DomainZoneList) DeepCopyInto

func (in *DomainZoneList) DeepCopyInto(out *DomainZoneList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DomainZoneList) DeepCopyObject

func (in *DomainZoneList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DomainZoneList) GetListMeta

func (pl *DomainZoneList) GetListMeta() *metav1.ListMeta

type DomainZonePhase

type DomainZonePhase string

DomainZonePhase is the phase of the domain zone.

const (
	// Indicates that the domain zone is pending.
	// In order to become active, the domain owner must update the
	// nameservers with the registrar to point to the Apoxy nameservers.
	DomainZonePhasePending DomainZonePhase = "Pending"
	// PaymentRequired indicates that payment is required for domain registration.
	DomainZonePhasePaymentRequired DomainZonePhase = "PaymentRequired"
	// Registering indicates that domain registration is in progress.
	DomainZonePhaseRegistering DomainZonePhase = "Registering"
	// PendingNameservers indicates that the domain is registered but nameservers need to be updated.
	DomainZonePhasePendingNameservers DomainZonePhase = "PendingNameservers"
	// Active phase of the domain zone. User can create records in the domain zone.
	DomainZonePhaseActive DomainZonePhase = "Active"
	// Expiring indicates that the domain is expiring soon and needs renewal.
	DomainZonePhaseExpiring DomainZonePhase = "Expiring"
	// Expired indicates that the domain has expired.
	DomainZonePhaseExpired DomainZonePhase = "Expired"
	// Error indicates that an unrecoverable error occurred.
	DomainZonePhaseError DomainZonePhase = "Error"
)

type DomainZoneSpec

type DomainZoneSpec struct {
	// RegistrationConfig contains configuration for domain registration.
	// +optional
	RegistrationConfig *RegistrationConfig `json:"registrationConfig,omitempty"`

	// Nameservers to use for this domain zone.
	// If not specified, defaults to Apoxy's nameservers.
	// +optional
	Nameservers []string `json:"nameservers,omitempty"`
}

func (*DomainZoneSpec) DeepCopy

func (in *DomainZoneSpec) DeepCopy() *DomainZoneSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainZoneSpec.

func (*DomainZoneSpec) DeepCopyInto

func (in *DomainZoneSpec) DeepCopyInto(out *DomainZoneSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DomainZoneStatus

type DomainZoneStatus struct {
	// Phase of the domain zone.
	Phase DomainZonePhase `json:"phase,omitempty"`

	// RegistrationStatus contains information about domain registration.
	// +optional
	RegistrationStatus *RegistrationStatus `json:"registrationStatus,omitempty"`

	// Nameservers contains information about nameserver configuration.
	// +optional
	Nameservers *NameserverStatus `json:"nameservers,omitempty"`

	// Conditions of the domain zone.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*DomainZoneStatus) CopyTo

func (*DomainZoneStatus) DeepCopy

func (in *DomainZoneStatus) DeepCopy() *DomainZoneStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainZoneStatus.

func (*DomainZoneStatus) DeepCopyInto

func (in *DomainZoneStatus) DeepCopyInto(out *DomainZoneStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DomainZoneStatus) SubResourceName

func (as *DomainZoneStatus) SubResourceName() string

type DynamicProxyDNSLookupFamily

type DynamicProxyDNSLookupFamily string
const (
	// DynamicProxyDNSLookupFamilyAuto specifies that the DNS lookup family should be automatically determined.
	DynamicProxyDNSLookupFamilyAuto DynamicProxyDNSLookupFamily = "auto"
	// DynamicProxyDNSLookupFamilyV4Only specifies that the DNS lookup family should be IPv4 only.
	DynamicProxyDNSLookupFamilyV4Only DynamicProxyDNSLookupFamily = "v4_only"
	// DynamicProxyDNSLookupFamilyV6Only specifies that the DNS lookup family should be IPv6 only.
	DynamicProxyDNSLookupFamilyV6Only DynamicProxyDNSLookupFamily = "v6_only"
	// DynamicProxyDNSLookupFamilyV4Preferred specifies that the DNS lookup family should prefer IPv4.
	DynamicProxyDNSLookupFamilyV4Preferred DynamicProxyDNSLookupFamily = "v4_preferred"
	// DynamicProxyDNSLookupFamilyAll specifies that the DNS lookup family should include both IPv4 and IPv6.
	DynamicProxyDNSLookupFamilyAll DynamicProxyDNSLookupFamily = "all"
)

type DynamicProxyDnsCacheConfig

type DynamicProxyDnsCacheConfig struct {
	// Specifies the DNS lookup family to use for the dynamic proxy.
	// Default is "auto".
	// +kubebuilder:validation:Enum=auto;v4_only;v6_only;v4_preferred;all
	// +optional
	DNSLookupFamily DynamicProxyDNSLookupFamily `json:"dnsLookupFamily,omitempty"`

	// Specifies the refresh rate for *unresolved* DNS hosts. Once a host is resolved, the TTL from the DNS
	// response is used. If the TTL is not present, the resolved host is cached for 60s by default.
	// Must be at least 1ms, and defaults to 60s.
	// +optional
	DNSRefreshRate *metav1.Duration `json:"dnsRefreshRate,omitempty"`

	// Specifies the minimum refresh rate for DNS hosts. If a host is resolved and the TTL is less than this value, the
	// host will be refreshed at this rate.
	// Default is 5s and must be at least 1s.
	// +optional
	DNSMinRefreshRate *metav1.Duration `json:"dnsMinRefreshRate,omitempty"`

	// TTL for unused hosts. Hosts that have not been used for this duration will be removed from the cache.
	// Default is 5m.
	// +optional
	HostTTL *metav1.Duration `json:"hostTTL,omitempty"`

	// Maximum number of hosts to cache.
	// Default is 1024.
	// +optional
	MaxHosts *uint32 `json:"maxHosts,omitempty"`

	// Specifies the timeout for DNS queries.
	// Default is 5s.
	// +optional
	DNSQueryTimeout *metav1.Duration `json:"dnsQueryTimeout,omitempty"`
}

func (*DynamicProxyDnsCacheConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynamicProxyDnsCacheConfig.

func (*DynamicProxyDnsCacheConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DynamicProxySpec

type DynamicProxySpec struct {
	DnsCacheConfig *DynamicProxyDnsCacheConfig `json:"dnsCacheConfig,omitempty"`
}

func (*DynamicProxySpec) DeepCopy

func (in *DynamicProxySpec) DeepCopy() *DynamicProxySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynamicProxySpec.

func (*DynamicProxySpec) DeepCopyInto

func (in *DynamicProxySpec) DeepCopyInto(out *DynamicProxySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GrafanaCredentials

type GrafanaCredentials struct {
	// APIKey is the Grafana Cloud API key.
	// This field should reference a secret in production environments.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	APIKey string `json:"apiKey"`

	// InstanceID is the Grafana Cloud instance identifier.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	InstanceID string `json:"instanceId"`

	// Endpoint is the OTLP endpoint URL for Grafana Cloud.
	// Example: https://otlp-endpoint-xyz.grafana.net/otlp
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=2048
	// +kubebuilder:validation:Pattern=`^https?://`
	Endpoint string `json:"endpoint"`
}

GrafanaCredentials contains credentials for Grafana Cloud integration.

func (*GrafanaCredentials) DeepCopy

func (in *GrafanaCredentials) DeepCopy() *GrafanaCredentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrafanaCredentials.

func (*GrafanaCredentials) DeepCopyInto

func (in *GrafanaCredentials) DeepCopyInto(out *GrafanaCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Group

type Group string

Group refers to an API Group. It must either be an empty string or a RFC 1123 subdomain.

This validation is based off of the corresponding Kubernetes validation: https://github.com/kubernetes/apimachinery/blob/02cfb53916346d085a6c6c7c66f882e3c6b0eca6/pkg/util/validation/validation.go#L208

Valid values include:

* "" - empty string implies core Kubernetes API group * "gateway.networking.k8s.io" * "controllers.apoxy.dev"

Invalid values include:

* "example.com/bar" - "/" is an invalid character

+kubebuilder:validation:MaxLength=253 +kubebuilder:validation:Pattern=`^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`

type InfraProvider

type InfraProvider string

InfraProvider defines the infrastructure provider where the proxy will be deployed.

const (
	// InfraProviderCloud is the cloud provider.
	// This provider deploys proxies within Apoxy Edge.
	InfraProviderCloud InfraProvider = "cloud"
	// InfraProviderKubernetes is the kubernetes provider.
	// This provider is used to deploy the proxy as a kubernetes pod.
	InfraProviderKubernetes InfraProvider = "kubernetes"
	// InfraProviderUnmanaged is the unmanaged provider.
	// This provider is used for proxies that are deployed by users themselves and
	// are not managed by Apoxy Control Plane.
	InfraProviderUnmanaged InfraProvider = "unmanaged"
)

type Kind

type Kind string

Kind refers to an API Kind. It must be a valid Kubernetes kind.

Valid values include:

* "Service" * "HTTPRoute" * "Proxy"

Invalid values include:

* "invalid/kind" - "/" is an invalid character

+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63 +kubebuilder:validation:Pattern=`^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$`

type LocalObjectReference

type LocalObjectReference struct {
	// Group is the API Group of the referenced object.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Group Group `json:"group"`

	// Kind is the kind of the referenced object.
	// e.g. Proxy, EdgeFunction, TunnelEndpoint.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^[a-z0-9][a-z0-9-]*$`
	Kind Kind `json:"kind"`

	// Name is the name of the referenced object.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^[a-z0-9][a-z0-9-]*$`
	Name ObjectName `json:"name"`
}

LocalObjectReference identifies an API object.

func (*LocalObjectReference) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectReference.

func (*LocalObjectReference) DeepCopyInto

func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NameserverStatus

type NameserverStatus struct {
	// Required nameservers that should be configured.
	// +optional
	Required []string `json:"required,omitempty"`

	// Current nameservers that are actually configured.
	// +optional
	Current []string `json:"current,omitempty"`
}

NameserverStatus contains information about nameserver configuration.

func (*NameserverStatus) DeepCopy

func (in *NameserverStatus) DeepCopy() *NameserverStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NameserverStatus.

func (*NameserverStatus) DeepCopyInto

func (in *NameserverStatus) DeepCopyInto(out *NameserverStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Namespace

type Namespace string

Namespace refers to a Kubernetes namespace. It must be a RFC 1123 label.

+kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63

type ObjectName

type ObjectName string

ObjectName refers to the name of an API object. It must be a valid Kubernetes name.

Object names can have a variety of forms, including RFC 1123 subdomains, RFC 1123 labels, or RFC 1035 labels.

+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=253

type OpenTelemetrySink

type OpenTelemetrySink struct {
	// OTLP Endpoint to send the traces to.
	Endpoint string `json:"endpoint"`

	// Headers to send with the request
	// +optional
	Headers map[string]string `json:"headers,omitempty"`

	// Compression setting
	// +optional
	Compression string `json:"compression,omitempty"`
}

OpenTelemetrySink defines the OpenTelemetry sink. This uses oltphttp

func (*OpenTelemetrySink) DeepCopy

func (in *OpenTelemetrySink) DeepCopy() *OpenTelemetrySink

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetrySink.

func (*OpenTelemetrySink) DeepCopyInto

func (in *OpenTelemetrySink) DeepCopyInto(out *OpenTelemetrySink)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Proxy

type Proxy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ProxySpec   `json:"spec,omitempty"`
	Status ProxyStatus `json:"status,omitempty"`
}

func (*Proxy) ConvertToTable

func (p *Proxy) ConvertToTable(ctx context.Context, tableOptions runtime.Object) (*metav1.Table, error)

ConvertToTable implements rest.TableConvertor that handles table pretty printing.

func (*Proxy) DeepCopy

func (in *Proxy) DeepCopy() *Proxy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Proxy.

func (*Proxy) DeepCopyInto

func (in *Proxy) DeepCopyInto(out *Proxy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Proxy) DeepCopyObject

func (in *Proxy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Proxy) Default

func (r *Proxy) Default()

Default sets the default values for a Proxy.

func (*Proxy) GetGroupVersionResource

func (p *Proxy) GetGroupVersionResource() schema.GroupVersionResource

func (*Proxy) GetObjectMeta

func (p *Proxy) GetObjectMeta() *metav1.ObjectMeta

func (*Proxy) GetSingularName

func (p *Proxy) GetSingularName() string

func (*Proxy) GetStatus

func (p *Proxy) GetStatus() resource.StatusSubResource

func (*Proxy) IsStorageVersion

func (p *Proxy) IsStorageVersion() bool

func (*Proxy) NamespaceScoped

func (p *Proxy) NamespaceScoped() bool

func (*Proxy) New

func (p *Proxy) New() runtime.Object

func (*Proxy) NewList

func (p *Proxy) NewList() runtime.Object

func (*Proxy) Validate

func (r *Proxy) Validate(ctx context.Context) field.ErrorList

func (*Proxy) ValidateUpdate

func (r *Proxy) ValidateUpdate(ctx context.Context, obj runtime.Object) field.ErrorList

type ProxyAccessLogs

type ProxyAccessLogs struct {
	// If set, additional fields to add to the default Envoy access logs.
	// Envoy [command operators](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators)
	// can be used as values for fields. Note that attempting to override
	// default fields will not have any effect.
	JSON map[string]string `json:"json,omitempty"`
}

func (*ProxyAccessLogs) DeepCopy

func (in *ProxyAccessLogs) DeepCopy() *ProxyAccessLogs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyAccessLogs.

func (*ProxyAccessLogs) DeepCopyInto

func (in *ProxyAccessLogs) DeepCopyInto(out *ProxyAccessLogs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyContentLogs

type ProxyContentLogs struct {
	// Enable request body content logging.
	RequestBodyEnabled bool `json:"requestBodyEnabled"`

	// Enable response body content logging.
	ResponseBodyEnabled bool `json:"responseBodyEnabled"`
}

func (*ProxyContentLogs) DeepCopy

func (in *ProxyContentLogs) DeepCopy() *ProxyContentLogs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyContentLogs.

func (*ProxyContentLogs) DeepCopyInto

func (in *ProxyContentLogs) DeepCopyInto(out *ProxyContentLogs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyList

type ProxyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Proxy `json:"items"`
}

ProxyList contains a list of Proxy objects.

func (*ProxyList) ConvertToTable

func (pl *ProxyList) ConvertToTable(ctx context.Context, tableOptions runtime.Object) (*metav1.Table, error)

ConvertToTable implements rest.TableConvertor that handles table pretty printing.

func (*ProxyList) DeepCopy

func (in *ProxyList) DeepCopy() *ProxyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyList.

func (*ProxyList) DeepCopyInto

func (in *ProxyList) DeepCopyInto(out *ProxyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxyList) DeepCopyObject

func (in *ProxyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ProxyList) GetListMeta

func (pl *ProxyList) GetListMeta() *metav1.ListMeta

type ProxyReplicaStatus

type ProxyReplicaStatus struct {
	// Name of the replica.
	Name string `json:"name"`

	// Timestamp when the replica connected to the management server.
	ConnectedAt metav1.Time `json:"connectedAt"`

	// Locality specifies the location of the replica.
	// +optional
	Locality string `json:"locality,omitempty,omitzero"`

	// Addresses is a list of addresses assigned to the replica.
	// +optional
	Addresses []ReplicaAddress `json:"addresses,omitempty"`
}

ProxyReplicaStatus defines the status of a proxy replica. This is used to track the status of individual proxy replicas.

func (*ProxyReplicaStatus) DeepCopy

func (in *ProxyReplicaStatus) DeepCopy() *ProxyReplicaStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyReplicaStatus.

func (*ProxyReplicaStatus) DeepCopyInto

func (in *ProxyReplicaStatus) DeepCopyInto(out *ProxyReplicaStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxySpec

type ProxySpec struct {
	// Provider is the infrastructure provider where the proxy will be deployed.
	// Defaults to "cloud" provider.
	Provider InfraProvider `json:"provider,omitempty"`

	// Shutdown configuration for the proxy.
	// +optional
	Shutdown *ShutdownConfig `json:"shutdown,omitempty"`

	// Telemetry configures telemetry for the Proxy.
	// +optional
	Telemetry *ProxyTelementry `json:"telemetry,omitempty"`
}

ProxySpec defines the desired specification of a Proxy.

func (*ProxySpec) DeepCopy

func (in *ProxySpec) DeepCopy() *ProxySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySpec.

func (*ProxySpec) DeepCopyInto

func (in *ProxySpec) DeepCopyInto(out *ProxySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyStatus

type ProxyStatus struct {
	// Addresses is the list of externally-reachable IP addresses for this Proxy.
	// Written by the backplane (shared mode) or apiserver (dedicated mode)
	// from Global Accelerator anycast IPs.
	// +optional
	Addresses []string `json:"addresses,omitempty"`

	// Replicas are statuses of the individual proxy replicas.
	Replicas []*ProxyReplicaStatus `json:"replicas,omitempty"`
}

ProxyStatus defines the observed state of Proxy.

func (*ProxyStatus) CopyTo

func (*ProxyStatus) DeepCopy

func (in *ProxyStatus) DeepCopy() *ProxyStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyStatus.

func (*ProxyStatus) DeepCopyInto

func (in *ProxyStatus) DeepCopyInto(out *ProxyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxyStatus) SubResourceName

func (ps *ProxyStatus) SubResourceName() string

type ProxyTelementry

type ProxyTelementry struct {
	// AccessLogs configures how access logs are handled.
	// Note that access logs cannot be disabled.
	AccessLogs *ProxyAccessLogs `json:"accessLogs,omitempty"`

	// ContentLogs configures how request and response body content are handled.
	// Also refered to as Taps in Envoy. Disabled by default.
	ContentLogs *ProxyContentLogs `json:"contentLogs,omitempty"`

	// Tracing configures how tracing is handled.
	// Disabled by default.
	Tracing *ProxyTracing `json:"tracing,omitempty"`

	// Custom OpenTelemetry collector configuration.
	// Only supported for unmanaged proxies.
	// This must be a ConfigMap or a Secret in the same namespace as Backplane.
	OtelCollectorConfig *LocalObjectReference `json:"otelCollectorConfig,omitempty"`

	// For enabling third party integrations.
	// This is only supported for cloud proxies.
	ThirdPartySinks *ThirdPartySinks `json:"thirdPartySinks,omitempty"`
}

ProxyTelementry defines the monitoring configuration for a Proxy.

func (*ProxyTelementry) DeepCopy

func (in *ProxyTelementry) DeepCopy() *ProxyTelementry

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTelementry.

func (*ProxyTelementry) DeepCopyInto

func (in *ProxyTelementry) DeepCopyInto(out *ProxyTelementry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyTracing

type ProxyTracing struct {
	// Enable tracing.
	Enabled bool `json:"enabled"`

	// Additional tags to populate on the traces.
	Tags map[string]ProxyTracingTagValue `json:"tags,omitempty"`
}

func (*ProxyTracing) DeepCopy

func (in *ProxyTracing) DeepCopy() *ProxyTracing

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTracing.

func (*ProxyTracing) DeepCopyInto

func (in *ProxyTracing) DeepCopyInto(out *ProxyTracing)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyTracingTagValue

type ProxyTracingTagValue struct {
	// Value is a string value for the tag.
	// This may be set with a Header as a fallback/default value.
	Value string `json:"value"`

	// Header is a request header who's value should be set as this tag's value.
	Header string `json:"header"`
}

ProxyTracingTagValue defines a tag value to populate on the traces.

func (*ProxyTracingTagValue) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTracingTagValue.

func (*ProxyTracingTagValue) DeepCopyInto

func (in *ProxyTracingTagValue) DeepCopyInto(out *ProxyTracingTagValue)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Registrant

type Registrant struct {
	// FirstName of the registrant.
	// +optional
	FirstName string `json:"firstName,omitempty"`

	// LastName of the registrant.
	// +optional
	LastName string `json:"lastName,omitempty"`

	// Email of the registrant.
	// +optional
	Email string `json:"email,omitempty"`

	// Phone number of the registrant.
	// +optional
	Phone string `json:"phone,omitempty"`

	// Organization of the registrant.
	// +optional
	Organization string `json:"organization,omitempty"`

	// Address of the registrant.
	// +optional
	Address *Address `json:"address,omitempty"`
}

Registrant contains contact information for domain registration.

func (*Registrant) DeepCopy

func (in *Registrant) DeepCopy() *Registrant

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Registrant.

func (*Registrant) DeepCopyInto

func (in *Registrant) DeepCopyInto(out *Registrant)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegistrationConfig

type RegistrationConfig struct {
	// AutoRenew indicates whether the domain should be automatically renewed.
	// +optional
	AutoRenew bool `json:"autoRenew,omitempty"`

	// RegistrationPeriodYears is the number of years to register the domain for.
	// +optional
	RegistrationPeriodYears int `json:"registrationPeriodYears,omitempty"`

	// Registrant contains the registrant contact information.
	// +optional
	Registrant *Registrant `json:"registrant,omitempty"`
}

RegistrationConfig contains configuration for domain registration.

func (*RegistrationConfig) DeepCopy

func (in *RegistrationConfig) DeepCopy() *RegistrationConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistrationConfig.

func (*RegistrationConfig) DeepCopyInto

func (in *RegistrationConfig) DeepCopyInto(out *RegistrationConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RegistrationStatus

type RegistrationStatus struct {
	// RegistrationID is the unique identifier for the registration.
	// +optional
	RegistrationID string `json:"registrationID,omitempty"`

	// EstimatedCost is the estimated cost for registration or renewal.
	// +optional
	EstimatedCost string `json:"estimatedCost,omitempty"`

	// PaymentURL is the URL to complete payment for registration or renewal.
	// +optional
	PaymentURL string `json:"paymentURL,omitempty"`

	// RegisteredAt is the time when the domain was registered.
	// +optional
	RegisteredAt *metav1.Time `json:"registeredAt,omitempty"`

	// ExpiresAt is the time when the domain registration expires.
	// +optional
	ExpiresAt *metav1.Time `json:"expiresAt,omitempty"`

	// Error contains error information if registration failed.
	// +optional
	Error string `json:"error,omitempty"`
}

RegistrationStatus contains information about domain registration.

func (*RegistrationStatus) DeepCopy

func (in *RegistrationStatus) DeepCopy() *RegistrationStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistrationStatus.

func (*RegistrationStatus) DeepCopyInto

func (in *RegistrationStatus) DeepCopyInto(out *RegistrationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicaAddress

type ReplicaAddress struct {
	// Type of the address.
	Type ReplicaAddressType `json:"type"`

	// Address is the actual address value.
	Address string `json:"address"`
}

ReplicaAddress represents an address assigned to a proxy replica.

func (*ReplicaAddress) DeepCopy

func (in *ReplicaAddress) DeepCopy() *ReplicaAddress

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaAddress.

func (*ReplicaAddress) DeepCopyInto

func (in *ReplicaAddress) DeepCopyInto(out *ReplicaAddress)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReplicaAddressType

type ReplicaAddressType string

ReplicaAddressType represents the type of address for a proxy replica.

const (
	// ReplicaExternalIP is the external IP address of the replica reachable by clients.
	ReplicaExternalIP ReplicaAddressType = "ExternalIP"
	// ReplicaInternalIP is the internal/private IP address of the node running the replica.
	ReplicaInternalIP ReplicaAddressType = "InternalIP"
	// ReplicaInternalULA is the internal IPv6 ULA address used for overlay networking.
	ReplicaInternalULA ReplicaAddressType = "InternalULA"
)

type ShutdownConfig

type ShutdownConfig struct {
	// DrainTimeout is the amount of time to wait before terminating the proxy.
	// Defaults to 30s.
	// +optional
	DrainTimeout *metav1.Duration `json:"drainTimeout,omitempty"`

	// MinimumDrainTime is the minimum amount of time to wait before terminating the proxy.
	// This is useful for ensuring downstream loadbalancers have enough time to
	// pick up healthcheck status and drain the backend target.
	// Can not be less than DrainTimeout.
	// Defaults to 30s.
	// +optional
	MinimumDrainTime *metav1.Duration `json:"minimumDrainTime,omitempty"`
}

func (*ShutdownConfig) DeepCopy

func (in *ShutdownConfig) DeepCopy() *ShutdownConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShutdownConfig.

func (*ShutdownConfig) DeepCopyInto

func (in *ShutdownConfig) DeepCopyInto(out *ShutdownConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ThirdPartySinks

type ThirdPartySinks struct {
	// AxiomLogs is the API key for Axiom logs.
	AxiomLogs *APIKey `json:"axiomLogs,omitempty"`

	// AxiomTraces is the API key for Axiom traces.
	AxiomTraces *APIKey `json:"axiomTraces,omitempty"`

	// DatadogLogs is the API key for Datadog logs.
	DatadogLogs *APIKey `json:"datadogLogs,omitempty"`

	// DatadogTraces is the API key for Datadog traces.
	DatadogTraces *APIKey `json:"datadogTraces,omitempty"`

	// OpenTelemetrySink is the OpenTelemetry sink.
	OpenTelemetrySinks []OpenTelemetrySink `json:"openTelemetrySinks,omitempty"`
}

func (*ThirdPartySinks) DeepCopy

func (in *ThirdPartySinks) DeepCopy() *ThirdPartySinks

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThirdPartySinks.

func (*ThirdPartySinks) DeepCopyInto

func (in *ThirdPartySinks) DeepCopyInto(out *ThirdPartySinks)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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