v1alpha1

package
v0.6.2 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 4 Imported by: 145

Documentation

Overview

+groupName=application.giantswarm.io

Index

Constants

View Source
const (

	// NOTE: These should match the kubebuilder annotations set on AppExtraConfig
	ConfigPriorityDistance = 50
	ConfigPriorityCatalog  = 0
	ConfigPriorityDefault  = ConfigPriorityCatalog + ConfigPriorityDistance/2 //nolint
	ConfigPriorityCluster  = ConfigPriorityCatalog + ConfigPriorityDistance
	ConfigPriorityUser     = ConfigPriorityCluster + ConfigPriorityDistance
	ConfigPriorityMaximum  = ConfigPriorityUser + ConfigPriorityDistance //nolint
)
View Source
const (
	AppCatalogEntryDocumentationLink = "https://docs.giantswarm.io/ui-api/management-api/crd/appcatalogentries.application.giantswarm.io/"
)

Variables

View Source
var (

	// AddToScheme is used by the generated client.
	AddToScheme = schemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   group,
	Version: version,
}

SchemeGroupVersion is group version used to register these objects

Functions

func NewAppCatalogEntryTypeMeta

func NewAppCatalogEntryTypeMeta() metav1.TypeMeta

func NewAppCatalogTypeMeta

func NewAppCatalogTypeMeta() metav1.TypeMeta

func NewAppTypeMeta

func NewAppTypeMeta() metav1.TypeMeta

func NewCatalogTypeMeta

func NewCatalogTypeMeta() metav1.TypeMeta

func NewChartTypeMeta

func NewChartTypeMeta() metav1.TypeMeta

Types

type App

type App struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AppSpec `json:"spec"`
	// +kubebuilder:validation:Optional
	// Status Spec part of the App resource.
	// Initially, it would be left as empty until the operator successfully reconciles the helm release.
	Status AppStatus `json:"status,omitempty"`
}

+kubebuilder:printcolumn:name="Desired Version",type=string,priority=1,JSONPath=`.spec.version`,description="Desired version of the app" +kubebuilder:printcolumn:name="Installed Version",type=string,JSONPath=`.status.version`,description="Installed version of the app" +kubebuilder:printcolumn:name="Created At",type=date,JSONPath=`.metadata.creationTimestamp`,description="Time of app creation" +kubebuilder:printcolumn:name="Last Deployed",type=date,JSONPath=`.status.release.lastDeployed`,description="Time since last deployment" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.release.status`,description="Deployment status of the app" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:resource:categories=common;giantswarm +k8s:openapi-gen=true App represents a managed app which a user intended to install. It is reconciled by app-operator.

func NewAppCR

func NewAppCR() *App

NewAppCR returns an App Custom Resource.

func (*App) DeepCopy

func (in *App) DeepCopy() *App

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

func (*App) DeepCopyInto

func (in *App) DeepCopyInto(out *App)

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

func (*App) DeepCopyObject

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

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

type AppCatalog

type AppCatalog struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AppCatalogSpec `json:"spec"`
}

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:categories=common;giantswarm,scope=Cluster +kubebuilder:storageversion +k8s:openapi-gen=true Deprecated, use Catalog CRD instead. AppCatalog represents a catalog of managed apps. It stores general information for potential apps to install. It is reconciled by app-operator.

func NewAppCatalogCR

func NewAppCatalogCR() *AppCatalog

NewAppCatalogCR returns an AppCatalog Custom Resource.

func (*AppCatalog) DeepCopy

func (in *AppCatalog) DeepCopy() *AppCatalog

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

func (*AppCatalog) DeepCopyInto

func (in *AppCatalog) DeepCopyInto(out *AppCatalog)

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

func (*AppCatalog) DeepCopyObject

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

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

type AppCatalogEntry

type AppCatalogEntry struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AppCatalogEntrySpec `json:"spec"`
}

AppCatalogEntry represents an entry of an app in a catalog of managed apps. It stores metadata for specific versions and apps. It is generated by app-operator and consumed by app-admission-controller.

func NewAppCatalogEntryCR

func NewAppCatalogEntryCR() *AppCatalogEntry

NewAppCatalogEntryCR returns an AppCatalogEntry Custom Resource.

func (*AppCatalogEntry) DeepCopy

func (in *AppCatalogEntry) DeepCopy() *AppCatalogEntry

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

func (*AppCatalogEntry) DeepCopyInto

func (in *AppCatalogEntry) DeepCopyInto(out *AppCatalogEntry)

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

func (*AppCatalogEntry) DeepCopyObject

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

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

type AppCatalogEntryList

type AppCatalogEntryList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []AppCatalogEntry `json:"items"`
}

func (*AppCatalogEntryList) DeepCopy

func (in *AppCatalogEntryList) DeepCopy() *AppCatalogEntryList

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

func (*AppCatalogEntryList) DeepCopyInto

func (in *AppCatalogEntryList) DeepCopyInto(out *AppCatalogEntryList)

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

func (*AppCatalogEntryList) DeepCopyObject

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

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

type AppCatalogEntrySpec

type AppCatalogEntrySpec struct {
	// AppName is the name of the app this entry belongs to.
	// e.g. ingress-nginx
	AppName string `json:"appName"`
	// AppVersion is the upstream version of the app for this entry.
	// e.g. v1.8.1
	AppVersion string `json:"appVersion"`
	// Catalog is the name of the app catalog this entry belongs to.
	// e.g. giantswarm
	Catalog AppCatalogEntrySpecCatalog `json:"catalog"`
	// Chart is metadata from the Chart.yaml of the app this entry belongs to.
	Chart AppCatalogEntrySpecChart `json:"chart,omitempty"`
	// DateCreated is when this entry was first created.
	// e.g. 2020-09-02T09:40:39.223638219Z
	DateCreated *metav1.Time `json:"dateCreated"`
	// DateUpdated is when this entry was last updated.
	// e.g. 2020-09-02T09:40:39.223638219Z
	DateUpdated *metav1.Time `json:"dateUpdated"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Restrictions is metadata from Chart.yaml for this app and is used to validate app CRs.
	Restrictions *AppCatalogEntrySpecRestrictions `json:"restrictions,omitempty"`
	// Version is the version of the app chart for this entry.
	// e.g. 3.0.0
	Version string `json:"version"`
}

