v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the operator v1alpha1 API group +kubebuilder:object:generate=true +groupName=operator.kubecarrier.io

Index

Constants

View Source
const (
	APIServerTerminatingReason = "Deleting"
)
View Source
const (
	CatapultTerminatingReason = "Deleting"
)
View Source
const (
	ElevatorTerminatingReason = "Deleting"
)
View Source
const (
	FerryTerminatingReason string = "Terminating"
)
View Source
const (
	KubeCarrierTerminatingReason = "Deleting"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "operator.kubecarrier.io", Version: "v1alpha1"}

	// 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 added in v0.2.0

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

	Spec   APIServerSpec   `json:"spec,omitempty"`
	Status APIServerStatus `json:"status,omitempty"`
}

APIServer manages the deployment of the KubeCarrier central API server. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=all +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*APIServer) DeepCopy added in v0.2.0

func (in *APIServer) DeepCopy() *APIServer

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

func (*APIServer) DeepCopyInto added in v0.2.0

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

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

func (*APIServer) DeepCopyObject added in v0.2.0

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

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

func (*APIServer) IsReady added in v0.2.0

func (s *APIServer) IsReady() bool

IsReady returns if the APIServer is ready.

func (*APIServer) SetReadyCondition added in v0.2.0

func (s *APIServer) SetReadyCondition() bool

func (*APIServer) SetTerminatingCondition added in v0.2.0

func (s *APIServer) SetTerminatingCondition() bool

func (*APIServer) SetUnReadyCondition added in v0.2.0

func (s *APIServer) SetUnReadyCondition() bool

type APIServerCondition added in v0.2.0

type APIServerCondition struct {
	// Type is the type of the APIServer condition, currently ('Ready').
	Type APIServerConditionType `json:"type"`
	// Status is the status of the condition, one of ('True', 'False', 'Unknown').
	Status ConditionStatus `json:"status"`
	// LastTransitionTime is the last time the condition transits from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// Reason is the (brief) reason for the condition's last transition.
	Reason string `json:"reason"`
	// Message is the human readable message indicating details about last transition.
	Message string `json:"message"`
}

APIServerCondition contains details for the current condition of this APIServer.

func (*APIServerCondition) DeepCopy added in v0.2.0

func (in *APIServerCondition) DeepCopy() *APIServerCondition

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

func (*APIServerCondition) DeepCopyInto added in v0.2.0

func (in *APIServerCondition) DeepCopyInto(out *APIServerCondition)

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

func (APIServerCondition) True added in v0.2.0

func (c APIServerCondition) True() bool

True returns whether .Status == "True"

type APIServerConditionType added in v0.2.0

type APIServerConditionType string

APIServerConditionType represents a APIServerCondition value.

const (
	// APIServerReady represents a APIServer condition is in ready state.
	APIServerReady APIServerConditionType = "Ready"
)

type APIServerList added in v0.2.0

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

APIServerList contains a list of APIServer

func (*APIServerList) DeepCopy added in v0.2.0

func (in *APIServerList) DeepCopy() *APIServerList

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

func (*APIServerList) DeepCopyInto added in v0.2.0

func (in *APIServerList) DeepCopyInto(out *APIServerList)

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

func (*APIServerList) DeepCopyObject added in v0.2.0

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

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

type APIServerOIDCConfig added in v0.2.0

