Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the unbind v1 API group. +kubebuilder:object:generate=true +groupName=unbind.unbind.app
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "unbind.unbind.app", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type DatabaseConfigSpec ¶
type DatabaseConfigSpec struct { Version string `json:"version,omitempty"` StorageSize string `json:"storage,omitempty"` DefaultDatabaseName string `json:"defaultDatabaseName,omitempty"` InitDB string `json:"initdb,omitempty"` WalLevel string `json:"walLevel,omitempty"` }
func (*DatabaseConfigSpec) AsMap ¶
func (self *DatabaseConfigSpec) AsMap() map[string]interface{}
func (*DatabaseConfigSpec) DeepCopy ¶
func (in *DatabaseConfigSpec) DeepCopy() *DatabaseConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseConfigSpec.
func (*DatabaseConfigSpec) DeepCopyInto ¶
func (in *DatabaseConfigSpec) DeepCopyInto(out *DatabaseConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseSpec ¶
type DatabaseSpec struct { // Type of the database Type string `json:"type"` // DatabaseSpecVersion is a reference to the version of the database spec DatabaseSpecVersion string `json:"databaseSpecVersion"` Config *DatabaseConfigSpec `json:"config,omitempty"` // S3Config for backupps S3BackupConfig *S3ConfigSpec `json:"s3BackupConfig,omitempty"` }
func (*DatabaseSpec) DeepCopy ¶
func (in *DatabaseSpec) DeepCopy() *DatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseSpec.
func (*DatabaseSpec) DeepCopyInto ¶
func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckSpec ¶
type HealthCheckSpec struct { // Type of health check, either "http" or "exec" // +kubebuilder:validation:Enum=http;exec Type string `json:"type"` // Path for HTTP health checks (e.g., "/api/health") Path string `json:"path,omitempty"` // Port for HTTP health checks (defaults to first container port if not specified) Port *int32 `json:"port,omitempty"` // Command for exec health checks (will be parsed similar to RunCommand) Command string `json:"command,omitempty"` // PeriodSeconds is how often to perform the probe (default: 10) PeriodSeconds *int32 `json:"periodSeconds,omitempty"` // TimeoutSeconds is how long to wait before marking probe as failed (default: 5) TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty"` // StartupFailureThreshold is the failure threshold for startup probes (default: 5) StartupFailureThreshold *int32 `json:"startupFailureThreshold,omitempty"` // LivenessFailureThreshold is the failure threshold for liveness probes (default: 5) LivenessFailureThreshold *int32 `json:"livenessFailureThreshold,omitempty"` // ReadinessFailureThreshold is the failure threshold for readiness probes (default: 3) ReadinessFailureThreshold *int32 `json:"readinessFailureThreshold,omitempty"` }
HealthCheckSpec defines a unified health check that will be translated to all probes
func (*HealthCheckSpec) DeepCopy ¶
func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSpec.
func (*HealthCheckSpec) DeepCopyInto ¶
func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostSpec ¶
type HostSpec struct { // Host is the external domain for the service Host string `json:"host"` Path string `json:"path"` Port *int32 `json:"port,omitempty" required:"false"` }
func (*HostSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSpec.
func (*HostSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InitContainerSpec ¶
type InitContainerSpec struct { Image string `json:"image"` // Init container image Command string `json:"command"` // Command to run in the init container }
Init container spec
type PortSpec ¶
type PortSpec struct { NodePort *int32 `json:"nodePort,omitempty" required:"false"` // NodePort will create a NodePort service // Port is the container port to expose Port int32 `json:"port"` Protocol *corev1.Protocol `json:"protocol,omitempty" required:"false"` }
func (*PortSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortSpec.
func (*PortSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSpec ¶
type ResourceSpec struct { // CPU requests and limits CPURequestsMillicores int64 `json:"cpuRequestsMillicores"` CPULimitsMillicores int64 `json:"cpuLimitsMillicores"` // Memory requests and limits MemoryRequestsMegabytes int64 `json:"memoryRequestsMegabytes"` MemoryLimitsMegabytes int64 `json:"memoryLimitsMegabytes"` }
ResourceSpec defines the resource requirements for a container
type S3ConfigSpec ¶
type S3ConfigSpec struct { Bucket string `json:"bucket"` Endpoint string `json:"endpoint"` Region string `json:"region"` // secret name containing the credentials SecretName string `json:"secretName"` BackupSchedule string `json:"backupSchedule"` BackupRetentionCount int `json:"backupRetentionCount"` }
func (*S3ConfigSpec) DeepCopy ¶
func (in *S3ConfigSpec) DeepCopy() *S3ConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3ConfigSpec.
func (*S3ConfigSpec) DeepCopyInto ¶
func (in *S3ConfigSpec) DeepCopyInto(out *S3ConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Service ¶
type Service struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ServiceSpec `json:"spec,omitempty"` Status ServiceStatus `json:"status,omitempty"` }
Service is the Schema for the services API.
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceConfigSpec ¶
type ServiceConfigSpec struct { // GitBranch to build from GitBranch string `json:"gitBranch,omitempty"` // Hosts is the external domain(s) and paths for the service Hosts []HostSpec `json:"hosts,omitempty"` // Ports are the container ports to expose Ports []PortSpec `json:"ports,omitempty"` // Replicas is the number of replicas for the service Replicas *int32 `json:"replicas,omitempty"` // RunCommand is a custom run command RunCommand *string `json:"runCommand,omitempty"` // Public indicates whether the service is publicly accessible Public bool `json:"public,omitempty"` // Image is a custom Docker image if not building from git Image string `json:"image"` // Databases are custom resources to create Database DatabaseSpec `json:"database"` // Volumes are mounted inside of the container at specified paths Volumes []VolumeSpec `json:"volumes,omitempty"` // HealthCheck defines a simplified health check that applies to all probe types HealthCheck *HealthCheckSpec `json:"healthCheck,omitempty"` // VariableMounts are paths to mount variables (from secret ref) VariableMounts []VariableMountSpec `json:"variableMounts,omitempty"` // InitContainers are the init containers to run before the main container InitContainers []InitContainerSpec `json:"initContainers,omitempty"` // Resources defines the resource requirements for the container Resources *ResourceSpec `json:"resources,omitempty"` }
ServiceConfigSpec defines configuration for a service
func (*ServiceConfigSpec) DeepCopy ¶
func (in *ServiceConfigSpec) DeepCopy() *ServiceConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceConfigSpec.
func (*ServiceConfigSpec) DeepCopyInto ¶
func (in *ServiceConfigSpec) DeepCopyInto(out *ServiceConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceList ¶
type ServiceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Service `json:"items"` }
ServiceList contains a list of Service.
func (*ServiceList) DeepCopy ¶
func (in *ServiceList) DeepCopy() *ServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceList.
func (*ServiceList) DeepCopyInto ¶
func (in *ServiceList) DeepCopyInto(out *ServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceList) DeepCopyObject ¶
func (in *ServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceSpec ¶
type ServiceSpec struct { // Name of the service Name string `json:"name"` // DisplayName is a human-friendly name for the service DisplayName string `json:"displayName,omitempty"` // Description of the service Description string `json:"description,omitempty"` // Type of service - git or dockerfile or template Type string `json:"type"` // Builder to use - railpack or docker or template Builder string `json:"builder"` // Provider (e.g. Go, Python, Node, Deno) Provider string `json:"provider,omitempty"` // Framework used (e.g. Django, Next, Express, Gin) Framework string `json:"framework,omitempty"` // GitHubInstallationID for GitHub integration GitHubInstallationID *int64 `json:"githubInstallationId,omitempty"` // GitRepository name GitRepository string `json:"gitRepository,omitempty"` // KubernetesSecret name for this service KubernetesSecret string `json:"kubernetesSecret"` // Configuration for the service Config ServiceConfigSpec `json:"config"` // Additional environment variables to attach EnvVars []corev1.EnvVar `json:"envVars,omitempty"` // Registry secrets to pull images from ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // DeploymentRef is a reference to the deployment this service is based on DeploymentRef string `json:"deploymentRef,omitempty"` // ServiceRef is a reference to the service this service is based on ServiceRef string `json:"serviceRef,omitempty"` // TeamRef is a reference to the team that owns this service TeamRef string `json:"teamRef"` // ProjectRef is a reference to the project this service belongs to ProjectRef string `json:"projectRef"` // EnvironmentRef references the environment this service belongs to EnvironmentRef string `json:"environmentRef"` // SecurityContext defines the security context for the pod SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` }
ServiceSpec defines the desired state of the Service
func (*ServiceSpec) DeepCopy ¶
func (in *ServiceSpec) DeepCopy() *ServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (*ServiceSpec) DeepCopyInto ¶
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceStatus ¶
type ServiceStatus struct { // Conditions represent the latest available observations of an object's state Conditions []metav1.Condition `json:"conditions,omitempty"` // DeploymentStatus represents the status of the deployment DeploymentStatus string `json:"deploymentStatus,omitempty"` // URLs is the external URLs where the service is accessible URLs []string `json:"urls,omitempty"` // LastDeployedAt is the time when the service was last deployed LastDeployedAt *metav1.Time `json:"lastDeployedAt,omitempty"` }
ServiceStatus defines the observed state of Service
func (*ServiceStatus) DeepCopy ¶
func (in *ServiceStatus) DeepCopy() *ServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceStatus.
func (*ServiceStatus) DeepCopyInto ¶
func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VariableMountSpec ¶
type VariableMountSpec struct { Name string `json:"name"` // Variable Name Path string `json:"path"` // Path to mount the variable }
Mounting secret as a file/
func (*VariableMountSpec) DeepCopy ¶
func (in *VariableMountSpec) DeepCopy() *VariableMountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VariableMountSpec.
func (*VariableMountSpec) DeepCopyInto ¶
func (in *VariableMountSpec) DeepCopyInto(out *VariableMountSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeSpec ¶
type VolumeSpec struct { Name string `json:"name"` // PVC name MountPath string `json:"mountPath"` // Path to mount the volume }
func (*VolumeSpec) DeepCopy ¶
func (in *VolumeSpec) DeepCopy() *VolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.
func (*VolumeSpec) DeepCopyInto ¶
func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.