v1alpha1

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2024 License: Apache-2.0 Imports: 11 Imported by: 3

Documentation

Overview

+groupName=cluster.appscode.com

Index

Constants

View Source
const (
	ResourceKindClusterAuthInfoTemplate = "ClusterAuthInfoTemplate"
	ResourceClusterAuthInfoTemplate     = "clusterauthinfotemplate"
	ResourceClusterAuthInfoTemplates    = "clusterauthinfotemplates"
)
View Source
const (
	ResourceKindClusterInfo = "ClusterInfo"
	ResourceClusterInfo     = "clusterinfo"
	ResourceClusterInfos    = "clusterinfos"
)
View Source
const (
	ResourceKindClusterUserAuth = "ClusterUserAuth"
	ResourceClusterUserAuth     = "clusteruserauth"
	ResourceClusterUserAuths    = "clusteruserauths"
)

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: cluster.GroupName, Version: "v1alpha1"}

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AWSProvider

type AWSProvider struct {
	// +optional
	Region string `json:"region"`
	// +optional
	ClusterID string `json:"clusterID"`
	// +optional
	AssumeRoleARN string `json:"assumeRoleArn"`
	// +optional
	AssumeRoleExternalID string `json:"assumeRoleExternalID"`
	// +optional
	SessionName string `json:"sessionName"`
	// +optional
	ForwardSessionName bool `json:"forwardSessionName"`
	// +optional
	Cache bool `json:"cache"`

	// Temporary Token for 15 mins only, if expired or not set create a new one
	// +optional
	Token string `json:"token,omitempty"`
	// +optional
	Expiration int64 `json:"expiration,omitempty"`

	AccessKeyID     string `json:"accessKeyID"`
	SecretAccessKey string `json:"secretAccessKey"`
}

func (*AWSProvider) DeepCopy

func (in *AWSProvider) DeepCopy() *AWSProvider

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

func (*AWSProvider) DeepCopyInto

func (in *AWSProvider) DeepCopyInto(out *AWSProvider)

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

type AuthProviderConfig

type AuthProviderConfig struct {
	Name string `json:"name"`
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

AuthProviderConfig holds the configuration for a specified auth provider.

func ToAuthProviderConfig

func ToAuthProviderConfig(auth *api.AuthProviderConfig) *AuthProviderConfig

func (*AuthProviderConfig) APIFormat

func (auth *AuthProviderConfig) APIFormat() *api.AuthProviderConfig

func (*AuthProviderConfig) DeepCopy

func (in *AuthProviderConfig) DeepCopy() *AuthProviderConfig

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

func (*AuthProviderConfig) DeepCopyInto

func (in *AuthProviderConfig) DeepCopyInto(out *AuthProviderConfig)

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

type ClusterAuthInfoTemplate

type ClusterAuthInfoTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ClusterAuthInfoTemplateSpec   `json:"spec,omitempty"`
	Status            ClusterAuthInfoTemplateStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=clusterauthinfotemplates,singular=clusterauthinfotemplate,shortName=cauth,scope=Cluster,categories={kubernetes,resource-model,appscode} +kubebuilder:subresource:status

func (*ClusterAuthInfoTemplate) ApplyLabels added in v0.0.8

func (authTemplate *ClusterAuthInfoTemplate) ApplyLabels(opts ClusterOptions)

func (ClusterAuthInfoTemplate) CustomResourceDefinition

func (_ ClusterAuthInfoTemplate) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*ClusterAuthInfoTemplate) DeepCopy

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

func (*ClusterAuthInfoTemplate) DeepCopyInto

func (in *ClusterAuthInfoTemplate) DeepCopyInto(out *ClusterAuthInfoTemplate)

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

func (*ClusterAuthInfoTemplate) DeepCopyObject

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

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

func (ClusterAuthInfoTemplate) FormatLabels

type ClusterAuthInfoTemplateList

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

func (*ClusterAuthInfoTemplateList) DeepCopy

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

func (*ClusterAuthInfoTemplateList) DeepCopyInto

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

func (*ClusterAuthInfoTemplateList) DeepCopyObject

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

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

type ClusterAuthInfoTemplateSpec

type ClusterAuthInfoTemplateSpec struct {
	UID     string `json:"uid"`
	OwnerID int64  `json:"ownerID"`

	// CertificateAuthorityData contains PEM-encoded certificate authority certificates.
	// +optional
	CertificateAuthorityData []byte `json:"certificateAuthorityData,omitempty"`

	// ClientCertificateData contains PEM-encoded data from a client cert file for TLS.
	// +optional
	ClientCertificateData []byte `json:"clientCertificateData,omitempty"`
	// ClientKeyData contains PEM-encoded data from a client key file for TLS.
	// +optional
	ClientKeyData []byte `json:"clientKeyData,omitempty"`
	// Token is the bearer token for authentication to the kubernetes cluster.
	// +optional
	Token string `json:"token,omitempty"`
	// Username is the username for basic authentication to the kubernetes cluster.
	// +optional
	Username string `json:"username,omitempty"`
	// Password is the password for basic authentication to the kubernetes cluster.
	// +optional
	Password string `json:"password,omitempty"`

	// Impersonate is the username to act-as.
	// +optional
	Impersonate string `json:"impersonate,omitempty"`
	// ImpersonateGroups is the groups to impersonate.
	// +optional
	ImpersonateGroups []string `json:"impersonateGroups,omitempty"`
	// ImpersonateUserExtra contains additional information for impersonated user.
	// +optional
	ImpersonateUserExtra map[string]ExtraValue `json:"impersonateUserExtra,omitempty"`

	// AuthProvider specifies a custom authentication plugin for the kubernetes cluster.
	// +optional
	AuthProvider *AuthProviderConfig `json:"authProvider,omitempty"`
}

func (*ClusterAuthInfoTemplateSpec) DeepCopy

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

func (*ClusterAuthInfoTemplateSpec) DeepCopyInto

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

type ClusterAuthInfoTemplateStatus

type ClusterAuthInfoTemplateStatus struct {
	// ObservedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

func (*ClusterAuthInfoTemplateStatus) DeepCopy

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

func (*ClusterAuthInfoTemplateStatus) DeepCopyInto

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

type ClusterInfo

type ClusterInfo struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ClusterInfoSpec             `json:"spec,omitempty"`
	Status            rsapi.ClusterStatusResponse `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=clusterinfos,singular=clusterinfo,shortName=cinfo,scope=Cluster,categories={kubernetes,resource-model,appscode} +kubebuilder:subresource:status

func (*ClusterInfo) ApplyLabels added in v0.0.8

func (clusterInfo *ClusterInfo) ApplyLabels(opts ClusterOptions)

func (ClusterInfo) CustomResourceDefinition

func (_ ClusterInfo) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*ClusterInfo) DeepCopy

func (in *ClusterInfo) DeepCopy() *ClusterInfo

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

func (*ClusterInfo) DeepCopyInto

func (in *ClusterInfo) DeepCopyInto(out *ClusterInfo)

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

func (*ClusterInfo) DeepCopyObject

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

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

func (ClusterInfo) FormatLabels

func (_ ClusterInfo) FormatLabels(opts ClusterOptions) labels.Selector

type ClusterInfoList

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

func (*ClusterInfoList) DeepCopy

func (in *ClusterInfoList) DeepCopy() *ClusterInfoList

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

func (*ClusterInfoList) DeepCopyInto

func (in *ClusterInfoList) DeepCopyInto(out *ClusterInfoList)

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

func (*ClusterInfoList) DeepCopyObject

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

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

type ClusterInfoSpec

type ClusterInfoSpec struct {
	DisplayName string `json:"displayName"`
	Name        string `json:"name"`
	UID         string `json:"uid"`
	OwnerID     int64  `json:"ownerID"`
	//+optional
	ExternalID string `json:"externalID,omitempty"`
	//+optional
	OwnerName string `json:"ownerName,omitempty"`

	//+optional
	Provider ProviderName `json:"provider,omitempty"`
	//+optional
	Endpoint string `json:"endpoint,omitempty"`
	//+optional
	Location string `json:"location,omitempty"`
	//+optional
	Project string `json:"project,omitempty"`
	//+optional
	KubernetesVersion string `json:"kubernetesVersion"`
	//+optional
	NodeCount int32 `json:"nodeCount"`

	//+optional
	CreatedAt int64 `json:"createdAt,omitempty"`

	//+optional
	Age string `json:"age,omitempty"`
}

func (*ClusterInfoSpec) DeepCopy

func (in *ClusterInfoSpec) DeepCopy() *ClusterInfoSpec

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

func (*ClusterInfoSpec) DeepCopyInto

func (in *ClusterInfoSpec) DeepCopyInto(out *ClusterInfoSpec)

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

type ClusterOptions added in v0.0.3

type ClusterOptions struct {
	ResourceName    string `protobuf:"bytes,1,opt,name=resourceName"`
	Provider        string `protobuf:"bytes,2,opt,name=provider"`
	UserID          int64  `protobuf:"varint,3,opt,name=userID"`
	CID             string `protobuf:"bytes,4,opt,name=cID"`
	OwnerID         int64  `protobuf:"varint,5,opt,name=ownerID"`
	ImportType      string `protobuf:"bytes,6,opt,name=importType"`
	ExternalID      string `protobuf:"bytes,7,opt,name=externalID"`
	ConnectorLinkID string `protobuf:"bytes,8,opt,name=connectorLinkID"`
}

func (*ClusterOptions) DeepCopy added in v0.0.3

func (in *ClusterOptions) DeepCopy() *ClusterOptions

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

func (*ClusterOptions) DeepCopyInto added in v0.0.3

func (in *ClusterOptions) DeepCopyInto(out *ClusterOptions)

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

type ClusterUserAuth

type ClusterUserAuth struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ClusterUserAuthSpec   `json:"spec,omitempty"`
	Status            ClusterUserAuthStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=clusteruserauths,singular=clusteruserauth,shortName=uauth,scope=Cluster,categories={kubernetes,resource-model,appscode} +kubebuilder:subresource:status

func (*ClusterUserAuth) ApplyLabels added in v0.0.8

func (userAuth *ClusterUserAuth) ApplyLabels(opts ClusterOptions)

func (ClusterUserAuth) CustomResourceDefinition

func (_ ClusterUserAuth) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*ClusterUserAuth) DeepCopy

func (in *ClusterUserAuth) DeepCopy() *ClusterUserAuth

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

func (*ClusterUserAuth) DeepCopyInto

func (in *ClusterUserAuth) DeepCopyInto(out *ClusterUserAuth)

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

func (*ClusterUserAuth) DeepCopyObject

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

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

func (ClusterUserAuth) FormatLabels

func (_ ClusterUserAuth) FormatLabels(opts ClusterOptions) labels.Selector

type ClusterUserAuthList

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

func (*ClusterUserAuthList) DeepCopy

func (in *ClusterUserAuthList) DeepCopy() *ClusterUserAuthList

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

func (*ClusterUserAuthList) DeepCopyInto

func (in *ClusterUserAuthList) DeepCopyInto(out *ClusterUserAuthList)

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

func (*ClusterUserAuthList) DeepCopyObject

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

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

type ClusterUserAuthSpec

type ClusterUserAuthSpec struct {
	ClusterUID string `json:"clusterUID"`
	UserID     int64  `json:"userID"`

	// ClientCertificateData contains PEM-encoded data from a client cert file for TLS.
	// +optional
	ClientCertificateData []byte `json:"clientCertificateData,omitempty"`
	// ClientKeyData contains PEM-encoded data from a client key file for TLS.
	// +optional
	ClientKeyData []byte `json:"clientKeyData,omitempty"`
	// Token is the bearer token for authentication to the kubernetes cluster.
	// +optional
	Token string `json:"token,omitempty"`
	// Username is the username for basic authentication to the kubernetes cluster.
	// +optional
	Username string `json:"username,omitempty"`
	// Password is the password for basic authentication to the kubernetes cluster.
	// +optional
	Password string `json:"password,omitempty"`

	// Impersonate is the username to act-as.
	// +optional
	Impersonate string `json:"impersonate,omitempty"`
	// ImpersonateGroups is the groups to impersonate.
	// +optional
	ImpersonateGroups []string `json:"impersonateGroups,omitempty"`
	// ImpersonateUserExtra contains additional information for impersonated user.
	// +optional
	ImpersonateUserExtra map[string]ExtraValue `json:"impersonateUserExtra,omitempty"`

	// AuthProvider specifies a custom authentication plugin for the kubernetes cluster.
	// +optional
	AuthProvider *AuthProviderConfig `json:"authProvider,omitempty"`

	// Provider Access Token params
	// +optional
	Provider       TokenProviderName      `json:"provider,omitempty"`
	GoogleOAuth    *GoogleOAuthProvider   `json:"googleOAuth,omitempty"`
	GoogleCloud    *GoogleCloudCredential `json:"googleCloud,omitempty"`
	AWS            *AWSProvider           `json:"aws,omitempty"`
	CredentialName string                 `json:"credentialName,omitempty"`
}

func (*ClusterUserAuthSpec) DeepCopy

func (in *ClusterUserAuthSpec) DeepCopy() *ClusterUserAuthSpec

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

func (*ClusterUserAuthSpec) DeepCopyInto

func (in *ClusterUserAuthSpec) DeepCopyInto(out *ClusterUserAuthSpec)

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

type ClusterUserAuthStatus

type ClusterUserAuthStatus struct {
	// ObservedGeneration is the most recent generation observed for this resource. It corresponds to the
	// resource's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

func (*ClusterUserAuthStatus) DeepCopy

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

func (*ClusterUserAuthStatus) DeepCopyInto

func (in *ClusterUserAuthStatus) DeepCopyInto(out *ClusterUserAuthStatus)

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

type ExtraValue

type ExtraValue []string

ExtraValue masks the value so protobuf can generate +protobuf.nullable=true +protobuf.options.(gogoproto.goproto_stringer)=false

func (ExtraValue) DeepCopy

func (in ExtraValue) DeepCopy() ExtraValue

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

func (ExtraValue) DeepCopyInto

func (in ExtraValue) DeepCopyInto(out *ExtraValue)

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

func (ExtraValue) String

func (t ExtraValue) String() string

type GoogleCloudCredential added in v0.0.8

type GoogleCloudCredential struct {
	ProjectID      string `json:"projectID"`
	ServiceAccount string `json:"serviceAccount"`
}

func (*GoogleCloudCredential) DeepCopy added in v0.0.8

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

func (*GoogleCloudCredential) DeepCopyInto added in v0.0.8

func (in *GoogleCloudCredential) DeepCopyInto(out *GoogleCloudCredential)

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

type GoogleOAuthProvider

type GoogleOAuthProvider struct {
	AccessToken string `json:"accessToken"`
	// +optional
	RefreshToken string `json:"refreshToken,omitempty"`
	// +optional
	Expiry int64 `json:"expiry,omitempty"`
}

func (*GoogleOAuthProvider) DeepCopy

func (in *GoogleOAuthProvider) DeepCopy() *GoogleOAuthProvider

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

func (*GoogleOAuthProvider) DeepCopyInto

func (in *GoogleOAuthProvider) DeepCopyInto(out *GoogleOAuthProvider)

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

type ProviderName

type ProviderName string

+kubebuilder:validation:Enum=AKS;DigitalOcean;EKS;GKE;Linode;Packet;Scaleway;Vultr;Rancher;Generic

const (
	ProviderAKS          ProviderName = "AKS"
	ProviderDigitalOcean ProviderName = "DigitalOcean"
	ProviderEKS          ProviderName = "EKS"
	ProviderGKE          ProviderName = "GKE"
	ProviderLinode       ProviderName = "Linode"
	ProviderPacket       ProviderName = "Packet"
	ProviderScaleway     ProviderName = "Scaleway"
	ProviderVultr        ProviderName = "Vultr"
	ProviderRancher      ProviderName = "Rancher"
	ProviderGeneric      ProviderName = "Generic"
	ProviderPrivate      ProviderName = "Private"
)

type TokenProviderName

type TokenProviderName string
const (
	TokenProviderGoogle TokenProviderName = "gcp"
	TokenProviderAWS    TokenProviderName = "aws"
)

Jump to

Keyboard shortcuts

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