type APIServerOIDCConfig struct {
	// IssuerURL is the URL the provider signs ID Tokens as. This will be the "iss"
	// field of all tokens produced by the provider and is used for configuration
	// discovery.
	//
	// The URL is usually the provider's URL without a path, for example
	// "https://accounts.google.com" or "https://login.salesforce.com".
	//
	// The provider must implement configuration discovery.
	// See: https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig
	IssuerURL string `json:"issuerURL"`

	// ClientID the JWT must be issued for, the "sub" field. This plugin only trusts a single
	// client to ensure the plugin can be used with public providers.
	//
	// The plugin supports the "authorized party" OpenID Connect claim, which allows
	// specialized providers to issue tokens to a client for a different client.
	// See: https://openid.net/specs/openid-connect-core-1_0.html#IDToken
	ClientID string `json:"clientID"`

	// APIAudiences are the audiences that the API server identitifes as. The
	// (API audiences unioned with the ClientIDs) should have a non-empty
	// intersection with the request's target audience. This preserves the
	// behavior of the OIDC authenticator pre-introduction of API audiences.
	// +optional
	APIAudiences authenticator.Audiences `json:"apiAudiences,omitempty"`

	// CertificateAuthority references the secret containing issuer's CA in a PEM encoded root certificate of the provider.
	CertificateAuthority ObjectReference `json:"certificateAuthority"`

	// UsernameClaim is the JWT field to use as the user's username.
	// +kubebuilder:default=sub
	// +optional
	UsernameClaim string `json:"usernameClaim"`

	// UsernamePrefix, if specified, causes claims mapping to username to be prefix with
	// the provided value. A value "oidc:" would result in usernames like "oidc:john".
	// +optional
	UsernamePrefix string `json:"usernamePrefix,omitempty"`

	// GroupsClaim, if specified, causes the OIDCAuthenticator to try to populate the user's
	// groups with an ID Token field. If the GroupsClaim field is present in an ID Token the value
	// must be a string or list of strings.
	// +optional
	GroupsClaim string `json:"groupsClaim,omitempty"`

	// GroupsPrefix, if specified, causes claims mapping to group names to be prefixed with the
	// value. A value "oidc:" would result in groups like "oidc:engineering" and "oidc:marketing".
	// +optional
	GroupsPrefix string `json:"groupsPrefix,omitempty"`

	// SupportedSigningAlgs sets the accepted set of JOSE signing algorithms that
	// can be used by the provider to sign tokens.
	//
	// https://tools.ietf.org/html/rfc7518#section-3.1
	//
	// This value defaults to RS256, the value recommended by the OpenID Connect
	// spec:
	//
	// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
	// +kubebuilder:default=RS256;
	SupportedSigningAlgs []string `json:"supportedSigningAlgs,omitempty"`

	// RequiredClaims, if specified, causes the OIDCAuthenticator to verify that all the
	// required claims key value pairs are present in the ID Token.
	// +optional
	RequiredClaims map[string]string `json:"requiredClaims,omitempty"`
}

func (*APIServerOIDCConfig) DeepCopy added in v0.2.0

func (in *APIServerOIDCConfig) DeepCopy() *APIServerOIDCConfig

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

func (*APIServerOIDCConfig) DeepCopyInto added in v0.2.0

func (in *APIServerOIDCConfig) DeepCopyInto(out *APIServerOIDCConfig)

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

type APIServerPhaseType added in v0.2.0

type APIServerPhaseType string

APIServerPhaseType represents all conditions as a single string for printing by using kubectl commands.

const (
	APIServerPhaseReady       APIServerPhaseType = "Ready"
	APIServerPhaseNotReady    APIServerPhaseType = "NotReady"
	APIServerPhaseUnknown     APIServerPhaseType = "Unknown"
	APIServerPhaseTerminating APIServerPhaseType = "Terminating"
)

Values of APIServerPhaseType.

type APIServerSpec added in v0.2.0

type APIServerSpec struct {
	// TLSSecretRef references the TLS certificate and private key for serving the KubeCarrier API.
	// +optional
	TLSSecretRef *ObjectReference `json:"tlsSecretRef,omitempty"`
	// OIDC specifies OpenID Connect configuration for API Server authentication
	// +optional
	OIDC *APIServerOIDCConfig `json:"oidc,omitempty"`
	// StaticUsers specifies static users configuration for API Server authentication
	// +optional
	StaticUsers *StaticUsers `json:"staticUsers,omitempty"`
}

APIServerSpec defines the desired state of APIServer

func (*APIServerSpec) DeepCopy added in v0.2.0

func (in *APIServerSpec) DeepCopy() *APIServerSpec

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

func (*APIServerSpec) DeepCopyInto added in v0.2.0

func (in *APIServerSpec) DeepCopyInto(out *APIServerSpec)

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

type APIServerStatus added in v0.2.0

type APIServerStatus struct {
	// ObservedGeneration is the most recent generation observed for this APIServer by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions represents the latest available observations of a APIServer's current state.
	Conditions []APIServerCondition `json:"conditions,omitempty"`
	// DEPRECATED.
	// Phase represents the current lifecycle state of this object.
	// Consider this field DEPRECATED, it will be removed as soon as there
	// is a mechanism to map conditions to strings when printing the property.
	// This is only for display purpose, for everything else use conditions.
	Phase APIServerPhaseType `json:"phase,omitempty"`
}

APIServerStatus defines the observed state of APIServer

func (*APIServerStatus) DeepCopy added in v0.2.0

func (in *APIServerStatus) DeepCopy() *APIServerStatus

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

func (*APIServerStatus) DeepCopyInto added in v0.2.0

func (in *APIServerStatus) DeepCopyInto(out *APIServerStatus)

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

func (*APIServerStatus) GetCondition added in v0.2.0

func (s *APIServerStatus) GetCondition(t APIServerConditionType) (condition APIServerCondition, exists bool)

GetCondition returns the Condition of the given condition type, if it exists.

func (*APIServerStatus) SetCondition added in v0.2.0

func (s *APIServerStatus) SetCondition(condition APIServerCondition)

SetCondition replaces or adds the given condition.

type CRDReference

type CRDReference struct {
	Kind    string `json:"kind"`
	Version string `json:"version"`
	Group   string `json:"group"`
	Plural  string `json:"plural"`
}

CRDReference references a CustomResourceDefitition.

func (*CRDReference) DeepCopy

func (in *CRDReference) DeepCopy() *CRDReference

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

func (*CRDReference) DeepCopyInto

func (in *CRDReference) DeepCopyInto(out *CRDReference)

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

type Catapult

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

	Spec   CatapultSpec   `json:"spec,omitempty"`
	Status CatapultStatus `json:"status,omitempty"`
}

Catapult manages the deployment of the Catapult controller manager.

A Catapult instance is started for each CustomResourceDiscovery instance and responsible for reconciling CRD instances across Kubernetes Clusters. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:categories=all

func (*Catapult) DeepCopy

func (in *Catapult) DeepCopy() *Catapult

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

func (*Catapult) DeepCopyInto

func (in *Catapult) DeepCopyInto(out *Catapult)

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

func (*Catapult) DeepCopyObject

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

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

func (*Catapult) IsReady

func (s *Catapult) IsReady() bool

IsReady returns if the Catapult is ready.

func (*Catapult) SetReadyCondition added in v0.2.0

func (s *Catapult) SetReadyCondition() bool

func (*Catapult) SetTerminatingCondition added in v0.2.0

func (s *Catapult) SetTerminatingCondition() bool

func (*Catapult) SetUnReadyCondition added in v0.2.0

func (s *Catapult) SetUnReadyCondition() bool

type CatapultCondition

type CatapultCondition struct {
	// Type is the type of the Catapult condition, currently ('Ready').
	Type CatapultConditionType `json:"type"`
	// Status is the status of the condition, one of ('True', 'False', 'Unknown').
	Status ConditionStatus `json:"status"`
	// LastTransitionTime is the last time the condition transits from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// Reason is the (brief) reason for the condition's last transition.
	Reason string `json:"reason"`
	// Message is the human readable message indicating details about last transition.
	Message string `json:"message"`
}

CatapultCondition contains details for the current condition of this Catapult.

func (*CatapultCondition) DeepCopy

func (in *CatapultCondition) DeepCopy() *CatapultCondition

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

func (*CatapultCondition) DeepCopyInto

func (in *CatapultCondition) DeepCopyInto(out *CatapultCondition)

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

func (CatapultCondition) True

func (c CatapultCondition) True() bool

True returns whether .Status == "True"

type CatapultConditionType

type CatapultConditionType string

CatapultConditionType represents a CatapultCondition value.

const (
	// CatapultReady represents a Catapult condition is in ready state.
	CatapultReady CatapultConditionType = "Ready"
)

type CatapultList

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

CatapultList contains a list of Catapult. +kubebuilder:object:root=true

func (*CatapultList) DeepCopy

func (in *CatapultList) DeepCopy() *CatapultList

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

func (*CatapultList) DeepCopyInto

func (in *CatapultList) DeepCopyInto(out *CatapultList)

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

func (*CatapultList) DeepCopyObject

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

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

type CatapultPhaseType

type CatapultPhaseType string

CatapultPhaseType represents all conditions as a single string for printing by using kubectl commands.

const (
	CatapultPhaseReady       CatapultPhaseType = "Ready"
	CatapultPhaseNotReady    CatapultPhaseType = "NotReady"
	CatapultPhaseUnknown     CatapultPhaseType = "Unknown"
	CatapultPhaseTerminating CatapultPhaseType = "Terminating"
)

Values of CatapultPhaseType.

type CatapultSpec

type CatapultSpec struct {
	// References the CRD in the Management Cluster.
	ManagementClusterCRD CRDReference `json:"managementClusterCRD"`
	// References the CRD in the ServiceCluster.
	ServiceClusterCRD CRDReference `json:"serviceClusterCRD"`
	// References the ServiceCluster object that this object belongs to.
	ServiceCluster ObjectReference `json:"serviceCluster"`
	// WebhookStrategy configs the webhook of the CRD which is registered in the management cluster by this Catapult.
	// There are two possible values for this configuration {None (by default), ServiceCluster}
	// None (by default): Webhook will only check if there is an available ServiceClusterAssignment in the current Namespace.
	// ServiceCluster: Webhook will call webhooks of the CRD in the ServiceCluster with dry-run flag.
	// +kubebuilder:default:=None
	WebhookStrategy corev1alpha1.WebhookStrategyType `json:"webhookStrategy,omitempty"`
}

CatapultSpec defines the desired state of Catapult.

func (*CatapultSpec) DeepCopy

func (in *CatapultSpec) DeepCopy() *CatapultSpec

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

func (*CatapultSpec) DeepCopyInto

func (in *CatapultSpec) DeepCopyInto(out *CatapultSpec)

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

type CatapultStatus

type CatapultStatus struct {
	// ObservedGeneration is the most recent generation observed for this Catapult by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions represents the latest available observations of a Catapult's current state.
	Conditions []CatapultCondition `json:"conditions,omitempty"`
	// DEPRECATED.
	// Phase represents the current lifecycle state of this object.
	// Consider this field DEPRECATED, it will be removed as soon as there
	// is a mechanism to map conditions to strings when printing the property.
	// This is only for display purpose, for everything else use conditions.
	Phase CatapultPhaseType `json:"phase,omitempty"`
}

CatapultStatus defines the observed state of Catapult.

func (*CatapultStatus) DeepCopy

func (in *CatapultStatus) DeepCopy() *CatapultStatus

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

func (*CatapultStatus) DeepCopyInto

func (in *CatapultStatus) DeepCopyInto(out *CatapultStatus)

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

func (*CatapultStatus) GetCondition

func (s *CatapultStatus) GetCondition(t CatapultConditionType) (condition CatapultCondition, exists bool)

GetCondition returns the Condition of the given condition type, if it exists.

func (*CatapultStatus) SetCondition

func (s *CatapultStatus) SetCondition(condition CatapultCondition)

SetCondition replaces or adds the given condition.

type ConditionStatus

type ConditionStatus string

ConditionStatus represents a condition's status.

const (
	// ConditionTrue represents the fact that a given condition is true
	ConditionTrue ConditionStatus = "True"

	// ConditionFalse represents the fact that a given condition is false
	ConditionFalse ConditionStatus = "False"

	// ConditionUnknown represents the fact that a given condition is unknown
	ConditionUnknown ConditionStatus = "Unknown"
)

These are valid condition statuses. "ConditionTrue" means a resource is in the condition; "ConditionFalse" means a resource is not in the condition; "ConditionUnknown" means Kubernetes can't decide if a resource is in the condition or not.

