v1

package
v1.6.3 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

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

View Source
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

func (in *APIServer) DeepCopy() *APIServer

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

func (*APIServer) DeepCopyInto

func (in *APIServer) DeepCopyInto(out *APIServer)

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

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

type AvailabilityZone struct {
	Name string `json:"name"`
	ID   string `json:"id,omitempty"`
}

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

func (in *Capacity) DeepCopy() *Capacity

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

func (*Capacity) DeepCopyInto added in v1.4.2

func (in *Capacity) DeepCopyInto(out *Capacity)

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

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (in *Extra) DeepCopy() *Extra

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

func (*Extra) DeepCopyInto

func (in *Extra) DeepCopyInto(out *Extra)

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

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

type ServiceMetadataMap map[string]string

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

func (in *Tier) DeepCopy() *Tier

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

func (*Tier) DeepCopyInto

func (in *Tier) DeepCopyInto(out *Tier)

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.

Jump to

Keyboard shortcuts

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