+k8s:openapi-gen=true

func (*AppCatalogEntrySpec) DeepCopy

func (in *AppCatalogEntrySpec) DeepCopy() *AppCatalogEntrySpec

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

func (*AppCatalogEntrySpec) DeepCopyInto

func (in *AppCatalogEntrySpec) DeepCopyInto(out *AppCatalogEntrySpec)

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

type AppCatalogEntrySpecCatalog

type AppCatalogEntrySpecCatalog struct {
	// Name is the name of the app catalog this entry belongs to.
	// e.g. giantswarm-catalog
	Name string `json:"name"`
	// +kubebuilder:validation:Optional
	// Namespace is the namespace of the catalog.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*AppCatalogEntrySpecCatalog) DeepCopy

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

func (*AppCatalogEntrySpecCatalog) DeepCopyInto

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

type AppCatalogEntrySpecChart

type AppCatalogEntrySpecChart struct {
	// APIVersion is the Helm chart API version.
	APIVersion string `json:"apiVersion"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Description is the Helm chart description.
	Description string `json:"description,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Home is the URL of this projects home page.
	Home string `json:"home,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Icon is a URL to an SVG or PNG image to be used as an icon.
	Icon string `json:"icon,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Keywords is the keyword strings from the helm chart.
	Keywords []string `json:"keywords,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// UpstreamChartVersion is the original version of upstream chart in this app.
	UpstreamChartVersion string `json:"upstreamChartVersion,omitempty"`
}

+k8s:openapi-gen=true

func (*AppCatalogEntrySpecChart) DeepCopy

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

func (*AppCatalogEntrySpecChart) DeepCopyInto

func (in *AppCatalogEntrySpecChart) DeepCopyInto(out *AppCatalogEntrySpecChart)

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

type AppCatalogEntrySpecRestrictions

type AppCatalogEntrySpecRestrictions struct {
	// ClusterSingleton is a flag for whether this app can be installed at most once per cluster. Default is false.
	ClusterSingleton bool `json:"clusterSingleton,omitempty"`
	// FixedNamespace is the namespace which this app must be installed in.
	FixedNamespace string `json:"fixedNamespace,omitempty"`
	// GpuInstances is a flag for whether this app requires GPU instances to run. Default is false.
	GpuInstances bool `json:"gpuInstances,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// CompatibleProviders is a list of provider names which this app is compatible with. Default is empty.
	// Empty list means app is compatible with all providers.
	CompatibleProviders []string `json:"compatibleProviders,omitempty"`
	// NamespaceSingleton is a flag for whether this app can be installed at most once per namespace. Default is false.
	NamespaceSingleton bool `json:"namespaceSingleton,omitempty"`
}

+k8s:openapi-gen=true

func (*AppCatalogEntrySpecRestrictions) DeepCopy

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

func (*AppCatalogEntrySpecRestrictions) DeepCopyInto

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

type AppCatalogList

type AppCatalogList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []AppCatalog `json:"items"`
}

func (*AppCatalogList) DeepCopy

func (in *AppCatalogList) DeepCopy() *AppCatalogList

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

func (*AppCatalogList) DeepCopyInto

func (in *AppCatalogList) DeepCopyInto(out *AppCatalogList)

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

func (*AppCatalogList) DeepCopyObject

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

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

type AppCatalogSpec

type AppCatalogSpec struct {
	// Title is the name of the app catalog for this CR
	// e.g. Catalog of Apps by Giant Swarm
	Title       string `json:"title"`
	Description string `json:"description"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Config is the config to be applied when apps belonging to this
	// catalog are deployed.
	Config AppCatalogSpecConfig `json:"config,omitempty"`
	// LogoURL contains the links for logo image file for this app catalog
	LogoURL string `json:"logoURL"`
	// Storage references a map containing values that should be applied to
	// the appcatalog.
	Storage AppCatalogSpecStorage `json:"storage"`
}

+k8s:openapi-gen=true

func (*AppCatalogSpec) DeepCopy

func (in *AppCatalogSpec) DeepCopy() *AppCatalogSpec

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

func (*AppCatalogSpec) DeepCopyInto

func (in *AppCatalogSpec) DeepCopyInto(out *AppCatalogSpec)

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

type AppCatalogSpecConfig

type AppCatalogSpecConfig struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// ConfigMap references a config map containing catalog values that
	// should be applied to apps in this catalog.
	ConfigMap AppCatalogSpecConfigConfigMap `json:"configMap,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Secret references a secret containing catalog values that should be
	// applied to apps in this catalog.
	Secret AppCatalogSpecConfigSecret `json:"secret,omitempty"`
}

