Documentation ¶
Overview ¶
+groupName=application.giantswarm.io
Index ¶
- Constants
- Variables
- func NewAppCatalogEntryTypeMeta() metav1.TypeMeta
- func NewAppCatalogTypeMeta() metav1.TypeMeta
- func NewAppTypeMeta() metav1.TypeMeta
- func NewCatalogTypeMeta() metav1.TypeMeta
- func NewChartTypeMeta() metav1.TypeMeta
- type App
- type AppCatalog
- type AppCatalogEntry
- type AppCatalogEntryList
- type AppCatalogEntrySpec
- type AppCatalogEntrySpecCatalog
- type AppCatalogEntrySpecChart
- type AppCatalogEntrySpecRestrictions
- type AppCatalogList
- type AppCatalogSpec
- type AppCatalogSpecConfig
- type AppCatalogSpecConfigConfigMap
- type AppCatalogSpecConfigSecret
- type AppCatalogSpecStorage
- type AppExtraConfig
- type AppList
- type AppSpec
- type AppSpecConfig
- type AppSpecConfigConfigMap
- type AppSpecConfigSecret
- type AppSpecInstall
- type AppSpecKubeConfig
- type AppSpecKubeConfigContext
- type AppSpecKubeConfigSecret
- type AppSpecNamespaceConfig
- type AppSpecRollback
- type AppSpecUninstall
- type AppSpecUpgrade
- type AppSpecUserConfig
- type AppSpecUserConfigConfigMap
- type AppSpecUserConfigSecret
- type AppStatus
- type AppStatusRelease
- type Catalog
- type CatalogList
- type CatalogSpec
- type CatalogSpecConfig
- type CatalogSpecConfigConfigMap
- type CatalogSpecConfigSecret
- type CatalogSpecRepository
- type CatalogSpecStorage
- type Chart
- type ChartList
- type ChartSpec
- type ChartSpecConfig
- type ChartSpecConfigConfigMap
- type ChartSpecConfigSecret
- type ChartSpecInstall
- type ChartSpecNamespaceConfig
- type ChartSpecRollback
- type ChartSpecUninstall
- type ChartSpecUpgrade
- type ChartStatus
- type ChartStatusRelease
Constants ¶
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 )
const (
AppCatalogEntryDocumentationLink = "https://docs.giantswarm.io/ui-api/management-api/crd/appcatalogentries.application.giantswarm.io/"
)
Variables ¶
var (
// AddToScheme is used by the generated client.
AddToScheme = schemeBuilder.AddToScheme
)
var SchemeGroupVersion = schema.GroupVersion{
Group: group,
Version: version,
}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func NewAppCatalogTypeMeta ¶
func NewAppTypeMeta ¶
func NewCatalogTypeMeta ¶
func NewChartTypeMeta ¶
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 (*App) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new App.
func (*App) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*App) DeepCopyObject ¶
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 ¶
func (in *AppCatalogEntrySpecCatalog) DeepCopy() *AppCatalogEntrySpecCatalog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppCatalogEntrySpecCatalog.
func (*AppCatalogEntrySpecCatalog) DeepCopyInto ¶
func (in *AppCatalogEntrySpecCatalog) DeepCopyInto(out *AppCatalogEntrySpecCatalog)
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 ¶
func (in *AppCatalogEntrySpecChart) DeepCopy() *AppCatalogEntrySpecChart
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 ¶
func (in *AppCatalogEntrySpecRestrictions) DeepCopy() *AppCatalogEntrySpecRestrictions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppCatalogEntrySpecRestrictions.
func (*AppCatalogEntrySpecRestrictions) DeepCopyInto ¶
func (in *AppCatalogEntrySpecRestrictions) DeepCopyInto(out *AppCatalogEntrySpecRestrictions)
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 ¶
func (in *AppCatalogSpecConfig) DeepCopy() *AppCatalogSpecConfig
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 ¶
func (in *AppCatalogSpecConfigConfigMap) DeepCopy() *AppCatalogSpecConfigConfigMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppCatalogSpecConfigConfigMap.
func (*AppCatalogSpecConfigConfigMap) DeepCopyInto ¶
func (in *AppCatalogSpecConfigConfigMap) DeepCopyInto(out *AppCatalogSpecConfigConfigMap)
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 ¶
func (in *AppCatalogSpecConfigSecret) DeepCopy() *AppCatalogSpecConfigSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppCatalogSpecConfigSecret.
func (*AppCatalogSpecConfigSecret) DeepCopyInto ¶
func (in *AppCatalogSpecConfigSecret) DeepCopyInto(out *AppCatalogSpecConfigSecret)
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 ¶
func (in *AppCatalogSpecStorage) DeepCopy() *AppCatalogSpecStorage
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppList.
func (*AppList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSpec.
func (*AppSpec) DeepCopyInto ¶
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 ¶
func (in *AppSpecConfigConfigMap) DeepCopy() *AppSpecConfigConfigMap
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 ¶
func (in *AppSpecKubeConfigContext) DeepCopy() *AppSpecKubeConfigContext
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 ¶
func (in *AppSpecKubeConfigSecret) DeepCopy() *AppSpecKubeConfigSecret
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 ¶
func (in *AppSpecNamespaceConfig) DeepCopy() *AppSpecNamespaceConfig
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 ¶
func (in *AppSpecUserConfigConfigMap) DeepCopy() *AppSpecUserConfigConfigMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSpecUserConfigConfigMap.
func (*AppSpecUserConfigConfigMap) DeepCopyInto ¶
func (in *AppSpecUserConfigConfigMap) DeepCopyInto(out *AppSpecUserConfigConfigMap)
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 ¶
func (in *AppSpecUserConfigSecret) DeepCopy() *AppSpecUserConfigSecret
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppStatus.
func (*AppStatus) DeepCopyInto ¶
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 (*Catalog) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Catalog.
func (*Catalog) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Catalog) DeepCopyObject ¶
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 ¶
func (in *CatalogSpecConfigConfigMap) DeepCopy() *CatalogSpecConfigConfigMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSpecConfigConfigMap.
func (*CatalogSpecConfigConfigMap) DeepCopyInto ¶
func (in *CatalogSpecConfigConfigMap) DeepCopyInto(out *CatalogSpecConfigConfigMap)
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 ¶
func (in *CatalogSpecConfigSecret) DeepCopy() *CatalogSpecConfigSecret
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
func (in *CatalogSpecRepository) DeepCopy() *CatalogSpecRepository
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 (*Chart) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chart.
func (*Chart) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Chart) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartList.
func (*ChartList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ChartList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartSpec.
func (*ChartSpec) DeepCopyInto ¶
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 ¶
func (in *ChartSpecConfigConfigMap) DeepCopy() *ChartSpecConfigConfigMap
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 ¶
func (in *ChartSpecConfigSecret) DeepCopy() *ChartSpecConfigSecret
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 ¶
func (in *ChartSpecNamespaceConfig) DeepCopy() *ChartSpecNamespaceConfig
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.