v1alpha1

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group. +kubebuilder:object:generate=true +groupName=cozystack.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "cozystack.io", Version: "v1alpha1"}

	// 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 ApplicationDefinition added in v1.0.0

type ApplicationDefinition struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ApplicationDefinitionSpec `json:"spec,omitempty"`
}

ApplicationDefinition is the Schema for the applicationdefinitions API

func (*ApplicationDefinition) DeepCopy added in v1.0.0

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

func (*ApplicationDefinition) DeepCopyInto added in v1.0.0

func (in *ApplicationDefinition) DeepCopyInto(out *ApplicationDefinition)

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

func (*ApplicationDefinition) DeepCopyObject added in v1.0.0

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

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

type ApplicationDefinitionApplication added in v1.0.0

type ApplicationDefinitionApplication struct {
	// Kind of the application, used for UI and API
	Kind string `json:"kind"`
	// OpenAPI schema for the application, used for API validation
	OpenAPISchema string `json:"openAPISchema"`
	// Plural name of the application, used for UI and API
	Plural string `json:"plural"`
	// Singular name of the application, used for UI and API
	Singular string `json:"singular"`
}

func (*ApplicationDefinitionApplication) DeepCopy added in v1.0.0

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

func (*ApplicationDefinitionApplication) DeepCopyInto added in v1.0.0

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

type ApplicationDefinitionDashboard added in v1.0.0

type ApplicationDefinitionDashboard struct {
	// Human-readable name shown in the UI (e.g., "Bucket")
	Singular string `json:"singular"`
	// Plural human-readable name (e.g., "Buckets")
	Plural string `json:"plural"`
	// Hard-coded name used in the UI (e.g., "bucket")
	// +optional
	Name string `json:"name,omitempty"`
	// Whether this resource is singular (not a collection) in the UI
	// +optional
	SingularResource bool `json:"singularResource,omitempty"`
	// Order weight for sorting resources in the UI (lower first)
	// +optional
	Weight int `json:"weight,omitempty"`
	// Short description shown in catalogs or headers (e.g., "S3 compatible storage")
	// +optional
	Description string `json:"description,omitempty"`
	// Icon encoded as a string (e.g., inline SVG, base64, or data URI)
	// +optional
	Icon string `json:"icon,omitempty"`
	// Category used to group resources in the UI (e.g., "Storage", "Networking")
	Category string `json:"category"`
	// Free-form tags for search and filtering
	// +optional
	Tags []string `json:"tags,omitempty"`
	// Which tabs to show for this resource
	// +optional
	Tabs []DashboardTab `json:"tabs,omitempty"`
	// Order of keys in the YAML view
	// +optional
	KeysOrder [][]string `json:"keysOrder,omitempty"`
	// Whether this resource is a module (tenant module)
	// +optional
	Module bool `json:"module,omitempty"`
}

ApplicationDefinitionDashboard describes how this resource appears in the UI.

func (*ApplicationDefinitionDashboard) DeepCopy added in v1.0.0

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

func (*ApplicationDefinitionDashboard) DeepCopyInto added in v1.0.0

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

type ApplicationDefinitionList added in v1.0.0

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

ApplicationDefinitionList contains a list of ApplicationDefinitions

func (*ApplicationDefinitionList) DeepCopy added in v1.0.0

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

func (*ApplicationDefinitionList) DeepCopyInto added in v1.0.0

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

func (*ApplicationDefinitionList) DeepCopyObject added in v1.0.0

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

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

type ApplicationDefinitionRelease added in v1.0.0

type ApplicationDefinitionRelease struct {
	// Reference to the chart source
	ChartRef *helmv2.CrossNamespaceSourceReference `json:"chartRef"`
	// Labels for the release
	Labels map[string]string `json:"labels,omitempty"`
	// Prefix for the release name
	Prefix string `json:"prefix"`
}

func (*ApplicationDefinitionRelease) DeepCopy added in v1.0.0

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

func (*ApplicationDefinitionRelease) DeepCopyInto added in v1.0.0

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

type ApplicationDefinitionResourceSelector added in v1.0.0

type ApplicationDefinitionResourceSelector struct {
	metav1.LabelSelector `json:",inline"`
	// ResourceNames is a list of resource names to match
	// If specified, the resource must have one of these exact names to match the selector
	// +optional
	ResourceNames []string `json:"resourceNames,omitempty"`
}

ApplicationDefinitionResourceSelector extends metav1.LabelSelector with resourceNames support. A resource matches this selector only if it satisfies ALL criteria: - Label selector conditions (matchExpressions and matchLabels) - AND has a name that matches one of the names in resourceNames (if specified)

The resourceNames field supports Go templates with the following variables available: - {{ .name }}: The name of the managing application (from apps.cozystack.io/application.name) - {{ .kind }}: The lowercased kind of the managing application (from apps.cozystack.io/application.kind) - {{ .namespace }}: The namespace of the resource being processed

Example YAML:

secrets:
  include:
  - matchExpressions:
    - key: badlabel
      operator: DoesNotExist
    matchLabels:
      goodlabel: goodvalue
    resourceNames:
    - "{{ .name }}-secret"
    - "{{ .kind }}-{{ .name }}-tls"
    - "specificname"

func (*ApplicationDefinitionResourceSelector) DeepCopy added in v1.0.0

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

func (*ApplicationDefinitionResourceSelector) DeepCopyInto added in v1.0.0

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

type ApplicationDefinitionResources added in v1.0.0

type ApplicationDefinitionResources struct {
	// Exclude contains an array of resource selectors that target resources.
	// If a resource matches the selector in any of the elements in the array, it is
	// hidden from the user, regardless of the matches in the include array.
	Exclude []*ApplicationDefinitionResourceSelector `json:"exclude,omitempty"`
	// Include contains an array of resource selectors that target resources.
	// If a resource matches the selector in any of the elements in the array, and
	// matches none of the selectors in the exclude array that resource is marked
	// as a tenant resource and is visible to users.
	Include []*ApplicationDefinitionResourceSelector `json:"include,omitempty"`
}

func (*ApplicationDefinitionResources) DeepCopy added in v1.0.0

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

func (*ApplicationDefinitionResources) DeepCopyInto added in v1.0.0

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

type ApplicationDefinitionSpec added in v1.0.0

type ApplicationDefinitionSpec struct {
	// Application configuration
	Application ApplicationDefinitionApplication `json:"application"`
	// Release configuration
	Release ApplicationDefinitionRelease `json:"release"`

	// Secret selectors
	Secrets ApplicationDefinitionResources `json:"secrets,omitempty"`
	// Service selectors
	Services ApplicationDefinitionResources `json:"services,omitempty"`
	// Ingress selectors
	Ingresses ApplicationDefinitionResources `json:"ingresses,omitempty"`

	// Dashboard configuration for this resource
	Dashboard *ApplicationDefinitionDashboard `json:"dashboard,omitempty"`
}

func (*ApplicationDefinitionSpec) DeepCopy added in v1.0.0

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

func (*ApplicationDefinitionSpec) DeepCopyInto added in v1.0.0

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

type Component added in v1.0.0

type Component struct {
	// Name is the unique identifier for this component within the package source
	// +required
	Name string `json:"name"`

	// Path is the path to the Helm chart directory
	// +required
	Path string `json:"path"`

	// Install defines installation parameters for this component
	// +optional
	Install *ComponentInstall `json:"install,omitempty"`

	// Libraries is a list of library names that this component depends on
	// These libraries must be defined at the variant level
	// +optional
	Libraries []string `json:"libraries,omitempty"`

	// ValuesFiles is a list of values file names to use
	// +optional
	ValuesFiles []string `json:"valuesFiles,omitempty"`
}

Component defines a single Helm release component within a package source

func (*Component) DeepCopy added in v1.0.0

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto added in v1.0.0

func (in *Component) DeepCopyInto(out *Component)

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

type ComponentInstall added in v1.0.0

type ComponentInstall struct {
	// ReleaseName is the name of the HelmRelease resource that will be created
	// If not specified, defaults to the component Name field
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// Namespace is the Kubernetes namespace where the release will be installed
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Privileged indicates whether this release requires privileged access
	// +optional
	Privileged bool `json:"privileged,omitempty"`

	// DependsOn is a list of component names that must be installed before this component
	// +optional
	DependsOn []string `json:"dependsOn,omitempty"`
}

ComponentInstall defines installation parameters for a component

func (*ComponentInstall) DeepCopy added in v1.0.0

func (in *ComponentInstall) DeepCopy() *ComponentInstall

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

func (*ComponentInstall) DeepCopyInto added in v1.0.0

func (in *ComponentInstall) DeepCopyInto(out *ComponentInstall)

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

type DashboardTab added in v0.37.0

type DashboardTab string

DashboardTab enumerates allowed UI tabs. +kubebuilder:validation:Enum=workloads;ingresses;services;secrets;yaml

const (
	DashboardTabWorkloads DashboardTab = "workloads"
	DashboardTabIngresses DashboardTab = "ingresses"
	DashboardTabServices  DashboardTab = "services"
	DashboardTabSecrets   DashboardTab = "secrets"
	DashboardTabYAML      DashboardTab = "yaml"
)

