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"`
	MaxBQUPerRequest    int    `json:"maxBquPerRequest"`
	ClusterMaxBQU       int    `json:"clusterMaxBqu"`
	ClusterCurrentBQU   int    `json:"clusterCurrentBqu"`
}
    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.
	ChargebackBusinessUnit string `json:"chargebackBusinessUnit,omitempty"`
	// Whether the cluster is charged back to the chargebackBusinessUnit
	ChargedBack *bool `json:"chargedBack,omitempty"`
	// 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.
func (*ClusterSpec) Merge ¶ added in v1.6.0
func (dst *ClusterSpec) Merge(src *ClusterSpec) error
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
	DomainName string `json:"domainName"`
	// Load balancer endpoints
	LbEndpoints map[string]string `json:"lbEndpoints"`
	// Logging endpoints
	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"`
	// Namespace Profile Infrastructure Type
	NamespaceProfileInfraType string `json:"namespaceProfileInfraType,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.