type Elevator

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

	Spec   ElevatorSpec   `json:"spec,omitempty"`
	Status ElevatorStatus `json:"status,omitempty"`
}

Elevator manages the deployment of the Elevator controller manager.

For each `DerivedCustomResource` a Elevator instance is launched to propagate the derived CRD instance into the Namespace of it's provider. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:categories=all

func (*Elevator) DeepCopy

func (in *Elevator) DeepCopy() *Elevator

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

func (*Elevator) DeepCopyInto

func (in *Elevator) DeepCopyInto(out *Elevator)

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

func (*Elevator) DeepCopyObject

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

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

func (*Elevator) IsReady

func (s *Elevator) IsReady() bool

IsReady returns if the Elevator is ready.

func (*Elevator) SetReadyCondition added in v0.2.0

func (s *Elevator) SetReadyCondition() bool

func (*Elevator) SetTerminatingCondition added in v0.2.0

func (s *Elevator) SetTerminatingCondition() bool

func (*Elevator) SetUnReadyCondition added in v0.2.0

func (s *Elevator) SetUnReadyCondition() bool

type ElevatorCondition

type ElevatorCondition struct {
	// Type is the type of the Elevator condition, currently ('Ready').
	Type ElevatorConditionType `json:"type"`
	// Status is the status of the condition, one of ('True', 'False', 'Unknown').
	Status ConditionStatus `json:"status"`
	// LastTransitionTime is the last time the condition transits from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// Reason is the (brief) reason for the condition's last transition.
	Reason string `json:"reason"`
	// Message is the human readable message indicating details about last transition.
	Message string `json:"message"`
}

ElevatorCondition contains details for the current condition of this Elevator.

func (*ElevatorCondition) DeepCopy

func (in *ElevatorCondition) DeepCopy() *ElevatorCondition

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

func (*ElevatorCondition) DeepCopyInto

func (in *ElevatorCondition) DeepCopyInto(out *ElevatorCondition)

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

func (ElevatorCondition) True

func (c ElevatorCondition) True() bool

True returns whether .Status == "True"

type ElevatorConditionType

type ElevatorConditionType string

ElevatorConditionType represents a ElevatorCondition value.

const (
	// ElevatorReady represents a Elevator condition is in ready state.
	ElevatorReady ElevatorConditionType = "Ready"
)

type ElevatorList

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

ElevatorList contains a list of Elevator. +kubebuilder:object:root=true

func (*ElevatorList) DeepCopy

func (in *ElevatorList) DeepCopy() *ElevatorList

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

func (*ElevatorList) DeepCopyInto

func (in *ElevatorList) DeepCopyInto(out *ElevatorList)

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

func (*ElevatorList) DeepCopyObject

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

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

type ElevatorPhaseType

type ElevatorPhaseType string

ElevatorPhaseType represents all conditions as a single string for printing by using kubectl commands.

const (
	ElevatorPhaseReady       ElevatorPhaseType = "Ready"
	ElevatorPhaseNotReady    ElevatorPhaseType = "NotReady"
	ElevatorPhaseUnknown     ElevatorPhaseType = "Unknown"
	ElevatorPhaseTerminating ElevatorPhaseType = "Terminating"
)

Values of ElevatorPhaseType.

type ElevatorSpec

type ElevatorSpec struct {
	// References the provider or internal CRD, that should be created in the provider namespace.
	ProviderCRD CRDReference `json:"providerCRD"`
	// References the public CRD that will be synced into the provider namespace.
	TenantCRD CRDReference `json:"tenantCRD"`
	// References the DerivedCustomResource controlling the Tenant-side CRD.
	DerivedCR ObjectReference `json:"derivedCR"`
}

ElevatorSpec defines the desired state of Elevator.

func (*ElevatorSpec) DeepCopy

func (in *ElevatorSpec) DeepCopy() *ElevatorSpec

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

func (*ElevatorSpec) DeepCopyInto

func (in *ElevatorSpec) DeepCopyInto(out *ElevatorSpec)

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

type ElevatorStatus

type ElevatorStatus struct {
	// ObservedGeneration is the most recent generation observed for this Elevator by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions represents the latest available observations of a Elevator's current state.
	Conditions []ElevatorCondition `json:"conditions,omitempty"`
	// DEPRECATED.
	// Phase represents the current lifecycle state of this object.
	// Consider this field DEPRECATED, it will be removed as soon as there
	// is a mechanism to map conditions to strings when printing the property.
	// This is only for display purpose, for everything else use conditions.
	Phase ElevatorPhaseType `json:"phase,omitempty"`
}

ElevatorStatus defines the observed state of Elevator.

func (*ElevatorStatus) DeepCopy

func (in *ElevatorStatus) DeepCopy() *ElevatorStatus

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

func (*ElevatorStatus) DeepCopyInto

func (in *ElevatorStatus) DeepCopyInto(out *ElevatorStatus)

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

func (*ElevatorStatus) GetCondition

func (s *ElevatorStatus) GetCondition(t ElevatorConditionType) (condition ElevatorCondition, exists bool)

GetCondition returns the Condition of the given condition type, if it exists.

func (*ElevatorStatus) SetCondition

func (s *ElevatorStatus) SetCondition(condition ElevatorCondition)

SetCondition replaces or adds the given condition.

type Ferry

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

	Spec   FerrySpec   `json:"spec,omitempty"`
	Status FerryStatus `json:"status,omitempty"`
}

Ferry manages the deployment of the Ferry controller manager.

Ferry lives in the Provider Namespace. For each ferry the KubeCarrier operator spins up the ferry controller deployment, necessary roles, service accounts, and role bindings.

The reason for ferry controller deployment are multiples:

  • security --> KubeCarrier operator has greater privileges then ferry controller
  • resource isolation --> each ferry controller pod operates only on a single service cluster, thus resource allocation and monitoring is separate per ferry. This allows finer grade resource tuning and monitoring
  • flexibility --> If needed different ferries could have different deployments depending on their specific need (e.g. KubeCarrier image version for gradual rolling upgrade, different resource allocation, etc),

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:categories=all

func (*Ferry) DeepCopy

func (in *Ferry) DeepCopy() *Ferry

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

func (*Ferry) DeepCopyInto

func (in *Ferry) DeepCopyInto(out *Ferry)

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

func (*Ferry) DeepCopyObject

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

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

func (*Ferry) IsReady

func (s *Ferry) IsReady() bool

IsReady returns if the Ferry is ready.

func (*Ferry) SetReadyCondition added in v0.2.0

func (s *Ferry) SetReadyCondition() bool

func (*Ferry) SetTerminatingCondition added in v0.2.0

func (s *Ferry) SetTerminatingCondition() bool

func (*Ferry) SetUnReadyCondition added in v0.2.0

func (s *Ferry) SetUnReadyCondition() bool

type FerryCondition

type FerryCondition struct {
	// LastTransitionTime is the last time the condition transit from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// Message is the human readable message indicating details about last transition.
	Message string `json:"message"`
	// Reason is the (brief) reason for the condition's last transition.
	Reason string `json:"reason"`
	// Status of the condition, one of ('True', 'False', 'Unknown').
	Status ConditionStatus `json:"status"`
	// Type of the condition, currently ('Ready').
	Type FerryConditionType `json:"type"`
}

FerryCondition contains details for the current condition of this Ferry.

func (*FerryCondition) DeepCopy

func (in *FerryCondition) DeepCopy() *FerryCondition

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

func (*FerryCondition) DeepCopyInto

func (in *FerryCondition) DeepCopyInto(out *FerryCondition)

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

func (FerryCondition) True

func (c FerryCondition) True() bool

True returns whether .Status == "True"

type FerryConditionType

type FerryConditionType string

FerryConditionType represents a FerryCondition value.

const (
	// FerryReady represents a Ferry condition is in ready state.
	FerryReady FerryConditionType = "Ready"
)

type FerryList

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

FerryList contains a list of Ferry. +kubebuilder:object:root=true

func (*FerryList) DeepCopy

func (in *FerryList) DeepCopy() *FerryList

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

func (*FerryList) DeepCopyInto

func (in *FerryList) DeepCopyInto(out *FerryList)

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

func (*FerryList) DeepCopyObject

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

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

type FerryPhaseType

type FerryPhaseType string

FerryPhaseType represents all conditions as a single string for printing in kubectl.

const (
	FerryPhaseReady       FerryPhaseType = "Ready"
	FerryPhaseNotReady    FerryPhaseType = "NotReady"
	FerryPhaseTerminating FerryPhaseType = "Terminating"
	FerryPhaseUnknown     FerryPhaseType = "Unknown"
)

Values of FerryPhaseType.

type FerrySpec

type FerrySpec struct {
	// KubeconfigSecret specifies the Kubeconfig to use when connecting to the ServiceCluster.
	KubeconfigSecret ObjectReference `json:"kubeconfigSecret"`
}

FerrySpec defines the desired state of Ferry.

func (*FerrySpec) DeepCopy

func (in *FerrySpec) DeepCopy() *FerrySpec

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

func (*FerrySpec) DeepCopyInto

func (in *FerrySpec) DeepCopyInto(out *FerrySpec)

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

type FerryStatus

type FerryStatus struct {
	// DEPRECATED.
	// Phase represents the current lifecycle state of this object.
	// Consider this field DEPRECATED, it will be removed as soon as there
	// is a mechanism to map conditions to strings when printing the property.
	// This is only for display purpose, for everything else use conditions.
	Phase FerryPhaseType `json:"phase,omitempty"`
	// Conditions is a list of all conditions this Ferry is in.
	Conditions []FerryCondition `json:"conditions,omitempty"`
	// The most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

FerryStatus defines the observed state of Ferry.

func (*FerryStatus) DeepCopy

func (in *FerryStatus) DeepCopy() *FerryStatus

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

func (*FerryStatus) DeepCopyInto

func (in *FerryStatus) DeepCopyInto(out *FerryStatus)

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

func (*FerryStatus) GetCondition

func (s *FerryStatus) GetCondition(t FerryConditionType) (condition FerryCondition, exists bool)

GetCondition returns the Condition of the given type, if it exists.

func (*FerryStatus) SetCondition

func (s *FerryStatus) SetCondition(condition FerryCondition)

SetCondition replaces or adds the given condition.

type KubeCarrier

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

	Spec   KubeCarrierSpec   `json:"spec,omitempty"`
	Status KubeCarrierStatus `json:"status,omitempty"`
}

KubeCarrier manages the deployment of the KubeCarrier controller manager. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories=all

func (*KubeCarrier) DeepCopy

func (in *KubeCarrier) DeepCopy() *KubeCarrier

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

func (*KubeCarrier) DeepCopyInto

func (in *KubeCarrier) DeepCopyInto(out *KubeCarrier)

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

func (*KubeCarrier) DeepCopyObject

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

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

func (*KubeCarrier) IsReady

func (s *KubeCarrier) IsReady() bool

IsReady returns if the KubeCarrier is ready.

func (*KubeCarrier) SetTerminatingCondition added in v0.2.0

func (s *KubeCarrier) SetTerminatingCondition() bool

type KubeCarrierCondition

type KubeCarrierCondition struct {
	// Type is the type of the KubeCarrier condition, currently ('Ready').
	Type KubeCarrierConditionType `json:"type"`
	// Status is the status of the condition, one of ('True', 'False', 'Unknown').
	Status ConditionStatus `json:"status"`
	// LastTransitionTime is the last time the condition transits from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// Reason is the (brief) reason for the condition's last transition.
	Reason string `json:"reason"`
	// Message is the human readable message indicating details about last transition.
	Message string `json:"message"`
}

KubeCarrierCondition contains details for the current condition of this KubeCarrier.

func (*KubeCarrierCondition) DeepCopy

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

func (*KubeCarrierCondition) DeepCopyInto

func (in *KubeCarrierCondition) DeepCopyInto(out *KubeCarrierCondition)

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

func (KubeCarrierCondition) True

func (c KubeCarrierCondition) True() bool

True returns whether .Status == "True"

type KubeCarrierConditionType

type KubeCarrierConditionType string

KubeCarrierConditionType represents a KubeCarrierCondition value.

const (
	// KubeCarrierReady represents a KubeCarrier condition is in ready state.
	KubeCarrierReady           KubeCarrierConditionType = "Ready"
	KubeCarrierDeploymentReady KubeCarrierConditionType = "DeploymentReady"
	KubeCarrierAPIServerReady  KubeCarrierConditionType = "APIServerReady"
)

type KubeCarrierList

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

KubeCarrierList contains a list of KubeCarrier

func (*KubeCarrierList) DeepCopy

func (in *KubeCarrierList) DeepCopy() *KubeCarrierList

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

func (*KubeCarrierList) DeepCopyInto

func (in *KubeCarrierList) DeepCopyInto(out *KubeCarrierList)

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

func (*KubeCarrierList) DeepCopyObject

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

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

type KubeCarrierPhaseType

type KubeCarrierPhaseType string

KubeCarrierPhaseType represents all conditions as a single string for printing by using kubectl commands.

const (
	KubeCarrierPhaseReady       KubeCarrierPhaseType = "Ready"
	KubeCarrierPhaseNotReady    KubeCarrierPhaseType = "NotReady"
	KubeCarrierPhaseUnknown     KubeCarrierPhaseType = "Unknown"
	KubeCarrierPhaseTerminating KubeCarrierPhaseType = "Terminating"
)

Values of KubeCarrierPhaseType.

type KubeCarrierSpec

type KubeCarrierSpec struct {
	// +optional
	API APIServerSpec `json:"api,omitempty"`
}

KubeCarrierSpec defines the desired state of KubeCarrier

func (*KubeCarrierSpec) DeepCopy

func (in *KubeCarrierSpec) DeepCopy() *KubeCarrierSpec

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

func (*KubeCarrierSpec) DeepCopyInto

func (in *KubeCarrierSpec) DeepCopyInto(out *KubeCarrierSpec)

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

type KubeCarrierStatus

type KubeCarrierStatus struct {
	// ObservedGeneration is the most recent generation observed for this KubeCarrier by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions represents the latest available observations of a KubeCarrier's current state.
	Conditions []KubeCarrierCondition `json:"conditions,omitempty"`
	// DEPRECATED.
	// Phase represents the current lifecycle state of this object.
	// Consider this field DEPRECATED, it will be removed as soon as there
	// is a mechanism to map conditions to strings when printing the property.
	// This is only for display purpose, for everything else use conditions.
	Phase KubeCarrierPhaseType `json:"phase,omitempty"`
}

KubeCarrierStatus defines the observed state of KubeCarrier

func (*KubeCarrierStatus) DeepCopy

func (in *KubeCarrierStatus) DeepCopy() *KubeCarrierStatus

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

func (*KubeCarrierStatus) DeepCopyInto

func (in *KubeCarrierStatus) DeepCopyInto(out *KubeCarrierStatus)

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

func (*KubeCarrierStatus) GetCondition

func (s *KubeCarrierStatus) GetCondition(t KubeCarrierConditionType) (condition KubeCarrierCondition, exists bool)

GetCondition returns the Condition of the given condition type, if it exists.

func (*KubeCarrierStatus) SetCondition

func (s *KubeCarrierStatus) SetCondition(condition KubeCarrierCondition)

SetCondition replaces or adds the given condition.

type ObjectReference

type ObjectReference struct {
	Name string `json:"name"`
}

ObjectReference describes the link to another object in the same namespace

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

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

type StaticUsers added in v0.2.0

type StaticUsers struct {
	// HtpassswdSecret specifies the htpasswd secret to use for static user authentication.
	HtpasswdSecret ObjectReference `json:"htpasswdSecret"`
}

func (*StaticUsers) DeepCopy added in v0.2.0

func (in *StaticUsers) DeepCopy() *StaticUsers

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

func (*StaticUsers) DeepCopyInto added in v0.2.0

func (in *StaticUsers) DeepCopyInto(out *StaticUsers)

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