type DependencyStatus added in v1.0.0

type DependencyStatus struct {
	// Ready indicates whether the dependency is ready
	Ready bool `json:"ready"`
}

DependencyStatus represents the readiness status of a dependency

func (*DependencyStatus) DeepCopy added in v1.0.0

func (in *DependencyStatus) DeepCopy() *DependencyStatus

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

func (*DependencyStatus) DeepCopyInto added in v1.0.0

func (in *DependencyStatus) DeepCopyInto(out *DependencyStatus)

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

type Library added in v1.0.0

type Library struct {
	// Name is the optional name for library placed in charts
	// +optional
	Name string `json:"name,omitempty"`

	// Path is the path to the library chart directory
	// +required
	Path string `json:"path"`
}

Library defines a Helm library chart

func (*Library) DeepCopy added in v1.0.0

func (in *Library) DeepCopy() *Library

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

func (*Library) DeepCopyInto added in v1.0.0

func (in *Library) DeepCopyInto(out *Library)

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

type Package added in v1.0.0

type Package struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PackageSpec   `json:"spec,omitempty"`
	Status PackageStatus `json:"status,omitempty"`
}

Package is the Schema for the packages API

func (*Package) DeepCopy added in v1.0.0

func (in *Package) DeepCopy() *Package

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

func (*Package) DeepCopyInto added in v1.0.0

func (in *Package) DeepCopyInto(out *Package)

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

func (*Package) DeepCopyObject added in v1.0.0

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

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

type PackageComponent added in v1.0.0

type PackageComponent struct {
	// Enabled indicates whether this component should be installed
	// If false, the component will be disabled even if it's defined in the PackageSource
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Values contains Helm chart values as a JSON object
	// These values will be merged with the default values from the PackageSource
	// +optional
	Values *apiextensionsv1.JSON `json:"values,omitempty"`
}

PackageComponent defines overrides for a specific component

func (*PackageComponent) DeepCopy added in v1.0.0

func (in *PackageComponent) DeepCopy() *PackageComponent

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

func (*PackageComponent) DeepCopyInto added in v1.0.0

func (in *PackageComponent) DeepCopyInto(out *PackageComponent)

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

type PackageList added in v1.0.0

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

PackageList contains a list of Packages

func (*PackageList) DeepCopy added in v1.0.0

func (in *PackageList) DeepCopy() *PackageList

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

func (*PackageList) DeepCopyInto added in v1.0.0

func (in *PackageList) DeepCopyInto(out *PackageList)

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

func (*PackageList) DeepCopyObject added in v1.0.0

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

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

type PackageSource added in v1.0.0

type PackageSource struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PackageSourceSpec   `json:"spec,omitempty"`
	Status PackageSourceStatus `json:"status,omitempty"`
}

PackageSource is the Schema for the packagesources API

func (*PackageSource) DeepCopy added in v1.0.0

func (in *PackageSource) DeepCopy() *PackageSource

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

func (*PackageSource) DeepCopyInto added in v1.0.0

func (in *PackageSource) DeepCopyInto(out *PackageSource)

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

func (*PackageSource) DeepCopyObject added in v1.0.0

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

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

type PackageSourceList added in v1.0.0

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

PackageSourceList contains a list of PackageSources

func (*PackageSourceList) DeepCopy added in v1.0.0

func (in *PackageSourceList) DeepCopy() *PackageSourceList

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

func (*PackageSourceList) DeepCopyInto added in v1.0.0

func (in *PackageSourceList) DeepCopyInto(out *PackageSourceList)

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

func (*PackageSourceList) DeepCopyObject added in v1.0.0

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

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

type PackageSourceRef added in v1.0.0

type PackageSourceRef struct {
	// Kind of the source reference
	// +kubebuilder:validation:Enum=GitRepository;OCIRepository
	// +required
	Kind string `json:"kind"`

	// Name of the source reference
	// +required
	Name string `json:"name"`

	// Namespace of the source reference
	// +required
	Namespace string `json:"namespace"`

	// Path is the base path where packages are located in the source.
	// For GitRepository, defaults to "packages" if not specified.
	// For OCIRepository, defaults to empty string (root) if not specified.
	// +optional
	Path string `json:"path,omitempty"`
}

PackageSourceRef defines the source reference for package source charts

func (*PackageSourceRef) DeepCopy added in v1.0.0

func (in *PackageSourceRef) DeepCopy() *PackageSourceRef

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

func (*PackageSourceRef) DeepCopyInto added in v1.0.0

func (in *PackageSourceRef) DeepCopyInto(out *PackageSourceRef)

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

type PackageSourceSpec added in v1.0.0

type PackageSourceSpec struct {
	// SourceRef is the source reference for the package source charts
	// +optional
	SourceRef *PackageSourceRef `json:"sourceRef,omitempty"`

	// Variants is a list of package source variants
	// Each variant defines components, applications, dependencies, and libraries for a specific configuration
	// +optional
	Variants []Variant `json:"variants,omitempty"`
}

PackageSourceSpec defines the desired state of PackageSource

func (*PackageSourceSpec) DeepCopy added in v1.0.0

func (in *PackageSourceSpec) DeepCopy() *PackageSourceSpec

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

func (*PackageSourceSpec) DeepCopyInto added in v1.0.0

func (in *PackageSourceSpec) DeepCopyInto(out *PackageSourceSpec)

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

type PackageSourceStatus added in v1.0.0

type PackageSourceStatus struct {
	// Variants is a comma-separated list of package variant names
	// This field is populated by the controller based on spec.variants keys
	// +optional
	Variants string `json:"variants,omitempty"`

	// Conditions represents the latest available observations of a PackageSource's state
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

PackageSourceStatus defines the observed state of PackageSource

func (*PackageSourceStatus) DeepCopy added in v1.0.0

func (in *PackageSourceStatus) DeepCopy() *PackageSourceStatus

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

func (*PackageSourceStatus) DeepCopyInto added in v1.0.0

func (in *PackageSourceStatus) DeepCopyInto(out *PackageSourceStatus)

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

type PackageSpec added in v1.0.0

type PackageSpec struct {
	// Variant is the name of the variant to use from the PackageSource
	// If not specified, defaults to "default"
	// +optional
	Variant string `json:"variant,omitempty"`

	// IgnoreDependencies is a list of package source dependencies to ignore
	// Dependencies listed here will not be installed even if they are specified in the PackageSource
	// +optional
	IgnoreDependencies []string `json:"ignoreDependencies,omitempty"`

	// Components is a map of release name to component overrides
	// Allows overriding values and enabling/disabling specific components from the PackageSource
	// +optional
	Components map[string]PackageComponent `json:"components,omitempty"`
}

PackageSpec defines the desired state of Package

func (*PackageSpec) DeepCopy added in v1.0.0

func (in *PackageSpec) DeepCopy() *PackageSpec

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

func (*PackageSpec) DeepCopyInto added in v1.0.0

func (in *PackageSpec) DeepCopyInto(out *PackageSpec)

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

type PackageStatus added in v1.0.0

type PackageStatus struct {
	// Conditions represents the latest available observations of a Package's state
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Dependencies tracks the readiness status of each dependency
	// Key is the dependency package name, value indicates if the dependency is ready
	// +optional
	Dependencies map[string]DependencyStatus `json:"dependencies,omitempty"`
}

PackageStatus defines the observed state of Package

func (*PackageStatus) DeepCopy added in v1.0.0

func (in *PackageStatus) DeepCopy() *PackageStatus

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

func (*PackageStatus) DeepCopyInto added in v1.0.0

func (in *PackageStatus) DeepCopyInto(out *PackageStatus)

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

type Selector

type Selector map[string]string

Selector specifies the label selector for workloads

func (Selector) DeepCopy

func (in Selector) DeepCopy() Selector

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

func (Selector) DeepCopyInto

func (in Selector) DeepCopyInto(out *Selector)

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

type Variant added in v1.0.0

type Variant struct {
	// Name is the unique identifier for this variant
	// +required
	Name string `json:"name"`

	// DependsOn is a list of package source dependencies
	// For example: "cozystack.networking"
	// +optional
	DependsOn []string `json:"dependsOn,omitempty"`

	// Libraries is a list of Helm library charts used by components in this variant
	// +optional
	Libraries []Library `json:"libraries,omitempty"`

	// Components is a list of Helm releases to be installed as part of this variant
	// +optional
	Components []Component `json:"components,omitempty"`
}

Variant defines a single variant configuration

func (*Variant) DeepCopy added in v1.0.0

func (in *Variant) DeepCopy() *Variant

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

func (*Variant) DeepCopyInto added in v1.0.0

func (in *Variant) DeepCopyInto(out *Variant)

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

type Workload

type Workload struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status WorkloadStatus `json:"status,omitempty"`
}

Workload is the Schema for the workloads API

func (*Workload) DeepCopy

func (in *Workload) DeepCopy() *Workload

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

func (*Workload) DeepCopyInto

func (in *Workload) DeepCopyInto(out *Workload)

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

func (*Workload) DeepCopyObject

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

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

type WorkloadList

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

WorkloadList contains a list of Workload

func (*WorkloadList) DeepCopy

func (in *WorkloadList) DeepCopy() *WorkloadList

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

func (*WorkloadList) DeepCopyInto

func (in *WorkloadList) DeepCopyInto(out *WorkloadList)

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

func (*WorkloadList) DeepCopyObject

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

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

type WorkloadMonitor

type WorkloadMonitor struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   WorkloadMonitorSpec   `json:"spec,omitempty"`
	Status WorkloadMonitorStatus `json:"status,omitempty"`
}

WorkloadMonitor is the Schema for the workloadmonitors API

func (*WorkloadMonitor) DeepCopy

func (in *WorkloadMonitor) DeepCopy() *WorkloadMonitor

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

func (*WorkloadMonitor) DeepCopyInto

func (in *WorkloadMonitor) DeepCopyInto(out *WorkloadMonitor)

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

func (*WorkloadMonitor) DeepCopyObject

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

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

func (*WorkloadMonitor) GetSelector

func (w *WorkloadMonitor) GetSelector() map[string]string

GetSelector returns the label selector from metadata

type WorkloadMonitorList

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

WorkloadMonitorList contains a list of WorkloadMonitor

func (*WorkloadMonitorList) DeepCopy

func (in *WorkloadMonitorList) DeepCopy() *WorkloadMonitorList

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

func (*WorkloadMonitorList) DeepCopyInto

func (in *WorkloadMonitorList) DeepCopyInto(out *WorkloadMonitorList)

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

func (*WorkloadMonitorList) DeepCopyObject

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

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

type WorkloadMonitorSpec

type WorkloadMonitorSpec struct {
	// Selector is a label selector to find workloads to monitor
	// +required
	Selector map[string]string `json:"selector"`

	// Kind specifies the kind of the workload
	// +optional
	Kind string `json:"kind,omitempty"`

	// Type specifies the type of the workload
	// +optional
	Type string `json:"type,omitempty"`

	// Version specifies the version of the workload
	// +optional
	Version string `json:"version,omitempty"`

	// MinReplicas specifies the minimum number of replicas that should be available
	// +kubebuilder:validation:Minimum=0
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`

	// Replicas is the desired number of replicas
	// If not specified, will use observedReplicas as the target
	// +kubebuilder:validation:Minimum=0
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
}

WorkloadMonitorSpec defines the desired state of WorkloadMonitor

func (*WorkloadMonitorSpec) DeepCopy

func (in *WorkloadMonitorSpec) DeepCopy() *WorkloadMonitorSpec

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

func (*WorkloadMonitorSpec) DeepCopyInto

func (in *WorkloadMonitorSpec) DeepCopyInto(out *WorkloadMonitorSpec)

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

type WorkloadMonitorStatus

type WorkloadMonitorStatus struct {
	// Operational indicates if the workload meets all operational requirements
	// +optional
	Operational *bool `json:"operational,omitempty"`

	// AvailableReplicas is the number of ready replicas
	// +optional
	AvailableReplicas int32 `json:"availableReplicas"`

	// ObservedReplicas is the total number of pods observed
	// +optional
	ObservedReplicas int32 `json:"observedReplicas"`
}

WorkloadMonitorStatus defines the observed state of WorkloadMonitor

func (*WorkloadMonitorStatus) DeepCopy

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

func (*WorkloadMonitorStatus) DeepCopyInto

func (in *WorkloadMonitorStatus) DeepCopyInto(out *WorkloadMonitorStatus)

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

type WorkloadStatus

type WorkloadStatus struct {
	// Kind represents the type of workload (redis, postgres, etc.)
	// +required
	Kind string `json:"kind"`

	// Type represents the specific role of the workload (redis, sentinel, etc.)
	// If not specified, defaults to Kind
	// +optional
	Type string `json:"type,omitempty"`

	// Resources specifies the compute resources allocated to this workload
	// +required
	Resources map[string]resource.Quantity `json:"resources"`

	// Operational indicates if all pods of the workload are ready
	// +optional
	Operational bool `json:"operational"`
}

WorkloadStatus defines the observed state of Workload

func (*WorkloadStatus) DeepCopy

func (in *WorkloadStatus) DeepCopy() *WorkloadStatus

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

func (*WorkloadStatus) DeepCopyInto

func (in *WorkloadStatus) DeepCopyInto(out *WorkloadStatus)

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

Jump to

Keyboard shortcuts

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