Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the registry v1 API group +kubebuilder:object:generate=true +groupName=registry.ethos.adobe.com
Index ¶
- Variables
- type APIServer
- type AllowedOnboardingTeam
- type AvailabilityZone
- type Capacity
- type Cluster
- type ClusterList
- type ClusterSpec
- type ClusterStatus
- type Extra
- type Offering
- type PeerVirtualNetwork
- type ServiceMetadata
- type ServiceMetadataItem
- type ServiceMetadataMap
- type Tier
- type VirtualNetwork
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 AvailabilityZone ¶ added in v1.5.3
func (*AvailabilityZone) DeepCopy ¶ added in v1.5.3
func (in *AvailabilityZone) DeepCopy() *AvailabilityZone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AvailabilityZone.
func (*AvailabilityZone) DeepCopyInto ¶ added in v1.5.3
func (in *AvailabilityZone) DeepCopyInto(out *AvailabilityZone)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Capacity ¶ added in v1.3.0
type Capacity struct {
LastUpdated string `json:"lastUpdated"`
ClusterCapacity int `json:"clusterCapacity"`
ClusterProvisioning int `json:"clusterProvisioning"`
}
Capacity cluster information
func (*Capacity) DeepCopy ¶ added in v1.4.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Capacity.
func (*Capacity) DeepCopyInto ¶ added in v1.4.2
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 BU responsible for paying for the cluster.
// +kubebuilder:validation:Required
ChargebackBusinessUnit string `json:"chargebackBusinessUnit"`
// Whether the cluster is charged back to the chargebackBusinessUnit
// +kubebuilder:validation:Required
ChargedBack bool `json:"chargedBack"`
// 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"`
// 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"`
// Cluster maintenance group
// +kubebuilder:validation:Required
MaintenanceGroup string `json:"maintenanceGroup"`
// The corresponding Argo instance of the cluster
// +kubebuilder:validation:Required
ArgoInstance string `json:"argoInstance"`
// 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 manual 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"`
// Capacity cluster information
Capacity Capacity `json:"capacity,omitempty"`
// ServiceMetadata service specific metadata
ServiceMetadata ServiceMetadata `json:"services,omitempty"`
// AvailabilityZones cluster availability zones
AvailabilityZones []AvailabilityZone `json:"availabilityZones,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"`
// OIDC Issuer URL
OidcIssuer string `json:"oidcIssuer,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 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 ServiceMetadata ¶ added in v1.5.1
type ServiceMetadata map[string]ServiceMetadataItem
func (ServiceMetadata) DeepCopy ¶ added in v1.5.1
func (in ServiceMetadata) DeepCopy() ServiceMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMetadata.
func (ServiceMetadata) DeepCopyInto ¶ added in v1.5.1
func (in ServiceMetadata) DeepCopyInto(out *ServiceMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceMetadataItem ¶ added in v1.5.1
type ServiceMetadataItem map[string]ServiceMetadataMap
func (ServiceMetadataItem) DeepCopy ¶ added in v1.5.1
func (in ServiceMetadataItem) DeepCopy() ServiceMetadataItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMetadataItem.
func (ServiceMetadataItem) DeepCopyInto ¶ added in v1.5.1
func (in ServiceMetadataItem) DeepCopyInto(out *ServiceMetadataItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceMetadataMap ¶ added in v1.5.1
func (ServiceMetadataMap) DeepCopy ¶ added in v1.5.1
func (in ServiceMetadataMap) DeepCopy() ServiceMetadataMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMetadataMap.
func (ServiceMetadataMap) DeepCopyInto ¶ added in v1.5.1
func (in ServiceMetadataMap) DeepCopyInto(out *ServiceMetadataMap)
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.