+k8s:openapi-gen=true

func (*AppCatalogSpecConfig) DeepCopy

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

func (*AppCatalogSpecConfig) DeepCopyInto

func (in *AppCatalogSpecConfig) DeepCopyInto(out *AppCatalogSpecConfig)

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

type AppCatalogSpecConfigConfigMap

type AppCatalogSpecConfigConfigMap struct {
	// Name is the name of the config map containing catalog values to
	// apply, e.g. app-catalog-values.
	Name string `json:"name"`
	// Namespace is the namespace of the catalog values config map,
	// e.g. giantswarm.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*AppCatalogSpecConfigConfigMap) DeepCopy

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

func (*AppCatalogSpecConfigConfigMap) DeepCopyInto

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

type AppCatalogSpecConfigSecret

type AppCatalogSpecConfigSecret struct {
	// Name is the name of the secret containing catalog values to apply,
	// e.g. app-catalog-secret.
	Name string `json:"name"`
	// Namespace is the namespace of the secret,
	// e.g. giantswarm.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*AppCatalogSpecConfigSecret) DeepCopy

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

func (*AppCatalogSpecConfigSecret) DeepCopyInto

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

type AppCatalogSpecStorage

type AppCatalogSpecStorage struct {
	// Type indicates which repository type would be used for this AppCatalog.
	// e.g. helm
	Type string `json:"type"`
	// URL is the link to where this AppCatalog's repository is located
	// e.g. https://example.com/app-catalog/
	URL string `json:"URL"`
}

+k8s:openapi-gen=true

func (*AppCatalogSpecStorage) DeepCopy

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

func (*AppCatalogSpecStorage) DeepCopyInto

func (in *AppCatalogSpecStorage) DeepCopyInto(out *AppCatalogSpecStorage)

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

type AppExtraConfig added in v0.5.0

type AppExtraConfig struct {
	// +optional
	// +kubebuilder:validation:Enum=configMap;secret
	// +kubebuilder:default:=configMap
	// Kind of configuration to look up that should be applied to the app when deployed.
	Kind string `json:"kind"`
	// Name of the resource of the given kind to look up.
	Name string `json:"name"`
	// Namespace where the resource with the given name and kind to look up is located.
	Namespace string `json:"namespace"`
	// +optional
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=150
	// +kubebuilder:default:=25
	// Priority is used to indicate at which stage the extra configuration should be merged.
	// See: https://github.com/giantswarm/rfc/tree/main/multi-layer-app-config#enhancing-app-cr
	Priority int `json:"priority"`
}

+k8s:openapi-gen=true

func (*AppExtraConfig) DeepCopy added in v0.5.0

func (in *AppExtraConfig) DeepCopy() *AppExtraConfig

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

func (*AppExtraConfig) DeepCopyInto added in v0.5.0

func (in *AppExtraConfig) DeepCopyInto(out *AppExtraConfig)

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

type AppList

type AppList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []App `json:"items"`
}

func (*AppList) DeepCopy

func (in *AppList) DeepCopy() *AppList

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

func (*AppList) DeepCopyInto

func (in *AppList) DeepCopyInto(out *AppList)

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

func (*AppList) DeepCopyObject

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

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

type AppSpec

type AppSpec struct {
	// Catalog is the name of the app catalog this app belongs to.
	// e.g. giantswarm
	Catalog string `json:"catalog"`
	// +kubebuilder:validation:Optional
	// +nullable
	// CatalogNamespace is the namespace of the Catalog CR this app belongs to.
	// e.g. giantswarm
	CatalogNamespace string `json:"catalogNamespace,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Config is the config to be applied when the app is deployed.
	Config AppSpecConfig `json:"config,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// +listType:=map
	// +listMapKey:=kind
	// +listMapKey:=name
	// +listMapKey:=namespace
	// ExtraConfigs is a list of configurations to merge together based on the priority and order in the list.
	// See: https://github.com/giantswarm/rfc/tree/main/multi-layer-app-config#enhancing-app-cr
	ExtraConfigs []AppExtraConfig `json:"extraConfigs,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Install is the config used when installing the app.
	Install AppSpecInstall `json:"install,omitempty"`
	// KubeConfig is the kubeconfig to connect to the cluster when deploying
	// the app.
	KubeConfig AppSpecKubeConfig `json:"kubeConfig"`
	// Name is the name of the app to be deployed.
	// e.g. kubernetes-prometheus
	Name string `json:"name"`
	// Namespace is the target namespace where the app should be deployed
	// e.g. monitoring, it cannot be changed.
	Namespace string `json:"namespace"`
	// +kubebuilder:validation:Optional
	// +nullable
	// NamespaceConfig is the namespace config to be applied to the target namespace when the app is deployed.
	NamespaceConfig AppSpecNamespaceConfig `json:"namespaceConfig,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Rollback is the config used when rolling back the app.
	Rollback AppSpecRollback `json:"rollback,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Upgrade is the config used when upgrading the app.
	Upgrade AppSpecUpgrade `json:"upgrade,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Uninstall is the config used when uninstalling the app.
	Uninstall AppSpecUninstall `json:"uninstall,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// UserConfig is the user config to be applied when the app is deployed.
	UserConfig AppSpecUserConfig `json:"userConfig,omitempty"`
	// Version is the version of the app that should be deployed.
	// e.g. 1.0.0
	Version string `json:"version"`
}

+k8s:openapi-gen=true

func (*AppSpec) DeepCopy

func (in *AppSpec) DeepCopy() *AppSpec

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

func (*AppSpec) DeepCopyInto

func (in *AppSpec) DeepCopyInto(out *AppSpec)

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

type AppSpecConfig

type AppSpecConfig struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// ConfigMap references a config map containing values that should be
	// applied to the app.
	ConfigMap AppSpecConfigConfigMap `json:"configMap,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Secret references a secret containing secret values that should be
	// applied to the app.
	Secret AppSpecConfigSecret `json:"secret,omitempty"`
}

+k8s:openapi-gen=true

func (*AppSpecConfig) DeepCopy

func (in *AppSpecConfig) DeepCopy() *AppSpecConfig

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

func (*AppSpecConfig) DeepCopyInto

func (in *AppSpecConfig) DeepCopyInto(out *AppSpecConfig)

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

type AppSpecConfigConfigMap

type AppSpecConfigConfigMap struct {
	// Name is the name of the config map containing app values to apply,
	// e.g. prometheus-values.
	Name string `json:"name" `
	// Namespace is the namespace of the values config map,
	// e.g. monitoring.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*AppSpecConfigConfigMap) DeepCopy

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

func (*AppSpecConfigConfigMap) DeepCopyInto

func (in *AppSpecConfigConfigMap) DeepCopyInto(out *AppSpecConfigConfigMap)

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

type AppSpecConfigSecret

type AppSpecConfigSecret struct {
	// Name is the name of the secret containing app values to apply,
	// e.g. prometheus-secret.
	Name string `json:"name"`
	// Namespace is the namespace of the secret,
	// e.g. kube-system.
	Namespace string `json:"namespace"`
}

func (*AppSpecConfigSecret) DeepCopy

func (in *AppSpecConfigSecret) DeepCopy() *AppSpecConfigSecret

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

func (*AppSpecConfigSecret) DeepCopyInto

func (in *AppSpecConfigSecret) DeepCopyInto(out *AppSpecConfigSecret)

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

type AppSpecInstall

type AppSpecInstall struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// SkipCRDs when true decides that CRDs which are supplied with the chart are not installed. Default: false.
	SkipCRDs bool `json:"skipCRDs,omitempty"`
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
	// +optional
	// Timeout for the Helm install. When not set the default timeout of 5 minutes is being enforced.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

+k8s:openapi-gen=true

func (*AppSpecInstall) DeepCopy

func (in *AppSpecInstall) DeepCopy() *AppSpecInstall

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

func (*AppSpecInstall) DeepCopyInto

func (in *AppSpecInstall) DeepCopyInto(out *AppSpecInstall)

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

type AppSpecKubeConfig

type AppSpecKubeConfig struct {
	// InCluster is a flag for whether to use InCluster credentials. When true the
	// context name and secret should not be set.
	InCluster bool `json:"inCluster"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Deprecated: this field is no longer used.
	Context AppSpecKubeConfigContext `json:"context,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Secret references a secret containing the kubconfig.
	Secret AppSpecKubeConfigSecret `json:"secret,omitempty"`
}

+k8s:openapi-gen=true

func (*AppSpecKubeConfig) DeepCopy

func (in *AppSpecKubeConfig) DeepCopy() *AppSpecKubeConfig

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

func (*AppSpecKubeConfig) DeepCopyInto

func (in *AppSpecKubeConfig) DeepCopyInto(out *AppSpecKubeConfig)

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

type AppSpecKubeConfigContext

type AppSpecKubeConfigContext struct {
	// Name is the name of the kubeconfig context
	// e.g. giantswarm-12345.
	Name string `json:"name"`
}

+k8s:openapi-gen=true

func (*AppSpecKubeConfigContext) DeepCopy

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

func (*AppSpecKubeConfigContext) DeepCopyInto

func (in *AppSpecKubeConfigContext) DeepCopyInto(out *AppSpecKubeConfigContext)

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

type AppSpecKubeConfigSecret

type AppSpecKubeConfigSecret struct {
	// Name is the name of the secret containing the kubeconfig,
	// e.g. app-operator-kubeconfig.
	Name string `json:"name"`
	// Namespace is the namespace of the secret containing the kubeconfig,
	// e.g. giantswarm.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*AppSpecKubeConfigSecret) DeepCopy

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

func (*AppSpecKubeConfigSecret) DeepCopyInto

func (in *AppSpecKubeConfigSecret) DeepCopyInto(out *AppSpecKubeConfigSecret)

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

type AppSpecNamespaceConfig

type AppSpecNamespaceConfig struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// Annotations is a string map of annotations to apply to the target namespace.
	Annotations map[string]string `json:"annotations,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Labels is a string map of labels to apply to the target namespace.
	Labels map[string]string `json:"labels,omitempty"`
}

+k8s:openapi-gen=true

func (*AppSpecNamespaceConfig) DeepCopy

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

func (*AppSpecNamespaceConfig) DeepCopyInto

func (in *AppSpecNamespaceConfig) DeepCopyInto(out *AppSpecNamespaceConfig)

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

type AppSpecRollback added in v0.6.0

type AppSpecRollback struct {
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
	// +optional
	// Timeout for the Helm rollback. When not set the default timeout of 5 minutes is being enforced.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

+k8s:openapi-gen=true

func (*AppSpecRollback) DeepCopy added in v0.6.0

func (in *AppSpecRollback) DeepCopy() *AppSpecRollback

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

func (*AppSpecRollback) DeepCopyInto added in v0.6.0

func (in *AppSpecRollback) DeepCopyInto(out *AppSpecRollback)

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

type AppSpecUninstall added in v0.6.0

type AppSpecUninstall struct {
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
	// +optional
	// Timeout for the Helm uninstall. When not set the default timeout of 5 minutes is being enforced.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

+k8s:openapi-gen=true

func (*AppSpecUninstall) DeepCopy added in v0.6.0

func (in *AppSpecUninstall) DeepCopy() *AppSpecUninstall

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

func (*AppSpecUninstall) DeepCopyInto added in v0.6.0

func (in *AppSpecUninstall) DeepCopyInto(out *AppSpecUninstall)

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

type AppSpecUpgrade added in v0.6.0

type AppSpecUpgrade struct {
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
	// +optional
	// Timeout for the Helm upgrade. When not set the default timeout of 5 minutes is being enforced.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

+k8s:openapi-gen=true

func (*AppSpecUpgrade) DeepCopy added in v0.6.0

func (in *AppSpecUpgrade) DeepCopy() *AppSpecUpgrade

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

func (*AppSpecUpgrade) DeepCopyInto added in v0.6.0

func (in *AppSpecUpgrade) DeepCopyInto(out *AppSpecUpgrade)

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

type AppSpecUserConfig

type AppSpecUserConfig struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// ConfigMap references a config map containing user values that should be
	// applied to the app.
	ConfigMap AppSpecUserConfigConfigMap `json:"configMap,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Secret references a secret containing user secret values that should be
	// applied to the app.
	Secret AppSpecUserConfigSecret `json:"secret,omitempty"`
}

+k8s:openapi-gen=true

func (*AppSpecUserConfig) DeepCopy

func (in *AppSpecUserConfig) DeepCopy() *AppSpecUserConfig

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

func (*AppSpecUserConfig) DeepCopyInto

func (in *AppSpecUserConfig) DeepCopyInto(out *AppSpecUserConfig)

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

type AppSpecUserConfigConfigMap

type AppSpecUserConfigConfigMap struct {
	// Name is the name of the config map containing user values to apply,
	// e.g. prometheus-user-values.
	Name string `json:"name"`
	// Namespace is the namespace of the user values config map on the management cluster,
	// e.g. 123ab.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*AppSpecUserConfigConfigMap) DeepCopy

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

func (*AppSpecUserConfigConfigMap) DeepCopyInto

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

type AppSpecUserConfigSecret

type AppSpecUserConfigSecret struct {
	// Name is the name of the secret containing user values to apply,
	// e.g. prometheus-user-secret.
	Name string `json:"name"`
	// Namespace is the namespace of the secret,
	// e.g. kube-system.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*AppSpecUserConfigSecret) DeepCopy

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

func (*AppSpecUserConfigSecret) DeepCopyInto

func (in *AppSpecUserConfigSecret) DeepCopyInto(out *AppSpecUserConfigSecret)

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

type AppStatus

type AppStatus struct {
	// AppVersion is the value of the AppVersion field in the Chart.yaml of the
	// deployed app. This is an optional field with the version of the
	// component being deployed.
	// e.g. 0.21.0.
	// https://helm.sh/docs/topics/charts/#the-chartyaml-file
	AppVersion string `json:"appVersion"`
	// Release is the status of the Helm release for the deployed app.
	Release AppStatusRelease `json:"release"`
	// Version is the value of the Version field in the Chart.yaml of the
	// deployed app.
	// e.g. 1.0.0.
	Version string `json:"version"`
}

+k8s:openapi-gen=true

func (*AppStatus) DeepCopy

func (in *AppStatus) DeepCopy() *AppStatus

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

func (*AppStatus) DeepCopyInto

func (in *AppStatus) DeepCopyInto(out *AppStatus)

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

type AppStatusRelease

type AppStatusRelease struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// LastDeployed is the time when the app was last deployed.
	LastDeployed metav1.Time `json:"lastDeployed,omitempty"`
	// Reason is the description of the last status of helm release when the app is
	// not installed successfully, e.g. deploy resource already exists.
	Reason string `json:"reason,omitempty"`
	// Status is the status of the deployed app,
	// e.g. DEPLOYED.
	Status string `json:"status"`
}

+k8s:openapi-gen=true

func (*AppStatusRelease) DeepCopy

func (in *AppStatusRelease) DeepCopy() *AppStatusRelease

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

func (*AppStatusRelease) DeepCopyInto

func (in *AppStatusRelease) DeepCopyInto(out *AppStatusRelease)

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

type Catalog

type Catalog struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              CatalogSpec `json:"spec"`
}

+kubebuilder:printcolumn:name="Catalog URL",type=string,JSONPath=`.spec.storage.URL`,description="URL of the catalog" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Time since created" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:categories=common;giantswarm +kubebuilder:storageversion +k8s:openapi-gen=true Catalog represents a catalog of managed apps. It stores general information for potential apps to install. It is reconciled by app-operator.

func NewCatalogCR

func NewCatalogCR() *Catalog

NewCatalogCR returns an Catalog Custom Resource.

func (*Catalog) DeepCopy

func (in *Catalog) DeepCopy() *Catalog

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

func (*Catalog) DeepCopyInto

func (in *Catalog) DeepCopyInto(out *Catalog)

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

func (*Catalog) DeepCopyObject

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

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

type CatalogList

type CatalogList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Catalog `json:"items"`
}

func (*CatalogList) DeepCopy

func (in *CatalogList) DeepCopy() *CatalogList

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

func (*CatalogList) DeepCopyInto

func (in *CatalogList) DeepCopyInto(out *CatalogList)

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

func (*CatalogList) DeepCopyObject

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

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

type CatalogSpec

type CatalogSpec struct {
	// Title is the name of the catalog for this CR
	// e.g. Catalog of Apps by Giant Swarm
	Title       string `json:"title"`
	Description string `json:"description"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Config is the config to be applied when apps belonging to this
	// catalog are deployed.
	Config *CatalogSpecConfig `json:"config,omitempty"`
	// LogoURL contains the links for logo image file for this catalog
	LogoURL string `json:"logoURL"`
	// Storage references an object defining catalog repository.
	// This field is deprecated and replaced by Repositories.
	Storage CatalogSpecStorage `json:"storage"`
	// +kubebuilder:validation:MinItems=1
	// Repositories is an array of objects defining catalog repositories.
	Repositories []CatalogSpecRepository `json:"repositories"`
}

+k8s:openapi-gen=true

func (*CatalogSpec) DeepCopy

func (in *CatalogSpec) DeepCopy() *CatalogSpec

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

func (*CatalogSpec) DeepCopyInto

func (in *CatalogSpec) DeepCopyInto(out *CatalogSpec)

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

type CatalogSpecConfig

type CatalogSpecConfig struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// ConfigMap references a config map containing catalog values that
	// should be applied to apps in this catalog.
	ConfigMap *CatalogSpecConfigConfigMap `json:"configMap,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Secret references a secret containing catalog values that should be
	// applied to apps in this catalog.
	Secret *CatalogSpecConfigSecret `json:"secret,omitempty"`
}

+k8s:openapi-gen=true

func (*CatalogSpecConfig) DeepCopy

func (in *CatalogSpecConfig) DeepCopy() *CatalogSpecConfig

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

func (*CatalogSpecConfig) DeepCopyInto

func (in *CatalogSpecConfig) DeepCopyInto(out *CatalogSpecConfig)

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

type CatalogSpecConfigConfigMap

type CatalogSpecConfigConfigMap struct {
	// Name is the name of the config map containing catalog values to
	// apply, e.g. app-catalog-values.
	Name string `json:"name"`
	// Namespace is the namespace of the catalog values config map,
	// e.g. giantswarm.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*CatalogSpecConfigConfigMap) DeepCopy

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

func (*CatalogSpecConfigConfigMap) DeepCopyInto

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

type CatalogSpecConfigSecret

type CatalogSpecConfigSecret struct {
	// Name is the name of the secret containing catalog values to apply,
	// e.g. app-catalog-secret.
	Name string `json:"name"`
	// Namespace is the namespace of the secret,
	// e.g. giantswarm.
	Namespace string `json:"namespace"`
}

+k8s:openapi-gen=true

func (*CatalogSpecConfigSecret) DeepCopy

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

func (*CatalogSpecConfigSecret) DeepCopyInto

func (in *CatalogSpecConfigSecret) DeepCopyInto(out *CatalogSpecConfigSecret)

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

type CatalogSpecRepository added in v0.4.0

type CatalogSpecRepository struct {
	// Type indicates which repository type would be used for this Catalog.
	// e.g. helm
	Type string `json:"type"`
	// URL is the link to where this Catalog's repository is located
	// e.g. https://example.com/app-catalog/
	URL string `json:"URL"`
}

+k8s:openapi-gen=true

func (*CatalogSpecRepository) DeepCopy added in v0.4.0

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

func (*CatalogSpecRepository) DeepCopyInto added in v0.4.0

func (in *CatalogSpecRepository) DeepCopyInto(out *CatalogSpecRepository)

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

type CatalogSpecStorage

type CatalogSpecStorage struct {
	// Type indicates which repository type would be used for this Catalog.
	// e.g. helm
	Type string `json:"type"`
	// URL is the link to where this Catalog's repository is located
	// e.g. https://example.com/app-catalog/
	URL string `json:"URL"`
}

+k8s:openapi-gen=true

func (*CatalogSpecStorage) DeepCopy

func (in *CatalogSpecStorage) DeepCopy() *CatalogSpecStorage

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

func (*CatalogSpecStorage) DeepCopyInto

func (in *CatalogSpecStorage) DeepCopyInto(out *CatalogSpecStorage)

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

type Chart

type Chart struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              ChartSpec `json:"spec"`
	// +kubebuilder:validation:Optional
	Status ChartStatus `json:"status"`
}

+kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.spec.version`,description="Version of the app" +kubebuilder:printcolumn:name="Last Deployed",type=date,JSONPath=`.status.release.lastDeployed`,description="Time since last deployment" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.release.status`,description="Deployment status of the app" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:resource:categories=common;giantswarm +k8s:openapi-gen=true Chart represents a Helm chart to be deployed as a Helm release. It is reconciled by chart-operator.

func NewChartCR

func NewChartCR() *Chart

NewChartCR returns an Chart Custom Resource.

func (*Chart) DeepCopy

func (in *Chart) DeepCopy() *Chart

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

func (*Chart) DeepCopyInto

func (in *Chart) DeepCopyInto(out *Chart)

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

func (*Chart) DeepCopyObject

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

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

type ChartList

type ChartList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Chart `json:"items"`
}

func (*ChartList) DeepCopy

func (in *ChartList) DeepCopy() *ChartList

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

func (*ChartList) DeepCopyInto

func (in *ChartList) DeepCopyInto(out *ChartList)

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

func (*ChartList) DeepCopyObject

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

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

type ChartSpec

type ChartSpec struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// Config is the config to be applied when the chart is deployed.
	Config ChartSpecConfig `json:"config,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Install is the config used to deploy the app and is passed to Helm.
	Install ChartSpecInstall `json:"install,omitempty"`
	// Name is the name of the Helm chart to be deployed.
	// e.g. kubernetes-prometheus
	Name string `json:"name"`
	// Namespace is the namespace where the chart should be deployed.
	// e.g. monitoring
	Namespace string `json:"namespace"`
	// +kubebuilder:validation:Optional
	// +nullable
	// NamespaceConfig is the namespace config to be applied to the target namespace when the chart is deployed.
	NamespaceConfig ChartSpecNamespaceConfig `json:"namespaceConfig,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Rollback is the config used to rollback the app and is passed to Helm.
	Rollback ChartSpecRollback `json:"rollback,omitempty"`
	// TarballURL is the URL for the Helm chart tarball to be deployed.
	// e.g. https://example.com/path/to/prom-1-0-0.tgz
	TarballURL string `json:"tarballURL"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Uninstall is the config used to uninstall the app and is passed to Helm.
	Uninstall ChartSpecUninstall `json:"uninstall,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Upgrade is the config used to upgrade the app and is passed to Helm.
	Upgrade ChartSpecUpgrade `json:"upgrade,omitempty"`
	// Version is the version of the chart that should be deployed.
	// e.g. 1.0.0
	Version string `json:"version"`
}

+k8s:openapi-gen=true

func (*ChartSpec) DeepCopy

func (in *ChartSpec) DeepCopy() *ChartSpec

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

func (*ChartSpec) DeepCopyInto

func (in *ChartSpec) DeepCopyInto(out *ChartSpec)

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

type ChartSpecConfig

type ChartSpecConfig struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// ConfigMap references a config map containing values that should be
	// applied to the chart.
	ConfigMap ChartSpecConfigConfigMap `json:"configMap,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Secret references a secret containing secret values that should be
	// applied to the chart.
	Secret ChartSpecConfigSecret `json:"secret,omitempty"`
}

+k8s:openapi-gen=true

func (*ChartSpecConfig) DeepCopy

func (in *ChartSpecConfig) DeepCopy() *ChartSpecConfig

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

func (*ChartSpecConfig) DeepCopyInto

func (in *ChartSpecConfig) DeepCopyInto(out *ChartSpecConfig)

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

type ChartSpecConfigConfigMap

type ChartSpecConfigConfigMap struct {
	// Name is the name of the config map containing chart values to apply,
	// e.g. prometheus-chart-values.
	Name string `json:"name"`
	// Namespace is the namespace of the values config map,
	// e.g. monitoring.
	Namespace string `json:"namespace"`
	// ResourceVersion is the Kubernetes resource version of the configmap.
	// Used to detect if the configmap has changed, e.g. 12345.
	ResourceVersion string `json:"resourceVersion"`
}

+k8s:openapi-gen=true

func (*ChartSpecConfigConfigMap) DeepCopy

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

func (*ChartSpecConfigConfigMap) DeepCopyInto

func (in *ChartSpecConfigConfigMap) DeepCopyInto(out *ChartSpecConfigConfigMap)

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

type ChartSpecConfigSecret

type ChartSpecConfigSecret struct {
	// Name is the name of the secret containing chart values to apply,
	// e.g. prometheus-chart-secret.
	Name string `json:"name"`
	// Namespace is the namespace of the secret,
	// e.g. kube-system.
	Namespace string `json:"namespace"`
	// ResourceVersion is the Kubernetes resource version of the secret.
	// Used to detect if the secret has changed, e.g. 12345.
	ResourceVersion string `json:"resourceVersion"`
}

+k8s:openapi-gen=true

func (*ChartSpecConfigSecret) DeepCopy

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

func (*ChartSpecConfigSecret) DeepCopyInto

func (in *ChartSpecConfigSecret) DeepCopyInto(out *ChartSpecConfigSecret)

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

type ChartSpecInstall

type ChartSpecInstall struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// SkipCRDs when true decides that CRDs which are supplied with the chart are not installed. Default: false.
	SkipCRDs bool `json:"skipCRDs,omitempty"`
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
	// +optional
	// Timeout for the Helm install. When not set the default timeout of 5 minutes is being enforced.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

+k8s:openapi-gen=true

func (*ChartSpecInstall) DeepCopy

func (in *ChartSpecInstall) DeepCopy() *ChartSpecInstall

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

func (*ChartSpecInstall) DeepCopyInto

func (in *ChartSpecInstall) DeepCopyInto(out *ChartSpecInstall)

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

type ChartSpecNamespaceConfig

type ChartSpecNamespaceConfig struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// Annotations is a string map of annotations to apply to the target namespace.
	Annotations map[string]string `json:"annotations,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Labels is a string map of labels to apply to the target namespace.
	Labels map[string]string `json:"labels,omitempty"`
}

