From 9a8ca4ba298301b2968d2fd260c04c4d44441f1c Mon Sep 17 00:00:00 2001 From: Tamal Saha Date: Wed, 5 Jun 2024 17:59:08 -0700 Subject: [PATCH] Replace capi-cluster-presets with cluster-presets Signed-off-by: Tamal Saha --- .../v1alpha1/capi_cluster_presets_types.go | 73 - .../v1alpha1/cluster_presets_types.go | 95 + .../v1alpha1/opscenter_features_types.go | 10 + apis/installer/v1alpha1/register.go | 4 +- apis/installer/v1alpha1/types_test.go | 2 +- .../v1alpha1/zz_generated.deepcopy.go | 238 ++- charts/capi-cluster-presets/README.md | 66 - ...charts.x-helm.dev_clusterchartpresets.yaml | 43 - .../capi-cluster-presets/templates/NOTES.txt | 3 - .../templates/preset.yaml | 16 - .../values.openapiv3_schema.yaml | 20 - charts/capi-cluster-presets/values.yaml | 8 - .../.helmignore | 0 .../Chart.yaml | 8 +- charts/cluster-presets/README.md | 91 + .../doc.yaml | 14 +- charts/cluster-presets/templates/NOTES.txt | 3 + .../templates/_helpers.tpl | 41 +- .../templates/cluster-role-binding.yaml | 14 + .../templates/cluster-role.yaml | 13 + .../cluster-presets/templates/deployment.yaml | 65 + .../templates/serviceaccount.yaml | 13 + .../values.openapiv3_schema.yaml | 1581 +++++++++++++++++ charts/cluster-presets/values.yaml | 90 + charts/opscenter-features/README.md | 2 +- .../aws-ebs-csi-driver.yaml | 0 .../capa-vpc-peering-operator.yaml | 0 .../cluster-autoscaler.yaml | 0 .../{dbaas-capa => capi-capa}/featureset.yaml | 0 .../{dbaas-capg => capi-capg}/featureset.yaml | 4 +- .../{dbaas-capz => capi-capz}/featureset.yaml | 4 +- .../cluster-presets.yaml} | 22 +- .../dbaas-capg/capi-cluster-presets.yaml | 34 - .../dbaas-capz/capi-cluster-presets.yaml | 34 - charts/opscenter-features/values.yaml | 4 +- 35 files changed, 2187 insertions(+), 428 deletions(-) delete mode 100644 apis/installer/v1alpha1/capi_cluster_presets_types.go create mode 100644 apis/installer/v1alpha1/cluster_presets_types.go delete mode 100644 charts/capi-cluster-presets/README.md delete mode 100644 charts/capi-cluster-presets/crds/charts.x-helm.dev_clusterchartpresets.yaml delete mode 100644 charts/capi-cluster-presets/templates/NOTES.txt delete mode 100644 charts/capi-cluster-presets/templates/preset.yaml delete mode 100644 charts/capi-cluster-presets/values.openapiv3_schema.yaml delete mode 100644 charts/capi-cluster-presets/values.yaml rename charts/{capi-cluster-presets => cluster-presets}/.helmignore (100%) rename charts/{capi-cluster-presets => cluster-presets}/Chart.yaml (71%) create mode 100644 charts/cluster-presets/README.md rename charts/{capi-cluster-presets => cluster-presets}/doc.yaml (51%) create mode 100644 charts/cluster-presets/templates/NOTES.txt rename charts/{capi-cluster-presets => cluster-presets}/templates/_helpers.tpl (53%) create mode 100644 charts/cluster-presets/templates/cluster-role-binding.yaml create mode 100644 charts/cluster-presets/templates/cluster-role.yaml create mode 100644 charts/cluster-presets/templates/deployment.yaml create mode 100644 charts/cluster-presets/templates/serviceaccount.yaml create mode 100644 charts/cluster-presets/values.openapiv3_schema.yaml create mode 100644 charts/cluster-presets/values.yaml rename charts/opscenter-features/templates/featuresets/{dbaas-capa => capi-capa}/aws-ebs-csi-driver.yaml (100%) rename charts/opscenter-features/templates/featuresets/{dbaas-capa => capi-capa}/capa-vpc-peering-operator.yaml (100%) rename charts/opscenter-features/templates/featuresets/{dbaas-capa => capi-capa}/cluster-autoscaler.yaml (100%) rename charts/opscenter-features/templates/featuresets/{dbaas-capa => capi-capa}/featureset.yaml (100%) rename charts/opscenter-features/templates/featuresets/{dbaas-capg => capi-capg}/featureset.yaml (87%) rename charts/opscenter-features/templates/featuresets/{dbaas-capz => capi-capz}/featureset.yaml (87%) rename charts/opscenter-features/templates/featuresets/{dbaas-capa/capi-cluster-presets.yaml => capi-core/cluster-presets.yaml} (60%) delete mode 100644 charts/opscenter-features/templates/featuresets/dbaas-capg/capi-cluster-presets.yaml delete mode 100644 charts/opscenter-features/templates/featuresets/dbaas-capz/capi-cluster-presets.yaml diff --git a/apis/installer/v1alpha1/capi_cluster_presets_types.go b/apis/installer/v1alpha1/capi_cluster_presets_types.go deleted file mode 100644 index 6f2c9cc74..000000000 --- a/apis/installer/v1alpha1/capi_cluster_presets_types.go +++ /dev/null @@ -1,73 +0,0 @@ -/* -Copyright AppsCode Inc. and Contributors - -Licensed under the AppsCode Community License 1.0.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -const ( - ResourceKindCapiClusterPresets = "CapiClusterPresets" - ResourceCapiClusterPresets = "capiclusterpresets" - ResourceCapiClusterPresetss = "capiclusterpresetss" -) - -// CapiClusterPresets defines the schama for CapiClusterPresets Installer. - -// +genclient -// +genclient:skipVerbs=updateStatus -// +k8s:openapi-gen=true -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// +kubebuilder:object:root=true -// +kubebuilder:resource:path=capiclusterpresetss,singular=capiclusterpresets,categories={kubeops,appscode} -type CapiClusterPresets struct { - metav1.TypeMeta `json:",inline,omitempty"` - metav1.ObjectMeta `json:"metadata,omitempty"` - Spec CapiClusterPresetsSpec `json:"spec,omitempty"` -} - -type CapiClusterPresetsSpec struct { - CAPI CapiPresetsSpec `json:"capi"` -} - -type CapiPresetsSpec struct { - // +optional - Provider CAPIProvider `json:"provider"` - Namespace string `json:"namespace"` - ClusterName string `json:"clusterName"` -} - -// +kubebuilder:validation:Enum=capa;capg;capz -type CAPIProvider string - -const ( - CAPIProviderDisabled CAPIProvider = "" - CAPIProviderCAPA CAPIProvider = "capa" - CAPIProviderCAPG CAPIProvider = "capg" - CAPIProviderCAPZ CAPIProvider = "capz" -) - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// CapiClusterPresetsList is a list of CapiClusterPresetss -type CapiClusterPresetsList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - // Items is a list of CapiClusterPresets CRD objects - Items []CapiClusterPresets `json:"items,omitempty"` -} diff --git a/apis/installer/v1alpha1/cluster_presets_types.go b/apis/installer/v1alpha1/cluster_presets_types.go new file mode 100644 index 000000000..7787716ec --- /dev/null +++ b/apis/installer/v1alpha1/cluster_presets_types.go @@ -0,0 +1,95 @@ +/* +Copyright AppsCode Inc. and Contributors + +Licensed under the AppsCode Community License 1.0.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1alpha1 + +import ( + core "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +const ( + ResourceKindClusterPresets = "ClusterPresets" + ResourceClusterPresets = "clusterpresets" + ResourceClusterPresetss = "clusterpresetss" +) + +// ClusterPresets defines the schama for ClusterPresets operator installer. + +// +genclient +// +genclient:skipVerbs=updateStatus +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// +kubebuilder:object:root=true +// +kubebuilder:resource:path=clusterpresetss,singular=clusterpresets,categories={kubeops,appscode} +type ClusterPresets struct { + metav1.TypeMeta `json:",inline,omitempty"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ClusterPresetsSpec `json:"spec,omitempty"` +} + +// ClusterPresetsSpec is the schema for Identity Server values file +type ClusterPresetsSpec struct { + //+optional + NameOverride string `json:"nameOverride"` + //+optional + FullnameOverride string `json:"fullnameOverride"` + //+optional + RegistryFQDN string `json:"registryFQDN"` + ReplicaCount int32 `json:"replicaCount"` + Image ImageReference `json:"image"` + //+optional + ImagePullSecrets []string `json:"imagePullSecrets"` + //+optional + PodAnnotations map[string]string `json:"podAnnotations"` + //+optional + PodLabels map[string]string `json:"podLabels"` + // PodSecurityContext holds pod-level security attributes and common container settings. + // Optional: Defaults to empty. See type description for default values of each field. + // +optional + PodSecurityContext *core.PodSecurityContext `json:"podSecurityContext"` + //+optional + SecurityContext *core.SecurityContext `json:"securityContext"` + //+optional + Resources core.ResourceRequirements `json:"resources"` + //+optional + NodeSelector map[string]string `json:"nodeSelector"` + // If specified, the pod's tolerations. + // +optional + Tolerations []core.Toleration `json:"tolerations"` + // If specified, the pod's scheduling constraints + // +optional + Affinity *core.Affinity `json:"affinity"` + // +optional + LivenessProbe *core.Probe `json:"livenessProbe"` + // +optional + ReadinessProbe *core.Probe `json:"readinessProbe"` + Service AceServiceSpec `json:"service"` + ServiceAccount ServiceAccountSpec `json:"serviceAccount"` + Volumes []core.Volume `json:"volumes"` + VolumeMounts []core.VolumeMount `json:"volumeMounts"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterPresetsList is a list of ClusterPresetss +type ClusterPresetsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + // Items is a list of ClusterPresets CRD objects + Items []ClusterPresets `json:"items,omitempty"` +} diff --git a/apis/installer/v1alpha1/opscenter_features_types.go b/apis/installer/v1alpha1/opscenter_features_types.go index ab8d4da4b..fbdb5ec43 100644 --- a/apis/installer/v1alpha1/opscenter_features_types.go +++ b/apis/installer/v1alpha1/opscenter_features_types.go @@ -69,6 +69,16 @@ type CapiMetadata struct { Namespace string `json:"namespace"` } +// +kubebuilder:validation:Enum=capa;capg;capz +type CAPIProvider string + +const ( + CAPIProviderDisabled CAPIProvider = "" + CAPIProviderCAPA CAPIProvider = "capa" + CAPIProviderCAPG CAPIProvider = "capg" + CAPIProviderCAPZ CAPIProvider = "capz" +) + type OpscenterHelmSpec struct { CreateNamespace bool `json:"createNamespace"` Repositories map[string]*shared.HelmRepository `json:"repositories"` diff --git a/apis/installer/v1alpha1/register.go b/apis/installer/v1alpha1/register.go index 22ccec767..87eb3a18a 100644 --- a/apis/installer/v1alpha1/register.go +++ b/apis/installer/v1alpha1/register.go @@ -66,14 +66,14 @@ func addKnownTypes(scheme *runtime.Scheme) error { &BillingList{}, &BillingUi{}, &BillingUiList{}, - &CapiClusterPresets{}, - &CapiClusterPresetsList{}, &CatalogManager{}, &CatalogManagerList{}, &CertManagerWebhookAce{}, &CertManagerWebhookAceList{}, &ClusterImporter{}, &ClusterImporterList{}, + &ClusterPresets{}, + &ClusterPresetsList{}, &ClusterUi{}, &ClusterUiList{}, &DeployUi{}, diff --git a/apis/installer/v1alpha1/types_test.go b/apis/installer/v1alpha1/types_test.go index fc08c4ba5..3395f0548 100644 --- a/apis/installer/v1alpha1/types_test.go +++ b/apis/installer/v1alpha1/types_test.go @@ -33,10 +33,10 @@ func TestDefaultValues(t *testing.T) { sc.TestCase{Obj: v1alpha1.AceSpec{}}, sc.TestCase{Obj: v1alpha1.BillingSpec{}}, sc.TestCase{Obj: v1alpha1.BillingUiSpec{}}, - sc.TestCase{Obj: v1alpha1.CapiClusterPresetsSpec{}}, sc.TestCase{Obj: v1alpha1.CatalogManagerSpec{}}, sc.TestCase{Obj: v1alpha1.CertManagerWebhookAceSpec{}}, sc.TestCase{Obj: v1alpha1.ClusterImporterSpec{}}, + sc.TestCase{Obj: v1alpha1.ClusterPresetsSpec{}}, sc.TestCase{Obj: v1alpha1.ClusterUiSpec{}}, sc.TestCase{Obj: v1alpha1.DeployUiSpec{}}, sc.TestCase{Obj: v1alpha1.DnsProxySpec{}}, diff --git a/apis/installer/v1alpha1/zz_generated.deepcopy.go b/apis/installer/v1alpha1/zz_generated.deepcopy.go index 0f044bbf5..4bed8f1b1 100644 --- a/apis/installer/v1alpha1/zz_generated.deepcopy.go +++ b/apis/installer/v1alpha1/zz_generated.deepcopy.go @@ -1850,80 +1850,6 @@ func (in *CacheSettings) DeepCopy() *CacheSettings { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *CapiClusterPresets) DeepCopyInto(out *CapiClusterPresets) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapiClusterPresets. -func (in *CapiClusterPresets) DeepCopy() *CapiClusterPresets { - if in == nil { - return nil - } - out := new(CapiClusterPresets) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *CapiClusterPresets) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *CapiClusterPresetsList) DeepCopyInto(out *CapiClusterPresetsList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]CapiClusterPresets, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapiClusterPresetsList. -func (in *CapiClusterPresetsList) DeepCopy() *CapiClusterPresetsList { - if in == nil { - return nil - } - out := new(CapiClusterPresetsList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *CapiClusterPresetsList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *CapiClusterPresetsSpec) DeepCopyInto(out *CapiClusterPresetsSpec) { - *out = *in - out.CAPI = in.CAPI -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapiClusterPresetsSpec. -func (in *CapiClusterPresetsSpec) DeepCopy() *CapiClusterPresetsSpec { - if in == nil { - return nil - } - out := new(CapiClusterPresetsSpec) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CapiMetadata) DeepCopyInto(out *CapiMetadata) { *out = *in @@ -1939,21 +1865,6 @@ func (in *CapiMetadata) DeepCopy() *CapiMetadata { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *CapiPresetsSpec) DeepCopyInto(out *CapiPresetsSpec) { - *out = *in -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapiPresetsSpec. -func (in *CapiPresetsSpec) DeepCopy() *CapiPresetsSpec { - if in == nil { - return nil - } - out := new(CapiPresetsSpec) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CatalogManager) DeepCopyInto(out *CatalogManager) { *out = *in @@ -2442,6 +2353,155 @@ func (in *ClusterMetadata) DeepCopy() *ClusterMetadata { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterPresets) DeepCopyInto(out *ClusterPresets) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPresets. +func (in *ClusterPresets) DeepCopy() *ClusterPresets { + if in == nil { + return nil + } + out := new(ClusterPresets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterPresets) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterPresetsList) DeepCopyInto(out *ClusterPresetsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterPresets, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPresetsList. +func (in *ClusterPresetsList) DeepCopy() *ClusterPresetsList { + if in == nil { + return nil + } + out := new(ClusterPresetsList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterPresetsList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterPresetsSpec) DeepCopyInto(out *ClusterPresetsSpec) { + *out = *in + out.Image = in.Image + if in.ImagePullSecrets != nil { + in, out := &in.ImagePullSecrets, &out.ImagePullSecrets + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PodAnnotations != nil { + in, out := &in.PodAnnotations, &out.PodAnnotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PodLabels != nil { + in, out := &in.PodLabels, &out.PodLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PodSecurityContext != nil { + in, out := &in.PodSecurityContext, &out.PodSecurityContext + *out = new(v1.PodSecurityContext) + (*in).DeepCopyInto(*out) + } + if in.SecurityContext != nil { + in, out := &in.SecurityContext, &out.SecurityContext + *out = new(v1.SecurityContext) + (*in).DeepCopyInto(*out) + } + in.Resources.DeepCopyInto(&out.Resources) + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Affinity != nil { + in, out := &in.Affinity, &out.Affinity + *out = new(v1.Affinity) + (*in).DeepCopyInto(*out) + } + if in.LivenessProbe != nil { + in, out := &in.LivenessProbe, &out.LivenessProbe + *out = new(v1.Probe) + (*in).DeepCopyInto(*out) + } + if in.ReadinessProbe != nil { + in, out := &in.ReadinessProbe, &out.ReadinessProbe + *out = new(v1.Probe) + (*in).DeepCopyInto(*out) + } + out.Service = in.Service + in.ServiceAccount.DeepCopyInto(&out.ServiceAccount) + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]v1.Volume, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]v1.VolumeMount, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPresetsSpec. +func (in *ClusterPresetsSpec) DeepCopy() *ClusterPresetsSpec { + if in == nil { + return nil + } + out := new(ClusterPresetsSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterUi) DeepCopyInto(out *ClusterUi) { *out = *in diff --git a/charts/capi-cluster-presets/README.md b/charts/capi-cluster-presets/README.md deleted file mode 100644 index fe7c04198..000000000 --- a/charts/capi-cluster-presets/README.md +++ /dev/null @@ -1,66 +0,0 @@ -# ACE UI Presets for CAPI - -[ACE UI Presets for CAPI by AppsCode](https://github.com/appscode-cloud) - ACE UI presets for Monitoring - -## TL;DR; - -```bash -$ helm repo add appscode https://charts.appscode.com/stable -$ helm repo update -$ helm search repo appscode/capi-cluster-presets --version=v2023.11.14 -$ helm upgrade -i capi-cluster-presets appscode/capi-cluster-presets -n kubeops --create-namespace --version=v2023.11.14 -``` - -## Introduction - -This chart deploys ACE UI presets for Monitoring on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. - -## Prerequisites - -- Kubernetes 1.21+ - -## Installing the Chart - -To install/upgrade the chart with the release name `capi-cluster-presets`: - -```bash -$ helm upgrade -i capi-cluster-presets appscode/capi-cluster-presets -n kubeops --create-namespace --version=v2023.11.14 -``` - -The command deploys ACE UI presets for Monitoring on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. - -> **Tip**: List all releases using `helm list` - -## Uninstalling the Chart - -To uninstall the `capi-cluster-presets`: - -```bash -$ helm uninstall capi-cluster-presets -n kubeops -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - -## Configuration - -The following table lists the configurable parameters of the `capi-cluster-presets` chart and their default values. - -| Parameter | Description | Default | -|------------------|-------------|-----------------| -| capi.provider | | "" | -| capi.namespace | | "" | -| capi.clusterName | | "" | - - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example: - -```bash -$ helm upgrade -i capi-cluster-presets appscode/capi-cluster-presets -n kubeops --create-namespace --version=v2023.11.14 --set -- generate from values file -- -``` - -Alternatively, a YAML file that specifies the values for the parameters can be provided while -installing the chart. For example: - -```bash -$ helm upgrade -i capi-cluster-presets appscode/capi-cluster-presets -n kubeops --create-namespace --version=v2023.11.14 --values values.yaml -``` diff --git a/charts/capi-cluster-presets/crds/charts.x-helm.dev_clusterchartpresets.yaml b/charts/capi-cluster-presets/crds/charts.x-helm.dev_clusterchartpresets.yaml deleted file mode 100644 index f4d682e74..000000000 --- a/charts/capi-cluster-presets/crds/charts.x-helm.dev_clusterchartpresets.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: clusterchartpresets.charts.x-helm.dev -spec: - group: charts.x-helm.dev - names: - kind: ClusterChartPreset - listKind: ClusterChartPresetList - plural: clusterchartpresets - singular: clusterchartpreset - scope: Cluster - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: ClusterChartPreset is the Schema for the clusterchartpresets - API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ClusterChartPresetSpec defines the desired state of ClusterChartPreset - properties: - values: - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/charts/capi-cluster-presets/templates/NOTES.txt b/charts/capi-cluster-presets/templates/NOTES.txt deleted file mode 100644 index d8c630b40..000000000 --- a/charts/capi-cluster-presets/templates/NOTES.txt +++ /dev/null @@ -1,3 +0,0 @@ -List all cluster presets by running these commands: - - kubectl get clusterpresets diff --git a/charts/capi-cluster-presets/templates/preset.yaml b/charts/capi-cluster-presets/templates/preset.yaml deleted file mode 100644 index 26e569a7b..000000000 --- a/charts/capi-cluster-presets/templates/preset.yaml +++ /dev/null @@ -1,16 +0,0 @@ -{{ $m := .Values.capi }} -{{- if .Values.global }} -{{- $m = .Values.global.capi }} -{{- end }} - -apiVersion: charts.x-helm.dev/v1alpha1 -kind: ClusterChartPreset -metadata: - name: capi-presets - labels: - ace.appscode.com/managed: "true" - charts.x-helm.dev/is-default-preset: "true" -spec: - values: - form: - {{- toYaml .Values | nindent 6 }} diff --git a/charts/capi-cluster-presets/values.openapiv3_schema.yaml b/charts/capi-cluster-presets/values.openapiv3_schema.yaml deleted file mode 100644 index 895a20cf4..000000000 --- a/charts/capi-cluster-presets/values.openapiv3_schema.yaml +++ /dev/null @@ -1,20 +0,0 @@ -properties: - capi: - properties: - clusterName: - type: string - namespace: - type: string - provider: - enum: - - capa - - capg - - capz - type: string - required: - - clusterName - - namespace - type: object -required: -- capi -type: object diff --git a/charts/capi-cluster-presets/values.yaml b/charts/capi-cluster-presets/values.yaml deleted file mode 100644 index bb6dd91f0..000000000 --- a/charts/capi-cluster-presets/values.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# Default values for capi-cluster-presets. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -capi: - provider: "" - namespace: "" - clusterName: "" diff --git a/charts/capi-cluster-presets/.helmignore b/charts/cluster-presets/.helmignore similarity index 100% rename from charts/capi-cluster-presets/.helmignore rename to charts/cluster-presets/.helmignore diff --git a/charts/capi-cluster-presets/Chart.yaml b/charts/cluster-presets/Chart.yaml similarity index 71% rename from charts/capi-cluster-presets/Chart.yaml rename to charts/cluster-presets/Chart.yaml index 89cbeedaf..959cf5197 100644 --- a/charts/capi-cluster-presets/Chart.yaml +++ b/charts/cluster-presets/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 -name: capi-cluster-presets -description: CAPI Cluster Presets +name: cluster-presets +description: A Helm chart for Kubernetes type: application -version: v2023.11.14 -appVersion: v2023.11.14 +version: v2024.6.3 +appVersion: v0.0.1 home: https://github.com/appscode-cloud icon: https://cdn.appscode.com/images/products/bytebuilders/icons/android-icon-192x192.png sources: diff --git a/charts/cluster-presets/README.md b/charts/cluster-presets/README.md new file mode 100644 index 000000000..9884f82f2 --- /dev/null +++ b/charts/cluster-presets/README.md @@ -0,0 +1,91 @@ +# Cluster Presets + +[Cluster Presets by AppsCode](https://github.com/appscode-cloud) - Cluster Presets + +## TL;DR; + +```bash +$ helm repo add appscode https://charts.appscode.com/stable +$ helm repo update +$ helm search repo appscode/cluster-presets --version=v2024.6.3 +$ helm upgrade -i cluster-presets appscode/cluster-presets -n ace --create-namespace --version=v2024.6.3 +``` + +## Introduction + +This chart deploys a Cluster Presets on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. + +## Prerequisites + +- Kubernetes 1.21+ + +## Installing the Chart + +To install/upgrade the chart with the release name `cluster-presets`: + +```bash +$ helm upgrade -i cluster-presets appscode/cluster-presets -n ace --create-namespace --version=v2024.6.3 +``` + +The command deploys a Cluster Presets on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. + +> **Tip**: List all releases using `helm list` + +## Uninstalling the Chart + +To uninstall the `cluster-presets`: + +```bash +$ helm uninstall cluster-presets -n ace +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. + +## Configuration + +The following table lists the configurable parameters of the `cluster-presets` chart and their default values. + +| Parameter | Description | Default | +|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| replicaCount | | 1 | +| registryFQDN | Docker registry fqdn used to pull app related images. Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io | +| image.registry | Docker registry used to pull app container image | appscode | +| image.repository | | cluster-presets | +| image.pullPolicy | | IfNotPresent | +| image.tag | Overrides the image tag whose default is the chart appVersion. | "" | +| imagePullSecrets | | [] | +| nameOverride | | "" | +| fullnameOverride | | "" | +| serviceAccount.create | Specifies whether a service account should be created | true | +| serviceAccount.annotations | Annotations to add to the service account | {} | +| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | "" | +| podAnnotations | | {} | +| podLabels | | {} | +| podSecurityContext | | {} | +| securityContext | | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":65534,"seccompProfile":{"type":"RuntimeDefault"}} | +| service.type | | ClusterIP | +| service.port | | 8081 | +| resources | | {} | +| livenessProbe.httpGet.path | | /healthz | +| livenessProbe.httpGet.port | | http | +| readinessProbe.httpGet.path | | /healthz | +| readinessProbe.httpGet.port | | http | +| volumes | Additional volumes on the output Deployment definition. | [] | +| volumeMounts | Additional volumeMounts on the output Deployment definition. | [] | +| nodeSelector | | {} | +| tolerations | | [] | +| affinity | | {} | + + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example: + +```bash +$ helm upgrade -i cluster-presets appscode/cluster-presets -n ace --create-namespace --version=v2024.6.3 --set replicaCount=1 +``` + +Alternatively, a YAML file that specifies the values for the parameters can be provided while +installing the chart. For example: + +```bash +$ helm upgrade -i cluster-presets appscode/cluster-presets -n ace --create-namespace --version=v2024.6.3 --values values.yaml +``` diff --git a/charts/capi-cluster-presets/doc.yaml b/charts/cluster-presets/doc.yaml similarity index 51% rename from charts/capi-cluster-presets/doc.yaml rename to charts/cluster-presets/doc.yaml index 80f3a1524..5958f77c4 100644 --- a/charts/capi-cluster-presets/doc.yaml +++ b/charts/cluster-presets/doc.yaml @@ -1,18 +1,18 @@ project: - name: ACE UI Presets for CAPI by AppsCode - shortName: ACE UI Presets for CAPI + name: Cluster Presets by AppsCode + shortName: Cluster Presets url: https://github.com/appscode-cloud - description: ACE UI presets for Monitoring - app: ACE UI presets for Monitoring + description: Cluster Presets + app: a Cluster Presets repository: url: https://charts.appscode.com/stable name: appscode chart: - name: capi-cluster-presets + name: cluster-presets values: -- generate from values file -- valuesExample: -- generate from values file -- prerequisites: - Kubernetes 1.21+ release: - name: capi-cluster-presets - namespace: kubeops + name: cluster-presets + namespace: ace diff --git a/charts/cluster-presets/templates/NOTES.txt b/charts/cluster-presets/templates/NOTES.txt new file mode 100644 index 000000000..ef9d4fec6 --- /dev/null +++ b/charts/cluster-presets/templates/NOTES.txt @@ -0,0 +1,3 @@ +Application deployed. Find pods by running the following command: + +kubectl get pods -n {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "cluster-presets.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/charts/capi-cluster-presets/templates/_helpers.tpl b/charts/cluster-presets/templates/_helpers.tpl similarity index 53% rename from charts/capi-cluster-presets/templates/_helpers.tpl rename to charts/cluster-presets/templates/_helpers.tpl index 4ceaad418..a4ac63ac4 100644 --- a/charts/capi-cluster-presets/templates/_helpers.tpl +++ b/charts/cluster-presets/templates/_helpers.tpl @@ -1,7 +1,7 @@ {{/* Expand the name of the chart. */}} -{{- define "capi-cluster-presets.name" -}} +{{- define "cluster-presets.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- end }} @@ -10,7 +10,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "capi-cluster-presets.fullname" -}} +{{- define "cluster-presets.fullname" -}} {{- if .Values.fullnameOverride }} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} {{- else }} @@ -26,16 +26,16 @@ If release name contains chart name it will be used as a full name. {{/* Create chart name and version as used by the chart label. */}} -{{- define "capi-cluster-presets.chart" -}} +{{- define "cluster-presets.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- end }} {{/* Common labels */}} -{{- define "capi-cluster-presets.labels" -}} -helm.sh/chart: {{ include "capi-cluster-presets.chart" . }} -{{ include "capi-cluster-presets.selectorLabels" . }} +{{- define "cluster-presets.labels" -}} +helm.sh/chart: {{ include "cluster-presets.chart" . }} +{{ include "cluster-presets.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -45,7 +45,32 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "capi-cluster-presets.selectorLabels" -}} -app.kubernetes.io/name: {{ include "capi-cluster-presets.name" . }} +{{- define "cluster-presets.selectorLabels" -}} +app.kubernetes.io/name: {{ include "cluster-presets.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "cluster-presets.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "cluster-presets.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} + +{{/* +Returns the registry used for image docker image +*/}} +{{- define "image.registry" -}} +{{- list .Values.registryFQDN .Values.image.registry | compact | join "/" }} +{{- end }} + +{{- define "appscode.imagePullSecrets" -}} +{{- with .Values.imagePullSecrets -}} +imagePullSecrets: +{{- toYaml . | nindent 2 }} +{{- end }} +{{- end }} diff --git a/charts/cluster-presets/templates/cluster-role-binding.yaml b/charts/cluster-presets/templates/cluster-role-binding.yaml new file mode 100644 index 000000000..3b2f38034 --- /dev/null +++ b/charts/cluster-presets/templates/cluster-role-binding.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "cluster-presets.fullname" . }} + labels: + {{- include "cluster-presets.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "cluster-presets.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "cluster-presets.fullname" . }} + namespace: {{ .Release.Namespace }} diff --git a/charts/cluster-presets/templates/cluster-role.yaml b/charts/cluster-presets/templates/cluster-role.yaml new file mode 100644 index 000000000..b8253920b --- /dev/null +++ b/charts/cluster-presets/templates/cluster-role.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "cluster-presets.fullname" . }} + labels: + {{- include "cluster-presets.labels" . | nindent 4 }} +rules: +# Get cluster id +- apiGroups: + - "" + resources: + - namespaces + verbs: ["get"] diff --git a/charts/cluster-presets/templates/deployment.yaml b/charts/cluster-presets/templates/deployment.yaml new file mode 100644 index 000000000..5b29a32d3 --- /dev/null +++ b/charts/cluster-presets/templates/deployment.yaml @@ -0,0 +1,65 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "cluster-presets.fullname" . }} + labels: + {{- include "cluster-presets.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "cluster-presets.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "cluster-presets.labels" . | nindent 8 }} + {{- with .Values.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- include "appscode.imagePullSecrets" . | nindent 6 }} + serviceAccountName: {{ include "cluster-presets.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ include "image.registry" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: + - generate + ports: + - name: http + containerPort: {{ .Values.service.port }} + protocol: TCP + livenessProbe: + {{- toYaml .Values.livenessProbe | nindent 12 }} + readinessProbe: + {{- toYaml .Values.readinessProbe | nindent 12 }} + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.volumeMounts }} + volumeMounts: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- with .Values.volumes }} + volumes: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/cluster-presets/templates/serviceaccount.yaml b/charts/cluster-presets/templates/serviceaccount.yaml new file mode 100644 index 000000000..1d8be7a07 --- /dev/null +++ b/charts/cluster-presets/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "cluster-presets.serviceAccountName" . }} + labels: + {{- include "cluster-presets.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +automountServiceAccountToken: true +{{- end }} diff --git a/charts/cluster-presets/values.openapiv3_schema.yaml b/charts/cluster-presets/values.openapiv3_schema.yaml new file mode 100644 index 000000000..fe6d6416a --- /dev/null +++ b/charts/cluster-presets/values.openapiv3_schema.yaml @@ -0,0 +1,1581 @@ +properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + fullnameOverride: + type: string + image: + properties: + pullPolicy: + type: string + registry: + type: string + repository: + type: string + tag: + type: string + required: + - pullPolicy + - registry + - repository + - tag + type: object + imagePullSecrets: + items: + type: string + type: array + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + nameOverride: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + podAnnotations: + additionalProperties: + type: string + type: object + podLabels: + additionalProperties: + type: string + type: object + podSecurityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + registryFQDN: + type: string + replicaCount: + format: int32 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + securityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + type: object + privileged: + type: boolean + procMount: + type: string + readOnlyRootFilesystem: + type: boolean + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: + type: string + required: + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + service: + properties: + port: + type: integer + type: + type: string + required: + - port + - type + type: object + serviceAccount: + properties: + annotations: + additionalProperties: + type: string + type: object + create: + type: boolean + name: + type: string + required: + - create + type: object + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - kind + - name + type: object + resources: + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + storageClassName: + type: string + volumeAttributesClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + x-kubernetes-map-type: atomic + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + x-kubernetes-map-type: atomic + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + x-kubernetes-map-type: atomic + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array +required: +- image +- replicaCount +- service +- serviceAccount +- volumeMounts +- volumes +type: object diff --git a/charts/cluster-presets/values.yaml b/charts/cluster-presets/values.yaml new file mode 100644 index 000000000..3064bbf5b --- /dev/null +++ b/charts/cluster-presets/values.yaml @@ -0,0 +1,90 @@ +# Default values for cluster-presets. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +# Docker registry fqdn used to pull app related images. +# Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} +registryFQDN: ghcr.io + +image: + # Docker registry used to pull app container image + registry: appscode + repository: cluster-presets + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} +podLabels: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: # +doc-gen:break + allowPrivilegeEscalation: false + capabilities: + drop: ["ALL"] + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 65534 + seccompProfile: + type: RuntimeDefault + +service: + type: ClusterIP + port: 8081 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +livenessProbe: + httpGet: + path: /healthz + port: http +readinessProbe: + httpGet: + path: /healthz + port: http + +# Additional volumes on the output Deployment definition. +volumes: [] +# - name: foo +# secret: +# secretName: mysecret +# optional: false + +# Additional volumeMounts on the output Deployment definition. +volumeMounts: [] +# - name: foo +# mountPath: "/etc/foo" +# readOnly: true + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/opscenter-features/README.md b/charts/opscenter-features/README.md index 2f816882f..d3879a7ea 100644 --- a/charts/opscenter-features/README.md +++ b/charts/opscenter-features/README.md @@ -68,7 +68,6 @@ The following table lists the configurable parameters of the `opscenter-features | helm.repositories.appscode-charts-oci.url | | oci://ghcr.io/appscode-charts | | helm.releases.aws-ebs-csi-driver.version | | "2.23.0" | | helm.releases.capa-vpc-peering-operator.version | | "v2023.12.11" | -| helm.releases.capi-cluster-presets.version | | "v2023.11.14" | | helm.releases.capi-catalog.version | | "v2024.5.14" | | helm.releases.capi-ops-manager.version | | "v2024.5.14" | | helm.releases.docker-machine-operator.version | | "v2023.10.18" | @@ -77,6 +76,7 @@ The following table lists the configurable parameters of the `opscenter-features | helm.releases.cert-manager-csi-driver-cacerts.version | | "v2023.10.1" | | helm.releases.cert-manager-webhook-ace.version | | "v2023.11.14" | | helm.releases.cluster-autoscaler.version | | "9.29.0" | +| helm.releases.cluster-presets.version | | "v2024.6.3" | | helm.releases.config-syncer.version | | "v0.14.6" | | helm.releases.crossplane.version | | "1.14.0" | | helm.releases.external-dns-operator.version | | "v2024.4.19" | diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capa/aws-ebs-csi-driver.yaml b/charts/opscenter-features/templates/featuresets/capi-capa/aws-ebs-csi-driver.yaml similarity index 100% rename from charts/opscenter-features/templates/featuresets/dbaas-capa/aws-ebs-csi-driver.yaml rename to charts/opscenter-features/templates/featuresets/capi-capa/aws-ebs-csi-driver.yaml diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capa/capa-vpc-peering-operator.yaml b/charts/opscenter-features/templates/featuresets/capi-capa/capa-vpc-peering-operator.yaml similarity index 100% rename from charts/opscenter-features/templates/featuresets/dbaas-capa/capa-vpc-peering-operator.yaml rename to charts/opscenter-features/templates/featuresets/capi-capa/capa-vpc-peering-operator.yaml diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capa/cluster-autoscaler.yaml b/charts/opscenter-features/templates/featuresets/capi-capa/cluster-autoscaler.yaml similarity index 100% rename from charts/opscenter-features/templates/featuresets/dbaas-capa/cluster-autoscaler.yaml rename to charts/opscenter-features/templates/featuresets/capi-capa/cluster-autoscaler.yaml diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capa/featureset.yaml b/charts/opscenter-features/templates/featuresets/capi-capa/featureset.yaml similarity index 100% rename from charts/opscenter-features/templates/featuresets/dbaas-capa/featureset.yaml rename to charts/opscenter-features/templates/featuresets/capi-capa/featureset.yaml diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capg/featureset.yaml b/charts/opscenter-features/templates/featuresets/capi-capg/featureset.yaml similarity index 87% rename from charts/opscenter-features/templates/featuresets/dbaas-capg/featureset.yaml rename to charts/opscenter-features/templates/featuresets/capi-capg/featureset.yaml index cb30e355c..73ab0cd19 100644 --- a/charts/opscenter-features/templates/featuresets/dbaas-capg/featureset.yaml +++ b/charts/opscenter-features/templates/featuresets/capi-capg/featureset.yaml @@ -3,7 +3,7 @@ apiVersion: ui.k8s.appscode.com/v1alpha1 kind: FeatureSet metadata: - name: dbaas-capg + name: capi-capg spec: title: KubeDB Managed DBaaS description: | @@ -13,7 +13,7 @@ spec: type: image/svg+xml recommended: false chart: - name: uik8sappscodecom-featureset-dbaas-capg-editor + name: uik8sappscodecom-featureset-capi-capg-editor version: {{ .Chart.AppVersion }} sourceRef: apiGroup: source.toolkit.fluxcd.io diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capz/featureset.yaml b/charts/opscenter-features/templates/featuresets/capi-capz/featureset.yaml similarity index 87% rename from charts/opscenter-features/templates/featuresets/dbaas-capz/featureset.yaml rename to charts/opscenter-features/templates/featuresets/capi-capz/featureset.yaml index dd2019852..e058c57c1 100644 --- a/charts/opscenter-features/templates/featuresets/dbaas-capz/featureset.yaml +++ b/charts/opscenter-features/templates/featuresets/capi-capz/featureset.yaml @@ -3,7 +3,7 @@ apiVersion: ui.k8s.appscode.com/v1alpha1 kind: FeatureSet metadata: - name: dbaas-capz + name: capi-capz spec: title: KubeDB Managed DBaaS description: | @@ -13,7 +13,7 @@ spec: type: image/svg+xml recommended: false chart: - name: uik8sappscodecom-featureset-dbaas-capz-editor + name: uik8sappscodecom-featureset-capi-capz-editor version: {{ .Chart.AppVersion }} sourceRef: apiGroup: source.toolkit.fluxcd.io diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capa/capi-cluster-presets.yaml b/charts/opscenter-features/templates/featuresets/capi-core/cluster-presets.yaml similarity index 60% rename from charts/opscenter-features/templates/featuresets/dbaas-capa/capi-cluster-presets.yaml rename to charts/opscenter-features/templates/featuresets/capi-core/cluster-presets.yaml index f7fa181bc..43272f7fb 100644 --- a/charts/opscenter-features/templates/featuresets/dbaas-capa/capi-cluster-presets.yaml +++ b/charts/opscenter-features/templates/featuresets/capi-core/cluster-presets.yaml @@ -1,26 +1,24 @@ -{{- if eq .Values.clusterMetadata.capi.provider "capa" }} - apiVersion: ui.k8s.appscode.com/v1alpha1 kind: Feature metadata: - name: capi-cluster-presets + name: cluster-presets labels: - app.kubernetes.io/part-of: dbaas-capa + app.kubernetes.io/part-of: capi-core spec: - title: CAPI Cluster Presets + title: Cluster Presets description: | - CAPI Cluster Presets + Cluster Presets icons: - src: https://cdn.appscode.com/k8s/icons/menu/cluster.svg type: image/svg+xml - featureSet: dbaas-capa - featureBlock: capi-cluster-presets - recommended: true + featureSet: capi-core + featureBlock: cluster-presets + recommended: false chart: - name: capi-cluster-presets + name: cluster-presets namespace: capi-cluster createNamespace: {{ $.Values.helm.createNamespace }} - version: {{ dig "capi-cluster-presets" "version" "" $.Values.helm.releases }} + version: {{ dig "cluster-presets" "version" "" $.Values.helm.releases }} sourceRef: kind: HelmRepository name: appscode-charts-oci @@ -30,5 +28,3 @@ spec: provider: {{ .Values.clusterMetadata.capi.provider }} namespace: {{ .Values.clusterMetadata.capi.namespace }} clusterName: {{ .Values.clusterMetadata.name }} - -{{- end }} diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capg/capi-cluster-presets.yaml b/charts/opscenter-features/templates/featuresets/dbaas-capg/capi-cluster-presets.yaml deleted file mode 100644 index 074c1c55f..000000000 --- a/charts/opscenter-features/templates/featuresets/dbaas-capg/capi-cluster-presets.yaml +++ /dev/null @@ -1,34 +0,0 @@ -{{- if eq .Values.clusterMetadata.capi.provider "capg" }} - -apiVersion: ui.k8s.appscode.com/v1alpha1 -kind: Feature -metadata: - name: capi-cluster-presets - labels: - app.kubernetes.io/part-of: dbaas-capg -spec: - title: CAPI Cluster Presets - description: | - CAPI Cluster Presets - icons: - - src: https://cdn.appscode.com/k8s/icons/menu/cluster.svg - type: image/svg+xml - featureSet: dbaas-capg - featureBlock: capi-cluster-presets - recommended: true - chart: - name: capi-cluster-presets - namespace: capi-cluster - createNamespace: {{ $.Values.helm.createNamespace }} - version: {{ dig "capi-cluster-presets" "version" "" $.Values.helm.releases }} - sourceRef: - kind: HelmRepository - name: appscode-charts-oci - namespace: {{ .Release.Namespace }} - values: - capi: - provider: {{ .Values.clusterMetadata.capi.provider }} - namespace: {{ .Values.clusterMetadata.capi.namespace }} - clusterName: {{ .Values.clusterMetadata.name }} - -{{- end }} diff --git a/charts/opscenter-features/templates/featuresets/dbaas-capz/capi-cluster-presets.yaml b/charts/opscenter-features/templates/featuresets/dbaas-capz/capi-cluster-presets.yaml deleted file mode 100644 index 2cf45b457..000000000 --- a/charts/opscenter-features/templates/featuresets/dbaas-capz/capi-cluster-presets.yaml +++ /dev/null @@ -1,34 +0,0 @@ -{{- if eq .Values.clusterMetadata.capi.provider "capz" }} - -apiVersion: ui.k8s.appscode.com/v1alpha1 -kind: Feature -metadata: - name: capi-cluster-presets - labels: - app.kubernetes.io/part-of: dbaas-capz -spec: - title: CAPI Cluster Presets - description: | - CAPI Cluster Presets - icons: - - src: https://cdn.appscode.com/k8s/icons/menu/cluster.svg - type: image/svg+xml - featureSet: dbaas-capz - featureBlock: capi-cluster-presets - recommended: true - chart: - name: capi-cluster-presets - namespace: capi-cluster - createNamespace: {{ $.Values.helm.createNamespace }} - version: {{ dig "capi-cluster-presets" "version" "" $.Values.helm.releases }} - sourceRef: - kind: HelmRepository - name: appscode-charts-oci - namespace: {{ .Release.Namespace }} - values: - capi: - provider: {{ .Values.clusterMetadata.capi.provider }} - namespace: {{ .Values.clusterMetadata.capi.namespace }} - clusterName: {{ .Values.clusterMetadata.name }} - -{{- end }} diff --git a/charts/opscenter-features/values.yaml b/charts/opscenter-features/values.yaml index bb2d7840b..7cf671f2e 100644 --- a/charts/opscenter-features/values.yaml +++ b/charts/opscenter-features/values.yaml @@ -60,8 +60,6 @@ helm: version: "2.23.0" capa-vpc-peering-operator: version: "v2023.12.11" - capi-cluster-presets: - version: "v2023.11.14" capi-catalog: version: "v2024.5.14" capi-ops-manager: @@ -78,6 +76,8 @@ helm: version: "v2023.11.14" cluster-autoscaler: version: "9.29.0" + cluster-presets: + version: "v2024.6.3" config-syncer: version: "v0.14.6" crossplane: