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 Address
- type AuthSpec
- type AuthType
- type BaseDomain
- type BaseSharedSpec
- type BaseSharedStatus
- type Cluster
- type ClusterPodTemplate
- type ClusterPodTemplateList
- type ClusterPodTemplateSpec
- type ClusterPodTemplateStatus
- type ClusterTofuTemplate
- type ClusterTofuTemplateList
- type ClusterTofuTemplateSpec
- type ClusterTofuTemplateStatus
- type CredentialsSpec
- type CrossNamespaceObjectReference
- type Endpoint
- type Endpoints
- type EntryPoint
- func (in *EntryPoint) DeepCopy() *EntryPoint
- func (in *EntryPoint) DeepCopyInto(out *EntryPoint)
- func (in *EntryPoint) DeepCopyObject() runtime.Object
- func (e *EntryPoint) GetCondition(conditionType string) *metav1.Condition
- func (e *EntryPoint) HasExistingGateway() bool
- func (e *EntryPoint) IsActive() bool
- func (e *EntryPoint) IsPathRouting() bool
- func (e *EntryPoint) IsSubdomainRouting() bool
- func (e *EntryPoint) SetCondition(conditionType string, status metav1.ConditionStatus, reason, message string)
- type EntryPointList
- type EntryPointPhase
- type EntryPointSpec
- type EntryPointStatus
- type GatewaySpec
- type Group
- type HTTPFilter
- type IconUrl
- type IdentityReference
- type InitPluginSpec
- type Kind
- type Kode
- func (in *Kode) DeepCopy() *Kode
- func (in *Kode) DeepCopyInto(out *Kode)
- func (in *Kode) DeepCopyObject() runtime.Object
- func (k *Kode) GenerateKodeUrlForEntryPoint(routingType RoutingType, domain string, name string, protocol Protocol) (KodeHostname, KodeDomain, KodeUrl, KodePath, error)
- func (k *Kode) GetCondition(conditionType string) *metav1.Condition
- func (k *Kode) GetPVCName() string
- func (k *Kode) GetPort() Port
- func (k *Kode) GetSecretName() string
- func (k *Kode) GetServiceName() string
- func (k *Kode) IsActive() bool
- func (k *Kode) IsDeleting() bool
- func (k *Kode) IsInactive() bool
- func (k *Kode) IsInactiveFor(duration time.Duration) bool
- func (k *Kode) IsSuspended() bool
- func (k *Kode) SetCondition(conditionType string, status metav1.ConditionStatus, reason, message string)
- func (k *Kode) SetRuntime() Runtime
- func (k *Kode) UpdateKodePort(ctx context.Context, c client.Client, port Port) error
- func (k *Kode) UpdateKodeUrl(ctx context.Context, c client.Client, kodeUrl KodeUrl) error
- type KodeDomain
- type KodeHostname
- type KodeList
- type KodePath
- type KodePhase
- type KodeSpec
- type KodeStatus
- type KodeStorageSpec
- type KodeUrl
- type LbEndpoint
- type LoadAssignment
- type Namespace
- type ObjectName
- type PatchPolicy
- type PodTemplate
- type PodTemplateList
- type PodTemplateSharedSpec
- type PodTemplateSharedStatus
- type PodTemplateSpec
- type PodTemplateStatus
- type Port
- type Protocol
- type RoutingType
- type Runtime
- type SecurityPolicySpec
- type SocketAddress
- type Template
- type TemplateKind
- type TofuSharedSpec
- type TofuSharedStatus
- type TofuTemplate
- type TofuTemplateList
- type TofuTemplateSpec
- type TofuTemplateStatus
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 Address ¶
type Address struct { // The socket address // +kubebuilder:validation:Required SocketAddress SocketAddress `json:"socket_address"` }
func (*Address) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Address.
func (*Address) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthSpec ¶
type AuthSpec struct { // The Envoy Gateway SecurityPolicy to use for the authentication. Can be either "none", "basicAuth", "jwt", "oidc", "extAuth" or "authorization". Reference: https://gateway.envoyproxy.io/contributions/design/security-policy/ // +kubebuilder:validation:Enum=none;basicAuth;jwt;oidc;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 BaseSharedSpec ¶
type BaseSharedSpec struct { CredentialsSpec `json:"credentials,omitempty" yaml:"credentials,omitempty"` EntryPointRef *CrossNamespaceObjectReference `json:"entryPointRef,omitempty" yaml:"entryPointRef,omitempty"` // +kubebuilder:default=600 InactiveAfterSeconds *int64 `json:"inactiveAfterSeconds,omitempty" yaml:"inactiveAfterSeconds,omitempty"` // +kubebuilder:default=28800 RecycleAfterSeconds *int64 `json:"recycleAfterSeconds,omitempty" yaml:"recycleAfterSeconds,omitempty"` // +kubebuilder:default=8000 Port *Port `json:"port,omitempty" yaml:"port,omitempty"` }Credentials *
BaseSharedSpec defines the common fields for both Tofu and Container specs
func (*BaseSharedSpec) DeepCopy ¶
func (in *BaseSharedSpec) DeepCopy() *BaseSharedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseSharedSpec.
func (*BaseSharedSpec) DeepCopyInto ¶
func (in *BaseSharedSpec) DeepCopyInto(out *BaseSharedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BaseSharedStatus ¶
type BaseSharedStatus struct { int64 `json:"observedGeneration,omitempty" yaml:"observedGeneration,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"` LastError *string `json:"lastError,omitempty" yaml:"lastError,omitempty"` LastErrorTime *metav1.Time `json:"lastErrorTime,omitempty" yaml:"lastErrorTime,omitempty"` }ObservedGeneration
SharedStatus defines the common observed state
func (*BaseSharedStatus) DeepCopy ¶
func (in *BaseSharedStatus) DeepCopy() *BaseSharedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseSharedStatus.
func (*BaseSharedStatus) DeepCopyInto ¶
func (in *BaseSharedStatus) DeepCopyInto(out *BaseSharedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct { // Name of the cluster // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Required Name string `json:"name"` // The timeout for connecting to the cluster // +kubebuilder:validation:Required ConnectTimeout string `json:"connect_timeout"` // The type of the cluster // +kubebuilder:validation:Required // +kube:validation:Enum=STRICT_DNS;LOGICAL_DNS;STATIC;EDS;ORIGINAL_DST;ENVIRONMENT_VARIABLE // +kube:validation:default=STRICT_DNS Type string `json:"type"` // The load balancing policy for the cluster // +kubebuilder:validation:Required // +kube:validation:Enum=ROUND_ROBIN;LEAST_REQUEST;RANDOM;RING_HASH;MAGLEV;ORIGINAL_DST_LB;CLUSTER_PROVIDED LbPolicy string `json:"lb_policy"` // Map of typed extension protocol options // +kubebuilder:validation:Optional TypedExtensionProtocolOptions runtime.RawExtension `json:"typed_extension_protocol_options,omitempty"` // The load assignment for the cluster // +kubebuilder:validation:Required LoadAssignment LoadAssignment `json:"load_assignment"` }
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPodTemplate ¶
type ClusterPodTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterPodTemplateSpec `json:"spec,omitempty"` Status ClusterPodTemplateStatus `json:"status,omitempty"` }
ClusterPodTemplate is the Schema for the clusterpodtemplates API
func (*ClusterPodTemplate) DeepCopy ¶
func (in *ClusterPodTemplate) DeepCopy() *ClusterPodTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPodTemplate.
func (*ClusterPodTemplate) DeepCopyInto ¶
func (in *ClusterPodTemplate) DeepCopyInto(out *ClusterPodTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPodTemplate) DeepCopyObject ¶
func (in *ClusterPodTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPodTemplateList ¶
type ClusterPodTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterPodTemplate `json:"items"` }
ClusterPodTemplateList contains a list of ClusterPodTemplate
func (*ClusterPodTemplateList) DeepCopy ¶
func (in *ClusterPodTemplateList) DeepCopy() *ClusterPodTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPodTemplateList.
func (*ClusterPodTemplateList) DeepCopyInto ¶
func (in *ClusterPodTemplateList) DeepCopyInto(out *ClusterPodTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPodTemplateList) DeepCopyObject ¶
func (in *ClusterPodTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPodTemplateSpec ¶
type ClusterPodTemplateSpec struct {
}ClusterPodTemplateSpec defines the desired state of ClusterKodeContainer
func (*ClusterPodTemplateSpec) DeepCopy ¶
func (in *ClusterPodTemplateSpec) DeepCopy() *ClusterPodTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPodTemplateSpec.
func (*ClusterPodTemplateSpec) DeepCopyInto ¶
func (in *ClusterPodTemplateSpec) DeepCopyInto(out *ClusterPodTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPodTemplateStatus ¶
type ClusterPodTemplateStatus struct {
}ClusterPodTemplateStatus defines the observed state of ClusterKodeContainer
func (*ClusterPodTemplateStatus) DeepCopy ¶
func (in *ClusterPodTemplateStatus) DeepCopy() *ClusterPodTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPodTemplateStatus.
func (*ClusterPodTemplateStatus) DeepCopyInto ¶
func (in *ClusterPodTemplateStatus) DeepCopyInto(out *ClusterPodTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTofuTemplate ¶
type ClusterTofuTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterTofuTemplateSpec `json:"spec,omitempty"` Status ClusterTofuTemplateStatus `json:"status,omitempty"` }
ClusterTofuTemplate is the Schema for the clustertofutemplates API
func (*ClusterTofuTemplate) DeepCopy ¶
func (in *ClusterTofuTemplate) DeepCopy() *ClusterTofuTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTofuTemplate.
func (*ClusterTofuTemplate) DeepCopyInto ¶
func (in *ClusterTofuTemplate) DeepCopyInto(out *ClusterTofuTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterTofuTemplate) DeepCopyObject ¶
func (in *ClusterTofuTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterTofuTemplateList ¶
type ClusterTofuTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterTofuTemplate `json:"items"` }
ClusterTofuTemplateList contains a list of ClusterTofuTemplate
func (*ClusterTofuTemplateList) DeepCopy ¶
func (in *ClusterTofuTemplateList) DeepCopy() *ClusterTofuTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTofuTemplateList.
func (*ClusterTofuTemplateList) DeepCopyInto ¶
func (in *ClusterTofuTemplateList) DeepCopyInto(out *ClusterTofuTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterTofuTemplateList) DeepCopyObject ¶
func (in *ClusterTofuTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterTofuTemplateSpec ¶
type ClusterTofuTemplateSpec struct {
}ClusterTofuTemplateSpec defines the desired state of ClusterKodeTofu
func (*ClusterTofuTemplateSpec) DeepCopy ¶
func (in *ClusterTofuTemplateSpec) DeepCopy() *ClusterTofuTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTofuTemplateSpec.
func (*ClusterTofuTemplateSpec) DeepCopyInto ¶
func (in *ClusterTofuTemplateSpec) DeepCopyInto(out *ClusterTofuTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTofuTemplateStatus ¶
type ClusterTofuTemplateStatus struct {
}ClusterKodeTofuStatus defines the observed state of ClusterKodeTofu
func (*ClusterTofuTemplateStatus) DeepCopy ¶
func (in *ClusterTofuTemplateStatus) DeepCopy() *ClusterTofuTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTofuTemplateStatus.
func (*ClusterTofuTemplateStatus) DeepCopyInto ¶
func (in *ClusterTofuTemplateStatus) DeepCopyInto(out *ClusterTofuTemplateStatus)
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 Endpoint ¶
type Endpoint struct { // The address of the load balancer endpoint // +kubebuilder:validation:Required Address Address `json:"address"` }
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Endpoints ¶
type Endpoints struct { // The load balancer endpoints // +kubebuilder:validation:Required LbEndpoints []LbEndpoint `json:"lb_endpoints"` }
func (*Endpoints) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoints.
func (*Endpoints) DeepCopyInto ¶
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) 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) GetCondition ¶
func (e *EntryPoint) GetCondition(conditionType string) *metav1.Condition
func (*EntryPoint) HasExistingGateway ¶
func (e *EntryPoint) HasExistingGateway() bool
func (*EntryPoint) IsActive ¶
func (e *EntryPoint) IsActive() bool
func (*EntryPoint) IsPathRouting ¶
func (e *EntryPoint) IsPathRouting() bool
func (*EntryPoint) IsSubdomainRouting ¶
func (e *EntryPoint) IsSubdomainRouting() bool
func (*EntryPoint) SetCondition ¶
func (e *EntryPoint) SetCondition(conditionType string, status metav1.ConditionStatus, reason, message string)
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 EntryPointPhase ¶
type EntryPointPhase string
EntryPointPhase defines the phase of the EntryPoint
const ( // EntryPointPhasePending indicates that the EntryPoint resource is pending. // The Gateway and other resources are not created yet. EntryPointPhasePending EntryPointPhase = "Pending" // EntryPointPhaseConfiguring indicates that the EntryPoint resource is configuring. // The Gateway and other resources are being created. EntryPointPhaseConfiguring EntryPointPhase = "Configuring" // EntryPointPhaseProvisioning indicates that the EntryPoint resource is provisioning. // The Gateway and other resources are being provisioned. // The EntryPoint is not ready to serve traffic. EntryPointPhaseProvisioning EntryPointPhase = "Provisioning" // EntryPointPhaseActive indicates that the EntryPoint resource is fully operational. // The Gateway and other resources have been created and the EntryPoint is ready to serve traffic. EntryPointPhaseActive EntryPointPhase = "Active" // EntryPointPhaseDeleting indicates that the EntryPoint resource is being deleted. // The Gateway and other resources are being deleted. EntryPointPhaseDeleting EntryPointPhase = "Deleting" // EntryPointPhaseFailed indicates that the EntryPoint resource has failed. EntryPointPhaseFailed EntryPointPhase = "Failed" // EntryPointPhaseUnknown indicates that the EntryPoint resource is in an unknown state. EntryPointPhaseUnknown EntryPointPhase = "Unknown" )
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. Only one of GatewaySpec or IngressSpec can be set. // +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 { // Represents the current phase of the EntryPointPhase resource. Phase EntryPointPhase `json:"phase" yaml:"phase"` }
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. Setting this will override everything else in GatewaySpec. // +kubebuilder:validation:Optional ExistingGatewayRef *CrossNamespaceObjectReference `json:"existingGatewayRef,omitempty" yaml:"existingGatewayRef,omitempty"` // The name of the GatewayClass to use for the Gateway. // +kubebuilder:validation:Optional GatewayClassName *gwapiv1.ObjectName `json:"gatewayClassName,omitempty" yaml:"gatewayClassName,omitempty"` // Reference to Secrets containing the certificate and private key to use for the Gateway HTTPS Listener. // +kubebuilder:validation:Optional CertificateRefs *[]gwapiv1.SecretObjectReference `json:"certificateRefs,omitempty" yaml:"certificateRefs,omitempty"` // Defines the SecurityPolicies to be applied to the Gateway. Reference: https://gateway.envoyproxy.io/contributions/design/security-policy/ // +kubebuilder:validation:Optional SecurityPolicySpec *SecurityPolicySpec `json:"securityPolicySpec,omitempty" yaml:"securityPolicySpec,omitempty"` // Defines the custom patch policy for the Envoy Proxy config generated by Envoy Gateway. For experienced users. // +kubebuilder:validation:Optional EnvoyPatchPolicySpec *egv1alpha1.EnvoyPatchPolicySpec `json:"envoyPatchPolicySpec,omitempty" yaml:"envoyPatchPolicySpec,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 HTTPFilter ¶
type HTTPFilter struct { // Name of the HTTP filter // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Required Name string `json:"name"` // The typed configuration for the HTTP filter // It is intentionally the same as the Envoy filter's typed_config field to make it easier to copy-paste // +kubebuilder:validation:Required TypedConfig runtime.RawExtension `json:"typed_config"` }
HTTPFilter represents an individual HTTP filter configuration
func (*HTTPFilter) DeepCopy ¶
func (in *HTTPFilter) DeepCopy() *HTTPFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPFilter.
func (*HTTPFilter) DeepCopyInto ¶
func (in *HTTPFilter) DeepCopyInto(out *HTTPFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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) 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) GenerateKodeUrlForEntryPoint ¶
func (k *Kode) GenerateKodeUrlForEntryPoint( routingType RoutingType, domain string, name string, protocol Protocol, ) (KodeHostname, KodeDomain, KodeUrl, KodePath, error)
func (*Kode) GetPVCName ¶
func (*Kode) GetSecretName ¶ added in v0.5.0
func (*Kode) GetServiceName ¶
func (*Kode) IsDeleting ¶ added in v0.5.0
func (*Kode) IsInactive ¶ added in v0.5.0
func (*Kode) IsSuspended ¶ added in v0.5.0
func (*Kode) SetCondition ¶
func (k *Kode) SetCondition(conditionType string, status metav1.ConditionStatus, reason, message string)
func (*Kode) SetRuntime ¶
func (*Kode) UpdateKodePort ¶
type KodeDomain ¶
type KodeDomain string
type KodeHostname ¶
type KodeHostname 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 KodePhase ¶
type KodePhase string
KodePhase represents the current state of the Kode resource.
const ( // KodePhasePending indicates the initial state when a new Kode resource is created. // The controller has acknowledged the resource but hasn't started processing it yet. KodePhasePending KodePhase = "Pending" // KodePhaseConfiguring indicates that the controller is actively setting up the Kode resource. // This includes creating necessary Kubernetes resources, configuring storage, and applying user configurations. KodePhaseConfiguring KodePhase = "Configuring" // KodePhaseProvisioning indicates that all necessary resources for the Kode 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. KodePhaseProvisioning KodePhase = "Provisioning" // KodePhaseActive indicates that the Kode resource is fully operational. // All associated Kubernetes resources are created and ready to serve requests. // The Kode environment is accessible to users in this state. KodePhaseActive KodePhase = "Active" // KodePhaseInactive indicates that the Kode resource has been flagged for suspension. // This could be due to inactivity or to free up resources. // Some resources may be partially or fully removed to free up cluster resources. KodePhaseInactive KodePhase = "Inactive" // KodePhaseSuspending indicates that the Kode resource is in the process of being suspended. // The controller is actively working on stopping the Kode environment and preserving its state. KodePhaseSuspending KodePhase = "Suspending" // KodePhaseSuspended indicates that the Kode resource is in a suspended state. // The Kode environment is not running, but its configuration and data are preserved. // It can be resumed later without loss of user data or settings. KodePhaseSuspended KodePhase = "Suspended" // KodePhaseResuming indicates that the Kode resource is in the process of being reactivated from a suspended state. // The controller is recreating necessary resources and restoring the Kode environment to its previous active state. KodePhaseResuming KodePhase = "Resuming" // KodePhaseDeleting indicates the Kode resource is being permanently removed. // The controller is in the process of deleting all associated Kubernetes resources. KodePhaseDeleting KodePhase = "Deleting" // KodePhaseFailed indicates that an error occurred during the lifecycle of the Kode resource. // This could be during creation, updating, or management of the Kode or its associated resources. // The controller will typically attempt to recover from this state automatically. KodePhaseFailed KodePhase = "Failed" // KodePhaseUnknown indicates that the Kode 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. KodePhaseUnknown KodePhase = "Unknown" )
type KodeSpec ¶
type KodeSpec struct { // The reference to a template. Either a PodTemplate, VirtualTemplate or TofuTemplate. // +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 { // Phase represents the current phase of the Kode resource. Phase KodePhase `json:"phase"` // 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. IconUrl IconUrl `json:"iconUrl,omitempty"` // The runtime for the kode. Can be one of 'pod', 'virtual', 'tofu'. 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"` }
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 LbEndpoint ¶
type LbEndpoint struct { // List of endpoints // +kubebuilder:validation:Required Endpoint Endpoint `json:"endpoint"` }
func (*LbEndpoint) DeepCopy ¶
func (in *LbEndpoint) DeepCopy() *LbEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LbEndpoint.
func (*LbEndpoint) DeepCopyInto ¶
func (in *LbEndpoint) DeepCopyInto(out *LbEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadAssignment ¶
type LoadAssignment struct { // The name of the cluster // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Required ClusterName string `json:"cluster_name"` // List of endpoints // +kubebuilder:validation:Required Endpoints []Endpoints `json:"endpoints"` }
func (*LoadAssignment) DeepCopy ¶
func (in *LoadAssignment) DeepCopy() *LoadAssignment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadAssignment.
func (*LoadAssignment) DeepCopyInto ¶
func (in *LoadAssignment) DeepCopyInto(out *LoadAssignment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 PatchPolicy ¶
type PatchPolicy struct { // List of Envoy HTTP filters to be applied // +kubebuilder:validation:Optional HTTPFilters []HTTPFilter `json:"httpFilters"` // List of Envoy clusters // +kubebuilder:validation:Optional Clusters []Cluster `json:"clusters,omitempty"` }
func (*PatchPolicy) DeepCopy ¶
func (in *PatchPolicy) DeepCopy() *PatchPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchPolicy.
func (*PatchPolicy) DeepCopyInto ¶
func (in *PatchPolicy) DeepCopyInto(out *PatchPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodTemplate ¶
type PodTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PodTemplateSpec `json:"spec,omitempty"` Status PodTemplateStatus `json:"status,omitempty"` }
PodTemplate is the Schema for the podtemplates API
func (*PodTemplate) DeepCopy ¶
func (in *PodTemplate) DeepCopy() *PodTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplate.
func (*PodTemplate) DeepCopyInto ¶
func (in *PodTemplate) DeepCopyInto(out *PodTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodTemplate) DeepCopyObject ¶
func (in *PodTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodTemplateList ¶
type PodTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PodTemplate `json:"items"` }
PodTemplateList contains a list of PodTemplate
func (*PodTemplateList) DeepCopy ¶
func (in *PodTemplateList) DeepCopy() *PodTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplateList.
func (*PodTemplateList) DeepCopyInto ¶
func (in *PodTemplateList) DeepCopyInto(out *PodTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodTemplateList) DeepCopyObject ¶
func (in *PodTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodTemplateSharedSpec ¶
type PodTemplateSharedSpec struct { BaseSharedSpec `json:",inline"` // +kubebuilder:validation:Enum=code-server;webtop Type string `json:"type,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"` }
PodTemplateSharedSpec defines the desired state of KodeContainer
func (*PodTemplateSharedSpec) DeepCopy ¶
func (in *PodTemplateSharedSpec) DeepCopy() *PodTemplateSharedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplateSharedSpec.
func (*PodTemplateSharedSpec) DeepCopyInto ¶
func (in *PodTemplateSharedSpec) DeepCopyInto(out *PodTemplateSharedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodTemplateSharedStatus ¶
type PodTemplateSharedStatus struct {
}PodTemplateSharedStatus defines the observed state for Container
func (*PodTemplateSharedStatus) DeepCopy ¶
func (in *PodTemplateSharedStatus) DeepCopy() *PodTemplateSharedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplateSharedStatus.
func (*PodTemplateSharedStatus) DeepCopyInto ¶
func (in *PodTemplateSharedStatus) DeepCopyInto(out *PodTemplateSharedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodTemplateSpec ¶
type PodTemplateSpec struct {
}PodTemplateSpec defines the desired state of ClusterKodeContainer
func (*PodTemplateSpec) DeepCopy ¶
func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplateSpec.
func (*PodTemplateSpec) DeepCopyInto ¶
func (in *PodTemplateSpec) DeepCopyInto(out *PodTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodTemplateStatus ¶
type PodTemplateStatus struct {
}PodTemplateStatus defines the observed state of ClusterKodeContainer
func (*PodTemplateStatus) DeepCopy ¶
func (in *PodTemplateStatus) DeepCopy() *PodTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodTemplateStatus.
func (*PodTemplateStatus) DeepCopyInto ¶
func (in *PodTemplateStatus) DeepCopyInto(out *PodTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 SecurityPolicySpec ¶
type SecurityPolicySpec struct { // BasicAuth defines the configuration for the HTTP Basic Authentication. Points to a Kubernetes secret which contains the username-password pairs in htpasswd format. // Reference to https://httpd.apache.org/docs/2.4/programs/htpasswd.html for more details. // +optional BasicAuth *egv1alpha1.BasicAuth `json:"basicAuth,omitempty"` // JWT defines the configuration for JSON Web Token (JWT) authentication. // // +optional JWT *egv1alpha1.JWT `json:"jwt,omitempty"` // OIDC defines the configuration for the OpenID Connect (OIDC) authentication. // // +optional OIDC *egv1alpha1.OIDC `json:"oidc,omitempty"` // 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 SocketAddress ¶
type SocketAddress struct { // The address of the socket // +kubebuilder:validation:Required Address string `json:"address"` // PortValue is the port of the socket // +kubebuilder:validation:Required PortValue int `json:"port_value"` }
func (*SocketAddress) DeepCopy ¶
func (in *SocketAddress) DeepCopy() *SocketAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SocketAddress.
func (*SocketAddress) DeepCopyInto ¶
func (in *SocketAddress) DeepCopyInto(out *SocketAddress)
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., "PodTemplate", "ClusterPodTemplate", "TofuTemplate", "ClusterTofuTemplate") 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"` // PodTemplateSpec is a reference to a PodTemplate or ClusterPodTemplate PodTemplateSpec *PodTemplateSharedSpec `json:"container,omitempty" yaml:"container,omitempty"` // TofuTemplateSpec is a reference to a TofuTemplate or ClusterTofuTemplate TofuTemplateSpec *TofuSharedSpec `json:"tofu,omitempty" yaml:"tofu,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 ( TemplateKindPodTemplate TemplateKind = "PodTemplate" TemplateKindClusterPodTemplate TemplateKind = "ClusterPodTemplate" TemplateKindVirtualTemplate TemplateKind = "VirtualTemplate" TemplateKindClusterVirtualTemplate TemplateKind = "ClusterVirtualTemplate" TemplateKindTofuTemplate TemplateKind = "TofuTemplate" TemplateKindClusterTofuTemplate TemplateKind = "ClusterTofuTemplate" )
type TofuSharedSpec ¶
type TofuSharedSpec struct { BaseSharedSpec `json:",inline"` EntryPointRef CrossNamespaceObjectReference `json:"entryPointRef,omitempty" yaml:"entryPointRef,omitempty"` }
TofuSharedSpec defines the desired state of KodeTofu
func (*TofuSharedSpec) DeepCopy ¶
func (in *TofuSharedSpec) DeepCopy() *TofuSharedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TofuSharedSpec.
func (*TofuSharedSpec) DeepCopyInto ¶
func (in *TofuSharedSpec) DeepCopyInto(out *TofuSharedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TofuSharedStatus ¶
type TofuSharedStatus struct {
}TofuSharedStatus defines the observed state for Tofu
func (*TofuSharedStatus) DeepCopy ¶
func (in *TofuSharedStatus) DeepCopy() *TofuSharedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TofuSharedStatus.
func (*TofuSharedStatus) DeepCopyInto ¶
func (in *TofuSharedStatus) DeepCopyInto(out *TofuSharedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TofuTemplate ¶
type TofuTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TofuTemplateSpec `json:"spec,omitempty"` Status TofuTemplateStatus `json:"status,omitempty"` }
TofuTemplate is the Schema for the tofutemplates API
func (*TofuTemplate) DeepCopy ¶
func (in *TofuTemplate) DeepCopy() *TofuTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TofuTemplate.
func (*TofuTemplate) DeepCopyInto ¶
func (in *TofuTemplate) DeepCopyInto(out *TofuTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TofuTemplate) DeepCopyObject ¶
func (in *TofuTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TofuTemplateList ¶
type TofuTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TofuTemplate `json:"items"` }
TofuTemplateList contains a list of TofuTemplate
func (*TofuTemplateList) DeepCopy ¶
func (in *TofuTemplateList) DeepCopy() *TofuTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TofuTemplateList.
func (*TofuTemplateList) DeepCopyInto ¶
func (in *TofuTemplateList) DeepCopyInto(out *TofuTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TofuTemplateList) DeepCopyObject ¶
func (in *TofuTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TofuTemplateSpec ¶
type TofuTemplateSpec struct {
}TofuTemplateSpec defines the desired state of KodeTofu
func (*TofuTemplateSpec) DeepCopy ¶
func (in *TofuTemplateSpec) DeepCopy() *TofuTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TofuTemplateSpec.
func (*TofuTemplateSpec) DeepCopyInto ¶
func (in *TofuTemplateSpec) DeepCopyInto(out *TofuTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TofuTemplateStatus ¶
type TofuTemplateStatus struct {
}TofuTemplateStatus defines the observed state of KodeTofu
func (*TofuTemplateStatus) DeepCopy ¶
func (in *TofuTemplateStatus) DeepCopy() *TofuTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TofuTemplateStatus.
func (*TofuTemplateStatus) DeepCopyInto ¶
func (in *TofuTemplateStatus) DeepCopyInto(out *TofuTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- common_types.go
- entrypoint_types.go
- envoy_types.go
- groupversion_info.go
- initplugin_types.go
- kode_types.go
- podtemplate_cluster_types.go
- podtemplate_types.go
- reference_types.go
- shared_podtemplate_types.go
- shared_tofutemplate_types.go
- tofutemplate_cluster_types.go
- tofutemplate_types.go
- zz_generated.deepcopy.go