+k8s:openapi-gen=true

func (*ChartSpecNamespaceConfig) DeepCopy

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

func (*ChartSpecNamespaceConfig) DeepCopyInto

func (in *ChartSpecNamespaceConfig) DeepCopyInto(out *ChartSpecNamespaceConfig)

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

type ChartSpecRollback added in v0.6.0

type ChartSpecRollback struct {
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
	// +optional
	// Timeout for the Helm rollback. When not set the default timeout of 5 minutes is being enforced.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

+k8s:openapi-gen=true

func (*ChartSpecRollback) DeepCopy added in v0.6.0

func (in *ChartSpecRollback) DeepCopy() *ChartSpecRollback

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

func (*ChartSpecRollback) DeepCopyInto added in v0.6.0

func (in *ChartSpecRollback) DeepCopyInto(out *ChartSpecRollback)

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

type ChartSpecUninstall added in v0.6.0

type ChartSpecUninstall struct {
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
	// +optional
	// Timeout for the Helm uninstall. When not set the default timeout of 5 minutes is being enforced.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

+k8s:openapi-gen=true

func (*ChartSpecUninstall) DeepCopy added in v0.6.0

func (in *ChartSpecUninstall) DeepCopy() *ChartSpecUninstall

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

func (*ChartSpecUninstall) DeepCopyInto added in v0.6.0

func (in *ChartSpecUninstall) DeepCopyInto(out *ChartSpecUninstall)

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

type ChartSpecUpgrade added in v0.6.0

type ChartSpecUpgrade struct {
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"
	// +optional
	// Timeout for the Helm upgrade. When not set the default timeout of 5 minutes is being enforced.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

+k8s:openapi-gen=true

func (*ChartSpecUpgrade) DeepCopy added in v0.6.0

func (in *ChartSpecUpgrade) DeepCopy() *ChartSpecUpgrade

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

func (*ChartSpecUpgrade) DeepCopyInto added in v0.6.0

func (in *ChartSpecUpgrade) DeepCopyInto(out *ChartSpecUpgrade)

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

type ChartStatus

type ChartStatus struct {
	// AppVersion is the value of the AppVersion field in the Chart.yaml of the
	// deployed chart. This is an optional field with the version of the
	// component being deployed.
	// e.g. 0.21.0.
	// https://helm.sh/docs/topics/charts/#the-chartyaml-file
	AppVersion string `json:"appVersion"`
	// Reason is the description of the last status of helm release when the chart is
	// not installed successfully, e.g. deploy resource already exists.
	Reason string `json:"reason,omitempty"`
	// Release is the status of the Helm release for the deployed chart.
	Release ChartStatusRelease `json:"release"`
	// Version is the value of the Version field in the Chart.yaml of the
	// deployed chart.
	// e.g. 1.0.0.
	Version string `json:"version"`
}

+k8s:openapi-gen=true

func (*ChartStatus) DeepCopy

func (in *ChartStatus) DeepCopy() *ChartStatus

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

func (*ChartStatus) DeepCopyInto

func (in *ChartStatus) DeepCopyInto(out *ChartStatus)

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

type ChartStatusRelease

type ChartStatusRelease struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// LastDeployed is the time when the deployed chart was last deployed.
	LastDeployed *metav1.Time `json:"lastDeployed,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// Revision is the revision number for this deployed chart.
	Revision *int `json:"revision,omitempty"`
	// Status is the status of the deployed chart,
	// e.g. DEPLOYED.
	Status string `json:"status"`
}

+k8s:openapi-gen=true

func (*ChartStatusRelease) DeepCopy

func (in *ChartStatusRelease) DeepCopy() *ChartStatusRelease

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

func (*ChartStatusRelease) DeepCopyInto

func (in *ChartStatusRelease) DeepCopyInto(out *ChartStatusRelease)

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