Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the registry v1 API group +kubebuilder:object:generate=true +groupName=registry.ethos.adobe.com
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "registry.ethos.adobe.com", Version: "v1"} // 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 APIServer ¶
type APIServer struct {
// Information about K8s Api Endpoint
// +kubebuilder:validation:Required
Endpoint string `json:"endpoint"`
// Information about K8s Api CA Cert
CertificateAuthorityData string `json:"certificateAuthorityData"`
}
APIServer - information about K8s API server
func (*APIServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServer.
func (*APIServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllowedOnboardingTeam ¶
type AllowedOnboardingTeam struct {
// Name of the team
// +kubebuilder:validation:Required
Name string `json:"name"`
// List of git teams
GitTeams []string `json:"gitTeams,omitempty"`
// List of ldap groups
LdapGroups []string `json:"ldapGroups,omitempty"`
}
AllowedOnboardingTeam represents the Git teams and/or LDAP groups that are allowed to onboard
func (*AllowedOnboardingTeam) DeepCopy ¶
func (in *AllowedOnboardingTeam) DeepCopy() *AllowedOnboardingTeam
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedOnboardingTeam.
func (*AllowedOnboardingTeam) DeepCopyInto ¶
func (in *AllowedOnboardingTeam) DeepCopyInto(out *AllowedOnboardingTeam)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterSpec `json:"spec,omitempty"`
Status ClusterStatus `json:"status,omitempty"`
}
Cluster is the Schema for the clusters API
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterList ¶
type ClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Cluster `json:"items"`
}
ClusterList contains a list of Cluster
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSpec ¶
type ClusterSpec struct {
// Cluster name
// +kubebuilder:validation:Required
// +kubebuilder:validation:MaxLength=64
// +kubebuilder:validation:MinLength=3
Name string `json:"name"`
// Cluster name, without dash
// +kubebuilder:validation:Required
// +kubebuilder:validation:MaxLength=64
// +kubebuilder:validation:MinLength=3
ShortName string `json:"shortName"`
// Information about K8s API endpoint and CA cert
// +kubebuilder:validation:Required
APIServer APIServer `json:"apiServer"`
// Cluster internal region name
// +kubebuilder:validation:Required
Region string `json:"region"`
// The cloud provider
// +kubebuilder:validation:Required
CloudType string `json:"cloudType"`
// The cloud provider standard region
// +kubebuilder:validation:Required
CloudProviderRegion string `json:"cloudProviderRegion"`
// Cluster environment
// +kubebuilder:validation:Required
Environment string `json:"environment"`
// The BU that owns the cluster
// +kubebuilder:validation:Required
BusinessUnit string `json:"businessUnit"`
// The Org that is responsible for the cluster operations
// +kubebuilder:validation:Required
ManagingOrg string `json:"managingOrg"`
// The Offering that the cluster is meant for
// +kubebuilder:validation:Required
Offering []Offering `json:"offering"`
// The cloud account associated with the cluster
// +kubebuilder:validation:Required
AccountID string `json:"accountId"`
// List of tiers with their associated information
// +kubebuilder:validation:Required
Tiers []Tier `json:"tiers"`
// Virtual Private Networks information
// +kubebuilder:validation:Required
VirtualNetworks []VirtualNetwork `json:"virtualNetworks"`
// K8s Infrastructure release information
// +kubebuilder:validation:Required
K8sInfraRelease K8sInfraRelease `json:"k8sInfraRelease"`
// Timestamp when cluster was registered in Cluster Registry
// +kubebuilder:validation:Required
RegisteredAt string `json:"registeredAt"`
// Cluster status
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=Inactive;Active;Deprecated;Deleted
Status string `json:"status"`
// Cluster phase
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=Building;Testing;Running;Upgrading
Phase string `json:"phase"`
// The type of the cluster
Type string `json:"type,omitempty"`
// Extra information, not necessary related to the cluster
Extra Extra `json:"extra,omitempty"`
// Git teams and/or LDAP groups that are allowed to onboard and deploy on the cluster
AllowedOnboardingTeams []AllowedOnboardingTeam `json:"allowedOnboardingTeams,omitempty"`
// List of cluster capabilities
Capabilities []string `json:"capabilities,omitempty"`
// Information about Virtual Networks peered with the cluster
PeerVirtualNetworks []PeerVirtualNetwork `json:"peerVirtualNetworks,omitempty"`
// Timestamp when cluster information was updated
LastUpdated string `json:"lastUpdated"`
// Cluster tags that were applied
Tags map[string]string `json:"tags,omitempty"`
}
ClusterSpec defines the desired state of Cluster
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct {
}
ClusterStatus defines the observed state of Cluster
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Extra ¶
type Extra struct {
// Name of the domain
// +kubebuilder:validation:Required
DomainName string `json:"domainName"`
// Load balancer endpoints
// +kubebuilder:validation:Required
LbEndpoints map[string]string `json:"lbEndpoints"`
// Logging endpoints
// +kubebuilder:validation:Required
LoggingEndpoints []map[string]string `json:"loggingEndpoints,omitempty"`
// List of IAM Arns
EcrIamArns map[string][]string `json:"ecrIamArns,omitempty"`
// Egress ports allowed outside of the namespace
EgressPorts string `json:"egressPorts,omitempty"`
// NFS information
NFSInfo []map[string]string `json:"nfsInfo,omitempty"`
// ExtendedRegion information
ExtendedRegion string `json:"extendedRegion,omitempty"`
}
Extra information
func (*Extra) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extra.
func (*Extra) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K8sInfraRelease ¶
type K8sInfraRelease struct {
// GitSha of the release
GitSha string `json:"gitSha"`
// When the release was applied on the cluster
LastUpdated string `json:"lastUpdated"`
// Release name
Release string `json:"release"`
}
K8sInfraRelease information
func (*K8sInfraRelease) DeepCopy ¶
func (in *K8sInfraRelease) DeepCopy() *K8sInfraRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8sInfraRelease.
func (*K8sInfraRelease) DeepCopyInto ¶
func (in *K8sInfraRelease) DeepCopyInto(out *K8sInfraRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Offering ¶
type Offering string
Offering the cluster is meant for +kubebuilder:validation:Enum=CaaS;PaaS
type PeerVirtualNetwork ¶
type PeerVirtualNetwork struct {
// Remote Virtual Netowrk ID
ID string `json:"id,omitempty"`
// Remote Virtual Netowrk CIDRs
Cidrs []string `json:"cidrs,omitempty"`
// Cloud account of the owner
OwnerID string `json:"ownerID,omitempty"`
}
PeerVirtualNetwork - peering information done at cluster onboarding
func (*PeerVirtualNetwork) DeepCopy ¶
func (in *PeerVirtualNetwork) DeepCopy() *PeerVirtualNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerVirtualNetwork.
func (*PeerVirtualNetwork) DeepCopyInto ¶
func (in *PeerVirtualNetwork) DeepCopyInto(out *PeerVirtualNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tier ¶
type Tier struct {
// Name of the tier
// +kubebuilder:validation:Required
Name string `json:"name"`
// Type of the instances
// +kubebuilder:validation:Required
InstanceType string `json:"instanceType"`
// Container runtime
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=docker;cri-o
ContainerRuntime string `json:"containerRuntime"`
// Min number of instances
// +kubebuilder:validation:Required
MinCapacity int `json:"minCapacity"`
// Max number of instances
// +kubebuilder:validation:Required
MaxCapacity int `json:"maxCapacity"`
// Instance K8s labels
Labels map[string]string `json:"labels,omitempty"`
// Instance K8s taints
Taints []string `json:"taints,omitempty"`
// EnableKataSupport
EnableKataSupport bool `json:"enableKataSupport,omitempty"`
// KernelParameters
KernelParameters map[string]string `json:"kernelParameters,omitempty"`
}
Tier details
func (*Tier) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tier.
func (*Tier) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualNetwork ¶
type VirtualNetwork struct {
// Virtual private network Id
// +kubebuilder:validation:Required
ID string `json:"id"`
// CIDRs used in this VirtualNetwork
// +kubebuilder:validation:Required
Cidrs []string `json:"cidrs"`
}
VirtualNetwork information
func (*VirtualNetwork) DeepCopy ¶
func (in *VirtualNetwork) DeepCopy() *VirtualNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNetwork.
func (*VirtualNetwork) DeepCopyInto ¶
func (in *VirtualNetwork) DeepCopyInto(out *VirtualNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.