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.