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: