Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the kode v1alpha2 API group +kubebuilder:object:generate=true +groupName=kode.jacero.io
Index ¶
- Variables
- type AuthSpec
- type AuthType
- type BaseDomain
- type ClusterContainerTemplate
- type ClusterContainerTemplateList
- type ClusterContainerTemplateSpec
- type ClusterContainerTemplateStatus
- type CommonSpec
- type CommonStatus
- type ConditionedStatus
- func (in *ConditionedStatus) DeepCopy() *ConditionedStatus
- func (in *ConditionedStatus) DeepCopyInto(out *ConditionedStatus)
- func (s *ConditionedStatus) DeleteCondition(conditionType constant.ConditionType)
- func (s *ConditionedStatus) GetCondition(conditionType constant.ConditionType) *metav1.Condition
- func (s *ConditionedStatus) SetCondition(conditionType constant.ConditionType, status metav1.ConditionStatus, ...)
- type ContainerTemplate
- type ContainerTemplateList
- type ContainerTemplateSharedSpec
- type ContainerTemplateSharedStatus
- type ContainerTemplateSpec
- type ContainerTemplateStatus
- type CredentialsSpec
- type CrossNamespaceObjectReference
- type EntryPoint
- func (e *EntryPoint) AddFinalizer(ctx context.Context, c client.Client) error
- func (in *EntryPoint) DeepCopy() *EntryPoint
- func (in *EntryPoint) DeepCopyInto(out *EntryPoint)
- func (in *EntryPoint) DeepCopyObject() runtime.Object
- func (e *EntryPoint) DeleteCondition(conditionType constant.ConditionType)
- func (e *EntryPoint) GetCondition(conditionType constant.ConditionType) *metav1.Condition
- func (e *EntryPoint) GetFinalizer() string
- func (e *EntryPoint) GetName() string
- func (e *EntryPoint) GetNamespace() string
- func (e *EntryPoint) GetPhase() Phase
- func (e *EntryPoint) HasExistingGateway() bool
- func (e *EntryPoint) IsPathRouting() bool
- func (e *EntryPoint) IsSubdomainRouting() bool
- func (e *EntryPoint) RemoveFinalizer(ctx context.Context, c client.Client) error
- func (e *EntryPoint) SetCondition(conditionType constant.ConditionType, status metav1.ConditionStatus, ...)
- func (e *EntryPoint) SetPhase(phase Phase)
- func (e *EntryPoint) UpdateStatus(ctx context.Context, c client.Client) error
- type EntryPointList
- type EntryPointSpec
- type EntryPointStatus
- type GatewaySpec
- type Group
- type IdentityReference
- type InitPluginSpec
- type Kind
- type Kode
- func (k *Kode) AddFinalizer(ctx context.Context, c client.Client) error
- func (in *Kode) DeepCopy() *Kode
- func (in *Kode) DeepCopyInto(out *Kode)
- func (in *Kode) DeepCopyObject() runtime.Object
- func (k *Kode) DeleteCondition(conditionType constant.ConditionType)
- func (k *Kode) GenerateKodeUrlForEntryPoint(routingType RoutingType, domain string, name string, protocol Protocol) (KodeHostname, KodeDomain, KodeUrl, KodePath, error)
- func (k *Kode) GetCondition(conditionType constant.ConditionType) *metav1.Condition
- func (k *Kode) GetFinalizer() string
- func (k *Kode) GetName() string
- func (k *Kode) GetNamespace() string
- func (k *Kode) GetPVCName() string
- func (k *Kode) GetPhase() Phase
- func (k *Kode) GetPort() Port
- func (k *Kode) GetRuntime() *Runtime
- func (k *Kode) GetSecretName() string
- func (k *Kode) GetServiceName() string
- func (k *Kode) GetStatefulSetName() string
- func (k *Kode) RemoveFinalizer(ctx context.Context, c client.Client) error
- func (k *Kode) SetCondition(conditionType constant.ConditionType, status metav1.ConditionStatus, ...)
- func (k *Kode) SetPhase(phase Phase)
- func (k *Kode) SetRuntime(runtime Runtime, ctx context.Context, c client.Client) error
- func (k *Kode) UpdateStatus(ctx context.Context, c client.Client) error
- func (k *Kode) UpdateUrl(ctx context.Context, c client.Client, kodeUrl KodeUrl) error
- type KodeDomain
- type KodeHostname
- type KodeIconUrl
- type KodeList
- type KodePath
- type KodeRuntime
- type KodeSpec
- type KodeStatus
- type KodeStorageSpec
- type KodeUrl
- type Namespace
- type ObjectName
- type Phase
- type Port
- type Protocol
- type RoutingType
- type Runtime
- type RuntimeType
- type SecurityPolicySpec
- type Template
- type TemplateKind
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kode.jacero.io", Version: "v1alpha2"} // 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 AuthSpec ¶
type AuthSpec struct { // The Envoy Gateway SecurityPolicy to use for the authentication. Can be either "none", "basicAuth", "oidc", "extAuth". Reference: https://gateway.envoyproxy.io/contributions/design/security-policy/ // +kubebuilder:validation:Enum=none;basicAuth;extAuth // +kubebuilder:default=none AuthType AuthType `json:"authType" yaml:"authType"` // Defines the SecurityPolicies to be applied to the Route. Reference: https://gateway.envoyproxy.io/contributions/design/security-policy/ // +kubebuilder:validation:Optional SecurityPolicySpec *SecurityPolicySpec `json:"securityPolicySpec,omitempty" yaml:"securityPolicySpec,omitempty"` // Reference to a field in the JWT token of OIDC or JWT. It will influence the controller on how to route the request and authorize the user. // +kubebuilder:validation:Optional IdentityReference *IdentityReference `json:"identityReference,omitempty" yaml:"identityReference,omitempty"` }
func (*AuthSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthSpec.
func (*AuthSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthType ¶
type AuthType string
AuthType is the type of authentication to use for the EntryPoint. +kubebuilder:validation:Enum=none;basicAuth;jwt;oidc;extAuth
type BaseDomain ¶
type BaseDomain string
BaseDomain is the domain name to use either as a suffix in the case of Type=domain or as a prefix/domain in the case of Type=path. TODO: Add validation pattern: "^([a-zA-Z0-9_]+\.)*[a-zA-Z0-9_]+$"
type ClusterContainerTemplate ¶ added in v0.6.0
type ClusterContainerTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterContainerTemplateSpec `json:"spec,omitempty"` Status ClusterContainerTemplateStatus `json:"status,omitempty"` }
ClusterContainerTemplate is the Schema for the clusterContainerTemplates API
func (*ClusterContainerTemplate) DeepCopy ¶ added in v0.6.0
func (in *ClusterContainerTemplate) DeepCopy() *ClusterContainerTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterContainerTemplate.
func (*ClusterContainerTemplate) DeepCopyInto ¶ added in v0.6.0
func (in *ClusterContainerTemplate) DeepCopyInto(out *ClusterContainerTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterContainerTemplate) DeepCopyObject ¶ added in v0.6.0
func (in *ClusterContainerTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterContainerTemplateList ¶ added in v0.6.0
type ClusterContainerTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterContainerTemplate `json:"items"` }
ClusterContainerTemplateList contains a list of ClusterContainerTemplate
func (*ClusterContainerTemplateList) DeepCopy ¶ added in v0.6.0
func (in *ClusterContainerTemplateList) DeepCopy() *ClusterContainerTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterContainerTemplateList.
func (*ClusterContainerTemplateList) DeepCopyInto ¶ added in v0.6.0
func (in *ClusterContainerTemplateList) DeepCopyInto(out *ClusterContainerTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterContainerTemplateList) DeepCopyObject ¶ added in v0.6.0
func (in *ClusterContainerTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterContainerTemplateSpec ¶ added in v0.6.0
type ClusterContainerTemplateSpec struct {
}ClusterContainerTemplateSpec defines the desired state of ClusterKodeContainer
func (*ClusterContainerTemplateSpec) DeepCopy ¶ added in v0.6.0
func (in *ClusterContainerTemplateSpec) DeepCopy() *ClusterContainerTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterContainerTemplateSpec.
func (*ClusterContainerTemplateSpec) DeepCopyInto ¶ added in v0.6.0
func (in *ClusterContainerTemplateSpec) DeepCopyInto(out *ClusterContainerTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterContainerTemplateStatus ¶ added in v0.6.0
type ClusterContainerTemplateStatus struct {
}ClusterContainerTemplateStatus defines the observed state of ClusterKodeContainer
func (*ClusterContainerTemplateStatus) DeepCopy ¶ added in v0.6.0
func (in *ClusterContainerTemplateStatus) DeepCopy() *ClusterContainerTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterContainerTemplateStatus.
func (*ClusterContainerTemplateStatus) DeepCopyInto ¶ added in v0.6.0
func (in *ClusterContainerTemplateStatus) DeepCopyInto(out *ClusterContainerTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonSpec ¶ added in v0.6.0
type CommonSpec struct { // Credentials specifies the credentials for the service. Credentials *CredentialsSpec `json:"credentials,omitempty" yaml:"credentials,omitempty"` // EntryPointSpec defines the desired state of the entrypoint. EntryPointRef *CrossNamespaceObjectReference `json:"entryPointRef,omitempty" yaml:"entryPointRef,omitempty"` // Specifies the period before controller inactive the resource (delete all resources except volume). // +kubebuilder:default=600 InactiveAfterSeconds *int64 `json:"inactiveAfterSeconds,omitempty" yaml:"inactiveAfterSeconds,omitempty"` // Specifies the period before controller recycle the resource (delete all resources). // +kubebuilder:default=28800 RecycleAfterSeconds *int64 `json:"recycleAfterSeconds,omitempty" yaml:"recycleAfterSeconds,omitempty"` // Port is the port for the service process. Used by EnvoyProxy to expose the kode. // +kubebuilder:default=8000 Port Port `json:"port,omitempty" yaml:"port,omitempty"` }
CommonSpec defines the common fields for both Container and Virtualization specs
func (*CommonSpec) DeepCopy ¶ added in v0.6.0
func (in *CommonSpec) DeepCopy() *CommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonSpec.
func (*CommonSpec) DeepCopyInto ¶ added in v0.6.0
func (in *CommonSpec) DeepCopyInto(out *CommonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonStatus ¶ added in v0.6.0
type CommonStatus struct { // ObservedGeneration is the last observed generation of the resource. ObservedGeneration int64 `json:"observedGeneration,omitempty" yaml:"observedGeneration,omitempty"` // Conditions reflect the current state of the resource ConditionedStatus `json:",inline" yaml:",inline"` // Contains the last error message encountered during reconciliation. LastError *string `json:"lastError,omitempty" yaml:"lastError,omitempty"` // The timestamp when the last error occurred. LastErrorTime *metav1.Time `json:"lastErrorTime,omitempty" yaml:"lastErrorTime,omitempty"` // Phase is the current state of the resource. Phase Phase `json:"phase,omitempty" yaml:"phase,omitempty"` }
CommonStatus defines the common observed state
func (*CommonStatus) DeepCopy ¶ added in v0.6.0
func (in *CommonStatus) DeepCopy() *CommonStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonStatus.
func (*CommonStatus) DeepCopyInto ¶ added in v0.6.0
func (in *CommonStatus) DeepCopyInto(out *CommonStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionedStatus ¶ added in v0.6.0
func (*ConditionedStatus) DeepCopy ¶ added in v0.6.0
func (in *ConditionedStatus) DeepCopy() *ConditionedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionedStatus.
func (*ConditionedStatus) DeepCopyInto ¶ added in v0.6.0
func (in *ConditionedStatus) DeepCopyInto(out *ConditionedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConditionedStatus) DeleteCondition ¶ added in v0.6.0
func (s *ConditionedStatus) DeleteCondition(conditionType constant.ConditionType)
func (*ConditionedStatus) GetCondition ¶ added in v0.6.0
func (s *ConditionedStatus) GetCondition(conditionType constant.ConditionType) *metav1.Condition
func (*ConditionedStatus) SetCondition ¶ added in v0.6.0
func (s *ConditionedStatus) SetCondition(conditionType constant.ConditionType, status metav1.ConditionStatus, reason, message string)
type ContainerTemplate ¶ added in v0.6.0
type ContainerTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ContainerTemplateSpec `json:"spec,omitempty"` Status ContainerTemplateStatus `json:"status,omitempty"` }
ContainerTemplate is the Schema for the ContainerTemplates API
func (*ContainerTemplate) DeepCopy ¶ added in v0.6.0
func (in *ContainerTemplate) DeepCopy() *ContainerTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerTemplate.
func (*ContainerTemplate) DeepCopyInto ¶ added in v0.6.0
func (in *ContainerTemplate) DeepCopyInto(out *ContainerTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerTemplate) DeepCopyObject ¶ added in v0.6.0
func (in *ContainerTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ContainerTemplateList ¶ added in v0.6.0
type ContainerTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ContainerTemplate `json:"items"` }
ContainerTemplateList contains a list of ContainerTemplate
func (*ContainerTemplateList) DeepCopy ¶ added in v0.6.0
func (in *ContainerTemplateList) DeepCopy() *ContainerTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerTemplateList.
func (*ContainerTemplateList) DeepCopyInto ¶ added in v0.6.0
func (in *ContainerTemplateList) DeepCopyInto(out *ContainerTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerTemplateList) DeepCopyObject ¶ added in v0.6.0
func (in *ContainerTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ContainerTemplateSharedSpec ¶ added in v0.6.0
type ContainerTemplateSharedSpec struct { CommonSpec `json:",inline"` // +kubebuilder:validation:Enum=code-server;webtop Type string `json:"type,omitempty"` // +kubebuilder:validation:Enum=gvisor Runtime RuntimeType `json:"runtime,omitempty"` // +kubebuilder:validation:MinLength=1 Image string `json:"image,omitempty"` Command []string `json:"command,omitempty"` Env []corev1.EnvVar `json:"envs,omitempty"` EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"` Args []string `json:"args,omitempty"` Resources corev1.ResourceRequirements `json:"resources,omitempty"` // +kubebuilder:default="UTC" TZ string `json:"tz,omitempty"` // +kubebuilder:default=1000 PUID int64 `json:"puid,omitempty"` // +kubebuilder:default=1000 PGID int64 `json:"pgid,omitempty"` // +kubebuilder:validation:MinLength=3 // +kubebuilder:default=/config DefaultHome string `json:"defaultHome,omitempty"` // +kubebuilder:validation:MinLength=3 // +kubebuilder:validation:Pattern="^[^/].*$" // +kubebuilder:default=workspace DefaultWorkspace string `json:"defaultWorkspace,omitempty"` // +kubebuilder:default=false AllowPrivileged *bool `json:"allowPrivileged,omitempty"` InitPlugins []InitPluginSpec `json:"initPlugins,omitempty"` }
ContainerTemplateSharedSpec defines the desired state of KodeContainer
func (*ContainerTemplateSharedSpec) DeepCopy ¶ added in v0.6.0
func (in *ContainerTemplateSharedSpec) DeepCopy() *ContainerTemplateSharedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerTemplateSharedSpec.
func (*ContainerTemplateSharedSpec) DeepCopyInto ¶ added in v0.6.0
func (in *ContainerTemplateSharedSpec) DeepCopyInto(out *ContainerTemplateSharedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerTemplateSharedStatus ¶ added in v0.6.0
type ContainerTemplateSharedStatus struct {
}ContainerTemplateSharedStatus defines the observed state for Container
func (*ContainerTemplateSharedStatus) DeepCopy ¶ added in v0.6.0
func (in *ContainerTemplateSharedStatus) DeepCopy() *ContainerTemplateSharedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerTemplateSharedStatus.
func (*ContainerTemplateSharedStatus) DeepCopyInto ¶ added in v0.6.0
func (in *ContainerTemplateSharedStatus) DeepCopyInto(out *ContainerTemplateSharedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerTemplateSpec ¶ added in v0.6.0
type ContainerTemplateSpec struct {
}ContainerTemplateSpec defines the desired state of ClusterKodeContainer
func (*ContainerTemplateSpec) DeepCopy ¶ added in v0.6.0
func (in *ContainerTemplateSpec) DeepCopy() *ContainerTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerTemplateSpec.
func (*ContainerTemplateSpec) DeepCopyInto ¶ added in v0.6.0
func (in *ContainerTemplateSpec) DeepCopyInto(out *ContainerTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerTemplateStatus ¶ added in v0.6.0
type ContainerTemplateStatus struct {
}ContainerTemplateStatus defines the observed state of ClusterKodeContainer
func (*ContainerTemplateStatus) DeepCopy ¶ added in v0.6.0
func (in *ContainerTemplateStatus) DeepCopy() *ContainerTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerTemplateStatus.
func (*ContainerTemplateStatus) DeepCopyInto ¶ added in v0.6.0
func (in *ContainerTemplateStatus) DeepCopyInto(out *ContainerTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CredentialsSpec ¶
type CredentialsSpec struct { // Is both the the HTTP Basic auth username (when used) and the user the container should run as. Defaults to 'abc'. Username string `json:"username,omitempty" yaml:"username,omitempty"` // HTTP Basic auth password. If unset, there will be no authentication. Password string `json:"password,omitempty" yaml:"password,omitempty"` // ExistingSecret is a reference to an existing secret containing user and password. If set, User and Password fields are ignored. // MUST set "username" and "password" in lowercase in the secret. CAN set either "username" or "password" or both. ExistingSecret *string `json:"existingSecret,omitempty" yaml:"existingSecret,omitempty"` // EnableBuiltinAuth enables the built-in HTTP Basic auth. // +kubebuilder:default=false EnableBuiltinAuth bool `json:"enableBuiltinAuth,omitempty" yaml:"enableBuiltinAuth,omitempty"` }
func (*CredentialsSpec) DeepCopy ¶
func (in *CredentialsSpec) DeepCopy() *CredentialsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialsSpec.
func (*CredentialsSpec) DeepCopyInto ¶
func (in *CredentialsSpec) DeepCopyInto(out *CredentialsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CrossNamespaceObjectReference ¶
type CrossNamespaceObjectReference struct { // API version of the referent. // +kubebuilder:validation:Optional APIVersion *string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` // Kind is the resource kind. Kind Kind `json:"kind" yaml:"kind"` // Name is the name of the resource. Name ObjectName `json:"name" yaml:"name"` // Namespace is the namespace of the resource. // +kubebuilder:validation:Optional Namespace *Namespace `json:"namespace,omitempty" yaml:"namespace,omitempty"` }
func (*CrossNamespaceObjectReference) DeepCopy ¶
func (in *CrossNamespaceObjectReference) DeepCopy() *CrossNamespaceObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossNamespaceObjectReference.
func (*CrossNamespaceObjectReference) DeepCopyInto ¶
func (in *CrossNamespaceObjectReference) DeepCopyInto(out *CrossNamespaceObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EntryPoint ¶
type EntryPoint struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec EntryPointSpec `json:"spec,omitempty"` Status EntryPointStatus `json:"status,omitempty"` }
EntryPoint is the Schema for the entrypoints API
func (*EntryPoint) AddFinalizer ¶ added in v0.7.0
func (*EntryPoint) DeepCopy ¶
func (in *EntryPoint) DeepCopy() *EntryPoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryPoint.
func (*EntryPoint) DeepCopyInto ¶
func (in *EntryPoint) DeepCopyInto(out *EntryPoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EntryPoint) DeepCopyObject ¶
func (in *EntryPoint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EntryPoint) DeleteCondition ¶ added in v0.6.0
func (e *EntryPoint) DeleteCondition(conditionType constant.ConditionType)
func (*EntryPoint) GetCondition ¶
func (e *EntryPoint) GetCondition(conditionType constant.ConditionType) *metav1.Condition
func (*EntryPoint) GetFinalizer ¶ added in v0.7.0
func (e *EntryPoint) GetFinalizer() string
func (*EntryPoint) GetName ¶ added in v0.7.0
func (e *EntryPoint) GetName() string
func (*EntryPoint) GetNamespace ¶ added in v0.7.0
func (e *EntryPoint) GetNamespace() string
func (*EntryPoint) GetPhase ¶ added in v0.7.0
func (e *EntryPoint) GetPhase() Phase
func (*EntryPoint) HasExistingGateway ¶
func (e *EntryPoint) HasExistingGateway() bool
func (*EntryPoint) IsPathRouting ¶
func (e *EntryPoint) IsPathRouting() bool
func (*EntryPoint) IsSubdomainRouting ¶
func (e *EntryPoint) IsSubdomainRouting() bool
func (*EntryPoint) RemoveFinalizer ¶ added in v0.7.0
func (*EntryPoint) SetCondition ¶
func (e *EntryPoint) SetCondition(conditionType constant.ConditionType, status metav1.ConditionStatus, reason, message string)
func (*EntryPoint) SetPhase ¶ added in v0.7.0
func (e *EntryPoint) SetPhase(phase Phase)
func (*EntryPoint) UpdateStatus ¶ added in v0.6.0
type EntryPointList ¶
type EntryPointList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []EntryPoint `json:"items"` }
EntryPointList contains a list of EntryPoint
func (*EntryPointList) DeepCopy ¶
func (in *EntryPointList) DeepCopy() *EntryPointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryPointList.
func (*EntryPointList) DeepCopyInto ¶
func (in *EntryPointList) DeepCopyInto(out *EntryPointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EntryPointList) DeepCopyObject ¶
func (in *EntryPointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EntryPointSpec ¶
type EntryPointSpec struct { // The way the Kode resource is accessed by the user. It could be subdomain or path. // Path means the Kode resource is accessed as a path of the BaseDomain (e.g kode.example.com/<kode-resource>). // Subdomain means the Kode resource is accessed as a subdomain of the BaseDomain (e.g <kode-resource>.kode.example.com). // +kubebuilder:validation:Enum=subdomain;path // +kubebuilder:default=path RoutingType RoutingType `json:"routingType" yaml:"routingType"` // The domain name to use either as a suffix in the case of Type=domain or as a prefix/domain in the case of Type=path. // When the type is domain, the controller will try to publish the Kode resource as a subdomain of the given domain (e.g <kode-resource>.kode.example.com). // When the type is path, the controller will try to publish the Kode resource as a path of the given BaseDomain (e.g kode.example.com/<kode-resource>). // +kubebuilder:validation:Pattern=^([a-zA-Z0-9_]+\.)*[a-zA-Z0-9_]+$ BaseDomain string `json:"baseDomain" yaml:"baseDomain"` // GatewaySpec defines the GatewaySpec for the EntryPoint. // +kubebuilder:validation:Optional GatewaySpec *GatewaySpec `json:"gatewaySpec,omitempty" yaml:"gatewaySpec,omitempty"` // AuthSpec defines the AuthSpec for the EntryPoint. Use this to influence the authentication and authorization policies of the EntryPoint. // +kubebuilder:validation:Optional AuthSpec *AuthSpec `json:"authSpec,omitempty" yaml:"authSpec,omitempty"` }
EntryPointSpec defines the desired state of EntryPoint
func (*EntryPointSpec) DeepCopy ¶
func (in *EntryPointSpec) DeepCopy() *EntryPointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryPointSpec.
func (*EntryPointSpec) DeepCopyInto ¶
func (in *EntryPointSpec) DeepCopyInto(out *EntryPointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EntryPointStatus ¶
type EntryPointStatus struct { CommonStatus `json:",inline" yaml:",inline"` // RetryCount keeps track of the number of retry attempts for failed states. RetryCount int `json:"retryCount,omitempty"` // DeletionCycle keeps track of the number of deletion cycles. This is used to determine if the resource is deleting. DeletionCycle int `json:"deletionCycle,omitempty"` // TODO: Remove this field and use RetryCount instead. Deleting and failure are not executing at the same time. }
EntryPointStatus defines the observed state of EntryPoint
func (*EntryPointStatus) DeepCopy ¶
func (in *EntryPointStatus) DeepCopy() *EntryPointStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryPointStatus.
func (*EntryPointStatus) DeepCopyInto ¶
func (in *EntryPointStatus) DeepCopyInto(out *EntryPointStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewaySpec ¶
type GatewaySpec struct { // Reference to an existing Gateway to use for the EntryPoint. ExistingGatewayRef *CrossNamespaceObjectReference `json:"existingGatewayRef" yaml:"existingGatewayRef"` // Protocol defines the protocol to use for the HTTPRoutes. Can be either "http" or "https". // +kubebuilder:validation:Enum=http;https // +kubebuilder:default=http Protocol Protocol `json:"protocol,omitempty" yaml:"protocol,omitempty"` }
func (*GatewaySpec) DeepCopy ¶
func (in *GatewaySpec) DeepCopy() *GatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.
func (*GatewaySpec) DeepCopyInto ¶
func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Group ¶
type Group string
Group refers to a Kubernetes Group. It must either be an empty string or a RFC 1123 subdomain.
This validation is based off of the corresponding Kubernetes validation: https://github.com/kubernetes/apimachinery/blob/02cfb53916346d085a6c6c7c66f882e3c6b0eca6/pkg/util/validation/validation.go#L208
Valid values include:
* "" - empty string implies core Kubernetes API group * "gateway.networking.k8s.io" * "foo.example.com"
Invalid values include:
* "example.com/bar" - "/" is an invalid character
+kubebuilder:validation:MaxLength=253 +kubebuilder:validation:Pattern=`^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
type IdentityReference ¶
type IdentityReference string
IdentityReference is a reference to a field in the JWT token of OIDC or JWT. TODO: Add validation pattern: "^[a-zA-Z0-9_-]+$"
type InitPluginSpec ¶
type InitPluginSpec struct { // The name of the container. // +kubebuilder:validation:Required Name string `json:"name"` // The OCI image for the container. // +kubebuilder:validation:Required Image string `json:"image"` // The command to run in the container. Command []string `json:"command,omitempty"` // The arguments that will be passed to the command in the main container. Args []string `json:"args,omitempty"` // The environment variables for the main container. Env []corev1.EnvVar `json:"env,omitempty"` // The environment variables taken from a Secret or ConfigMap for the main container. EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"` // The volume mounts for the container. Can be used to mount a ConfigMap or Secret. VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` }
func (*InitPluginSpec) DeepCopy ¶
func (in *InitPluginSpec) DeepCopy() *InitPluginSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitPluginSpec.
func (*InitPluginSpec) DeepCopyInto ¶
func (in *InitPluginSpec) DeepCopyInto(out *InitPluginSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Kind ¶
type Kind string
Kind refers to a Kubernetes Kind.
Valid values include:
* "Service" * "HTTPRoute"
Invalid values include:
* "invalid/kind" - "/" is an invalid character
+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63 +kubebuilder:validation:Pattern=`^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$`
type Kode ¶
type Kode struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KodeSpec `json:"spec,omitempty"` Status KodeStatus `json:"status,omitempty"` }
Kode is the Schema for the kodes API
func (*Kode) AddFinalizer ¶ added in v0.7.0
func (*Kode) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kode.
func (*Kode) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Kode) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Kode) DeleteCondition ¶ added in v0.6.0
func (k *Kode) DeleteCondition(conditionType constant.ConditionType)
func (*Kode) GenerateKodeUrlForEntryPoint ¶
func (k *Kode) GenerateKodeUrlForEntryPoint( routingType RoutingType, domain string, name string, protocol Protocol, ) (KodeHostname, KodeDomain, KodeUrl, KodePath, error)
func (*Kode) GetCondition ¶
func (k *Kode) GetCondition(conditionType constant.ConditionType) *metav1.Condition
func (*Kode) GetFinalizer ¶ added in v0.7.0
func (*Kode) GetNamespace ¶ added in v0.7.0
func (*Kode) GetPVCName ¶
func (*Kode) GetRuntime ¶ added in v0.6.0
func (*Kode) GetSecretName ¶ added in v0.5.0
func (*Kode) GetServiceName ¶
func (*Kode) GetStatefulSetName ¶ added in v0.7.0
func (*Kode) RemoveFinalizer ¶ added in v0.7.0
func (*Kode) SetCondition ¶
func (k *Kode) SetCondition(conditionType constant.ConditionType, status metav1.ConditionStatus, reason, message string)
func (*Kode) SetRuntime ¶
func (*Kode) UpdateStatus ¶ added in v0.6.0
type KodeDomain ¶
type KodeDomain string
type KodeHostname ¶
type KodeHostname string
type KodeIconUrl ¶ added in v0.6.0
type KodeIconUrl string
type KodeList ¶
type KodeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Kode `json:"items"` }
KodeList contains a list of Kode
func (*KodeList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KodeList.
func (*KodeList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KodeList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KodeRuntime ¶ added in v0.6.0
type KodeRuntime string
KodeRuntime specifies the runtime for the Kode resource. Can be one of 'container', 'virtual'.
const ( RuntimeContainer KodeRuntime = "container" RuntimeVirtual KodeRuntime = "virtual" )
type KodeSpec ¶
type KodeSpec struct { // The reference to a template. Either a ContainerTemplate or VirtualTemplate. // +kubebuilder:validation:Required TemplateRef CrossNamespaceObjectReference `json:"templateRef"` // Specifies the credentials for the service. Credentials *CredentialsSpec `json:"credentials,omitempty"` // The path to the directory for the user data. Defaults to '/config'. // +kubebuilder:validation:MinLength=3 // +kubebuilder:default=/config Home *string `json:"home,omitempty"` // The user specified workspace directory (e.g. my-workspace). // +kubebuilder:validation:MinLength=3 // +kubebuilder:validation:Pattern="^[a-zA-Z0-9_-]+$" Workspace *string `json:"workspace,omitempty"` // Specifies the storage configuration. Storage *KodeStorageSpec `json:"storage,omitempty"` // Specifies a git repository URL to get user configuration from. // +kubebuilder:validation:Pattern=`^(https?:\/\/)?([\w\.-]+@)?([\w\.-]+)(:\d+)?\/?([\w\.-]+)\/([\w\.-]+)(\.git)?(\/?|\#[\w\.\-_]+)?$|^oci:\/\/([\w\.-]+)(:\d+)?\/?([\w\.-\/]+)(@sha256:[a-fA-F0-9]{64})?$` // +kubebuilder:validation:Optional UserConfig *string `json:"userConfig,omitempty"` // Specifies if the container should run in privileged mode. Will only work if the KodeTemplate allows it. Only set to true if you know what you are doing. // +kubebuilder:default=false Privileged *bool `json:"privileged,omitempty"` // Specifies the OCI containers to be run as InitContainers. These containers can be used to prepare the workspace or run some setup scripts. It is an ordered list. InitPlugins []InitPluginSpec `json:"initPlugins,omitempty"` }
KodeSpec defines the desired state of Kode
func (*KodeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KodeSpec.
func (*KodeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KodeStatus ¶
type KodeStatus struct { CommonStatus `json:",inline" yaml:",inline"` // The URL to access the Kode. KodeUrl KodeUrl `json:"kodeUrl,omitempty"` // The port to access the Kode. KodePort Port `json:"kodePort,omitempty"` // The URL to the icon for the Kode. KodeIconUrl KodeIconUrl `json:"iconUrl,omitempty"` // The runtime for the Kode. Runtime *Runtime `json:"runtime,omitempty"` // The timestamp when the last activity occurred. LastActivityTime *metav1.Time `json:"lastActivityTime,omitempty"` // RetryCount keeps track of the number of retry attempts for failed states. RetryCount int `json:"retryCount,omitempty"` // DeletionCycle keeps track of the number of deletion cycles. This is used to determine if the resource is deleting. DeletionCycle int `json:"deletionCycle,omitempty"` // TODO: Remove this field and use RetryCount instead. Deleting and failure are not executing at the same time. }
KodeStatus defines the observed state of Kode
func (*KodeStatus) DeepCopy ¶
func (in *KodeStatus) DeepCopy() *KodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KodeStatus.
func (*KodeStatus) DeepCopyInto ¶
func (in *KodeStatus) DeepCopyInto(out *KodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KodeStorageSpec ¶
type KodeStorageSpec struct { // Specifies the access modes for the persistent volume. AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"` // Specifies the storage class name for the persistent volume. StorageClassName *string `json:"storageClassName,omitempty"` // Specifies the resource requirements for the persistent volume. Resources *corev1.VolumeResourceRequirements `json:"resources,omitempty"` // Specifies if the volume should be kept when the kode is recycled. Defaults to false. // +kubebuilder:default=false KeepVolume *bool `json:"keepVolume,omitempty"` // Specifies an existing PersistentVolumeClaim to use instead of creating a new one. ExistingVolumeClaim *string `json:"existingVolumeClaim,omitempty"` }
KodeStorageSpec defines the storage configuration
func (*KodeStorageSpec) DeepCopy ¶
func (in *KodeStorageSpec) DeepCopy() *KodeStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KodeStorageSpec.
func (*KodeStorageSpec) DeepCopyInto ¶
func (in *KodeStorageSpec) DeepCopyInto(out *KodeStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KodeStorageSpec) IsEmpty ¶
func (s *KodeStorageSpec) IsEmpty() bool
type Namespace ¶
type Namespace string
Namespace refers to a Kubernetes namespace. It must be a RFC 1123 label.
This validation is based off of the corresponding Kubernetes validation: https://github.com/kubernetes/apimachinery/blob/02cfb53916346d085a6c6c7c66f882e3c6b0eca6/pkg/util/validation/validation.go#L187
This is used for Namespace name validation here: https://github.com/kubernetes/apimachinery/blob/02cfb53916346d085a6c6c7c66f882e3c6b0eca6/pkg/api/validation/generic.go#L63
Valid values include:
* "example"
Invalid values include:
* "example.com" - "." is an invalid character
+kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63
type ObjectName ¶
type ObjectName string
ObjectName refers to the name of a Kubernetes object. Object names can have a variety of forms, including RFC 1123 subdomains, RFC 1123 labels, or RFC 1035 labels.
+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=253
type Phase ¶ added in v0.7.0
type Phase string
const ( // PhasePending indicates the initial state when a new resource is created. // The controller has acknowledged the resource but hasn't started processing it yet. PhasePending Phase = "Pending" // PhaseConfiguring indicates that the controller is actively setting up the resource. // This includes creating necessary Kubernetes resources, configuring storage, and applying user configurations. PhaseConfiguring Phase = "Configuring" // PhaseProvisioning indicates that all necessary resources have been created, // but the system is waiting for these resources to become fully operational. // This may include waiting for pods to be scheduled and reach a ready state or for any initialization processes to complete. PhaseProvisioning Phase = "Provisioning" // PhaseActive indicates that the resource is fully operational. // All associated Kubernetes resources are created and ready to serve requests. PhaseActive Phase = "Active" // PhaseUpdating indicates that the resource is in the process of being updated. // The controller is actively working on updating the environment with new configurations or resources. PhaseUpdating Phase = "Updating" // PhaseDeleting indicates the resource is being permanently removed. // The controller is in the process of deleting all associated Kubernetes resources. PhaseDeleting Phase = "Deleting" // PhaseFailed indicates that an error occurred during the lifecycle of the resource. // This could be during creation, updating, or management of the resource or its associated resources. // The controller will typically attempt to recover from this state automatically. PhaseFailed Phase = "Failed" // PhaseUnknown indicates that the resource is in an indeterminate state. // This may occur if the controller loses connection with the resource or encounters unexpected conditions. // The controller will attempt to reconcile and determine the correct state. PhaseUnknown Phase = "Unknown" )
type Port ¶
type Port int32
Port for the service. Used by EnvoyProxy to expose the container. Defaults to '8000'. +kubebuilder:validation:Minimum=1 +kubebuilder:default=8000
type RoutingType ¶
type RoutingType string
RoutingType is the way the Kode resource is accessed by the user. It could be subdomain or path.
const ( RoutingTypeSubdomain RoutingType = "subdomain" RoutingTypePath RoutingType = "path" )
type Runtime ¶
type Runtime struct { // KodeRuntime is the runtime for the Kode resource. Can be one of 'container', 'virtual'. // +kubebuilder:validation:Enum=container;virtual Runtime KodeRuntime `json:"runtime"` // Type is the container runtime for Kode resource. Type RuntimeType `json:"type,omitempty"` }
func (*Runtime) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Runtime.
func (*Runtime) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuntimeType ¶ added in v0.6.0
type RuntimeType string
RuntimeType specifies the type of the runtime for the Kode resource.
const ( ContainerRuntimeContainerd RuntimeType = "containerd" ContainerRuntimeGvisor RuntimeType = "gvisor" )
type SecurityPolicySpec ¶
type SecurityPolicySpec struct { // ExtAuth defines the configuration for External Authorization. // // +optional ExtAuth *egv1alpha1.ExtAuth `json:"extAuth,omitempty"` }
func (*SecurityPolicySpec) DeepCopy ¶
func (in *SecurityPolicySpec) DeepCopy() *SecurityPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicySpec.
func (*SecurityPolicySpec) DeepCopyInto ¶
func (in *SecurityPolicySpec) DeepCopyInto(out *SecurityPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Template ¶
type Template struct { // Kind specifies the type of template (e.g., "ContainerTemplate", "ClusterContainerTemplate") Kind Kind `json:"kind" yaml:"kind"` // Name is the name of the template resource Name ObjectName `json:"name" yaml:"name"` // Namespace is the namespace of the template resource Namespace Namespace `json:"namespace,omitempty" yaml:"namespace,omitempty"` // Port is the port to expose the kode instance Port Port `json:"port" yaml:"port"` // ContainerTemplateSpec is a reference to a ContainerTemplate or ClusterContainerTemplate ContainerTemplateSpec *ContainerTemplateSharedSpec `json:"container,omitempty" yaml:"container,omitempty"` // EntryPointSpecRef is a reference to an EntryPointSpec EntryPointRef *CrossNamespaceObjectReference `json:"entryPointSpecRef,omitempty" yaml:"entryPointSpecRef,omitempty"` EntryPointSpec *EntryPointSpec `json:"entryPoint,omitempty" yaml:"entryPoint,omitempty"` }
Template represents a unified structure for different types of Kode templates
func (*Template) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template.
func (*Template) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateKind ¶
type TemplateKind string
const ( TemplateKindContainer TemplateKind = "ContainerTemplate" TemplateKindClusterContainer TemplateKind = "ClusterContainerTemplate" TemplateKindVirtual TemplateKind = "VirtualTemplate" TemplateKindClusterVirtual TemplateKind = "ClusterVirtualTemplate" )