Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions api/bases/cinder.openstack.org_cinders.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@ spec:
description: APITimeout for HAProxy, Apache, and rpc_response_timeout
minimum: 10
type: integer
auth:
description: Auth - Parameters related to authentication for all Cinder
services
properties:
applicationCredentialSecret:
description: ApplicationCredentialSecret - Secret containing Application
Credential ID and Secret
type: string
type: object
cinderAPI:
description: CinderAPI - Spec definition for the API service of this
Cinder deployment
Expand Down
7 changes: 6 additions & 1 deletion api/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ go 1.24.4

require (
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20251223124749-eedb97238c5f
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20251206133124-593df0a7a9e1
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20251230215914-6ba873b49a35
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20251230215914-6ba873b49a35
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67
Expand All @@ -17,7 +18,6 @@ require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
github.com/evanphx/json-patch v5.9.11+incompatible // indirect
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
Expand All @@ -32,13 +32,16 @@ require (
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gophercloud/gophercloud/v2 v2.8.0 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.9.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/openshift/api v3.9.0+incompatible // indirect
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20251122131503-b76943960b6c // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
Expand Down Expand Up @@ -94,3 +97,5 @@ replace k8s.io/component-base => k8s.io/component-base v0.31.13 //allow-merging
replace github.com/rabbitmq/cluster-operator/v2 => github.com/openstack-k8s-operators/rabbitmq-cluster-operator/v2 v2.6.1-0.20250929174222-a0d328fa4dec //allow-merging

replace k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20250627150254-e9823e99808e //allow-merging

replace github.com/openstack-k8s-operators/keystone-operator/api => github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81
8 changes: 8 additions & 0 deletions api/go.sum
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81 h1:plax+NFgJJL1SrERyXAnf3jOHRhLTtBlJ2oc7d84EoU=
github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81/go.mod h1:b98Jl8eyUw8V07l9YiuQnoMlnWC748oV8IhXH15NCC4=
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
Expand Down Expand Up @@ -48,6 +50,8 @@ github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gophercloud/gophercloud/v2 v2.8.0 h1:of2+8tT6+FbEYHfYC8GBu8TXJNsXYSNm9KuvpX7Neqo=
github.com/gophercloud/gophercloud/v2 v2.8.0/go.mod h1:Ki/ILhYZr/5EPebrPL9Ej+tUg4lqx71/YH2JWVeU+Qk=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
Expand Down Expand Up @@ -78,10 +82,14 @@ github.com/onsi/ginkgo/v2 v2.27.3 h1:ICsZJ8JoYafeXFFlFAG75a7CxMsJHwgKwtO+82SE9L8
github.com/onsi/ginkgo/v2 v2.27.3/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
github.com/onsi/gomega v1.38.3 h1:eTX+W6dobAYfFeGC2PV6RwXRu/MyT+cQguijutvkpSM=
github.com/onsi/gomega v1.38.3/go.mod h1:ZCU1pkQcXDO5Sl9/VVEGlDyp+zm0m1cmeG5TOzLgdh4=
github.com/openshift/api v0.0.0-20250711200046-c86d80652a9e h1:E1OdwSpqWuDPCedyUt0GEdoAE+r5TXy7YS21yNEo+2U=
github.com/openshift/api v0.0.0-20250711200046-c86d80652a9e/go.mod h1:Shkl4HanLwDiiBzakv+con/aMGnVE2MAGvoKp5oyYUo=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20251223124749-eedb97238c5f h1:xcCGJ/g5vvbWhtEJCbv8UeBneI5yrMawm+CXRsJrJZo=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20251223124749-eedb97238c5f/go.mod h1:ex8ou6/3ms6ovR+CMXD6XhTlNakm1GhB6UZgagVRNW8=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20251230215914-6ba873b49a35 h1:pF3mJ3nwq6r4qwom+rEWZNquZpcQW/iftHlJ1KPIDsk=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20251230215914-6ba873b49a35/go.mod h1:kycZyoe7OZdW1HUghr2nI3N7wSJtNahXf6b/ypD14f4=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20251122131503-b76943960b6c h1:l7FO+XoQRnD4aT5p/JXVY2uezQLdC7D50KrwrTmzCfg=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20251122131503-b76943960b6c/go.mod h1:zOX7Y05keiSppIvLabuyh42QHBMhCcoskAtxFRbwXKo=
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20251230215914-6ba873b49a35 h1:8WZYfCt1VJHa5sJRX0UhpmoXud/fn8LHQhXsakdYXuQ=
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20251230215914-6ba873b49a35/go.mod h1:H0aQANk8iJPRhS2Bg9n6cYb/IHF0Cks9g7+uZG04Rhk=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
Expand Down
5 changes: 5 additions & 0 deletions api/v1beta1/cinder_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,11 @@ type CinderSpecBase struct {
// by name
TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`

// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// Auth - Parameters related to authentication for all Cinder services
Auth AuthSpec `json:"auth,omitempty"`

// +kubebuilder:validation:Optional
// RabbitMQ instance name used to request a transportURL that is used for
// notification purposes
Expand Down
11 changes: 8 additions & 3 deletions api/v1beta1/cinder_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,17 @@ import (
"golang.org/x/exp/maps"

topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1"
keystonev1 "github.com/openstack-k8s-operators/keystone-operator/api/v1beta1"
"github.com/openstack-k8s-operators/lib-common/modules/common/service"
"github.com/openstack-k8s-operators/lib-common/modules/common/util"
common_webhook "github.com/openstack-k8s-operators/lib-common/modules/common/webhook"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/validation/field"
logf "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
common_webhook "github.com/openstack-k8s-operators/lib-common/modules/common/webhook"
)

// CinderDefaults -
Expand Down Expand Up @@ -106,6 +107,10 @@ func (r *Cinder) Default() {
// This is required, as the loop variable is a by-value copy
r.Spec.CinderVolumes[index] = cinderVolume
}
// Default ApplicationCredentialSecret to standard AC secret name if not specified
if r.Spec.Auth.ApplicationCredentialSecret == "" {
r.Spec.Auth.ApplicationCredentialSecret = keystonev1.GetACSecretName("cinder")
}
r.Spec.CinderSpecBase.Default()
}

Expand Down Expand Up @@ -198,7 +203,7 @@ func (spec *CinderSpec) ValidateCreate(
func (spec *CinderSpecCore) ValidateCreate(
basePath *field.Path,
namespace string,
) ([]string, field.ErrorList){
) ([]string, field.ErrorList) {
var allErrs field.ErrorList
var allWarns admission.Warnings

Expand Down Expand Up @@ -486,7 +491,7 @@ func (spec *CinderSpec) ValidateCinderBackup(basePath *field.Path) ([]string, fi
return allWarns, allErrs
}

func (spec *CinderSpecCore) ValidateCinderBackup(basePath *field.Path)([]string, field.ErrorList) {
func (spec *CinderSpecCore) ValidateCinderBackup(basePath *field.Path) ([]string, field.ErrorList) {
var allErrs field.ErrorList
var allWarns []string

Expand Down
8 changes: 8 additions & 0 deletions api/v1beta1/cinderapi_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,14 @@ type APIOverrideSpec struct {
Service map[service.Endpoint]service.RoutedOverrideSpec `json:"service,omitempty"`
}

// AuthSpec defines authentication parameters
type AuthSpec struct {
// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// ApplicationCredentialSecret - Secret containing Application Credential ID and Secret
ApplicationCredentialSecret string `json:"applicationCredentialSecret,omitempty"`
}

// CinderAPISpec defines the desired state of CinderAPI
type CinderAPISpec struct {
// Common input parameters for all Cinder services
Expand Down
16 changes: 16 additions & 0 deletions api/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions config/crd/bases/cinder.openstack.org_cinders.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@ spec:
description: APITimeout for HAProxy, Apache, and rpc_response_timeout
minimum: 10
type: integer
auth:
description: Auth - Parameters related to authentication for all Cinder
services
properties:
applicationCredentialSecret:
description: ApplicationCredentialSecret - Secret containing Application
Credential ID and Secret
type: string
type: object
cinderAPI:
description: CinderAPI - Spec definition for the API service of this
Cinder deployment
Expand Down
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,5 @@ replace k8s.io/component-base => k8s.io/component-base v0.31.13 //allow-merging
replace github.com/rabbitmq/cluster-operator/v2 => github.com/openstack-k8s-operators/rabbitmq-cluster-operator/v2 v2.6.1-0.20250929174222-a0d328fa4dec //allow-merging

replace k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20250627150254-e9823e99808e //allow-merging

replace github.com/openstack-k8s-operators/keystone-operator/api => github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81 h1:plax+NFgJJL1SrERyXAnf3jOHRhLTtBlJ2oc7d84EoU=
github.com/Deydra71/keystone-operator/api v0.0.0-20251211085602-3e1a3e022c81/go.mod h1:b98Jl8eyUw8V07l9YiuQnoMlnWC748oV8IhXH15NCC4=
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
Expand Down Expand Up @@ -120,8 +122,6 @@ github.com/openshift/api v0.0.0-20250711200046-c86d80652a9e h1:E1OdwSpqWuDPCedyU
github.com/openshift/api v0.0.0-20250711200046-c86d80652a9e/go.mod h1:Shkl4HanLwDiiBzakv+con/aMGnVE2MAGvoKp5oyYUo=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20251223124749-eedb97238c5f h1:xcCGJ/g5vvbWhtEJCbv8UeBneI5yrMawm+CXRsJrJZo=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20251223124749-eedb97238c5f/go.mod h1:ex8ou6/3ms6ovR+CMXD6XhTlNakm1GhB6UZgagVRNW8=
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20251206133124-593df0a7a9e1 h1:qcgbrF9c0axkaDcFGfIA2wGz8bkaxPuXHj3mdKAyz6M=
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20251206133124-593df0a7a9e1/go.mod h1:0XsZ6Fc4hTV6a/BBP8+jiH8LR+IP5z9aStdPTDHALNk=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20251230215914-6ba873b49a35 h1:pF3mJ3nwq6r4qwom+rEWZNquZpcQW/iftHlJ1KPIDsk=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20251230215914-6ba873b49a35/go.mod h1:kycZyoe7OZdW1HUghr2nI3N7wSJtNahXf6b/ypD14f4=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20251122131503-b76943960b6c h1:l7FO+XoQRnD4aT5p/JXVY2uezQLdC7D50KrwrTmzCfg=
Expand Down
25 changes: 25 additions & 0 deletions internal/controller/cinder_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ const (
tlsAPIInternalField = ".spec.tls.api.internal.secretName"
tlsAPIPublicField = ".spec.tls.api.public.secretName"
topologyField = ".spec.topologyRef.Name"
authAppCredSecretField = ".spec.auth.applicationCredentialSecret" // #nosec G101
)

var (
Expand All @@ -265,6 +266,7 @@ var (
tlsAPIInternalField,
tlsAPIPublicField,
topologyField,
authAppCredSecretField,
}
)

Expand Down Expand Up @@ -1092,6 +1094,29 @@ func (r *CinderReconciler) generateServiceConfigs(
templateParameters["ServicePassword"] = string(ospSecret.Data[instance.Spec.PasswordSelectors.Service])
templateParameters["KeystoneInternalURL"] = keystoneInternalURL
templateParameters["KeystonePublicURL"] = keystonePublicURL

// Retrieve Application Credential data
Log := r.GetLogger(ctx)
if instance.Spec.Auth.ApplicationCredentialSecret != "" {
secret := &corev1.Secret{}
key := types.NamespacedName{Namespace: instance.Namespace, Name: instance.Spec.Auth.ApplicationCredentialSecret}
if err := h.GetClient().Get(ctx, key, secret); err != nil {
if !k8s_errors.IsNotFound(err) {
Log.Error(err, "Failed to get ApplicationCredential secret", "secret", key)
}
} else {
acID, okID := secret.Data[keystonev1.ACIDSecretKey]
acSecret, okSecret := secret.Data[keystonev1.ACSecretSecretKey]
if okID && len(acID) > 0 && okSecret && len(acSecret) > 0 {
templateParameters["ApplicationCredentialID"] = string(acID)
templateParameters["ApplicationCredentialSecret"] = string(acSecret)
// Add to customData so child controllers can access it
customData["ApplicationCredentialID"] = string(acID)
customData["ApplicationCredentialSecret"] = string(acSecret)
Log.Info("Using ApplicationCredentials auth (centralized from parent Cinder CR)", "secret", key)
}
}
}
templateParameters["TransportURL"] = transportURLSecretData
templateParameters["DatabaseConnection"] = fmt.Sprintf("mysql+pymysql://%s:%s@%s/%s?read_default_file=/etc/my.cnf",
databaseAccount.Spec.UserName,
Expand Down
19 changes: 19 additions & 0 deletions internal/controller/cinderapi_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,15 @@ func (r *CinderAPIReconciler) reconcileNormal(ctx context.Context, instance *cin
// normal reconcile tasks
//

// Verify Application Credential secret if available (optional)
acSecretName := keystonev1.GetACSecretName(cinder.ServiceName)
acSecret := types.NamespacedName{Namespace: instance.Namespace, Name: acSecretName}
acHash, _, err := secret.VerifySecret(ctx, acSecret, []string{keystonev1.ACIDSecretKey, keystonev1.ACSecretSecretKey}, helper.GetClient(), 0)
if err == nil && acHash != "" {
// AC secret exists and is valid - add to configVars for hash tracking
configVars[acSecretName] = env.SetValue(acHash)
}

//
// create hash over all the different input resources to identify if any those changed
// and a restart/recreate is required.
Expand Down Expand Up @@ -1092,6 +1101,16 @@ func (r *CinderAPIReconciler) generateServiceConfigs(
"LogFile": cinderapi.LogFile,
}

// Extract Application Credential data from the parent's config-data secret
Log := r.GetLogger(ctx)
if acID, ok := cinderSecret.Data["ApplicationCredentialID"]; ok && len(acID) > 0 {
if acSecret, ok := cinderSecret.Data["ApplicationCredentialSecret"]; ok && len(acSecret) > 0 {
templateParameters["ApplicationCredentialID"] = string(acID)
templateParameters["ApplicationCredentialSecret"] = string(acSecret)
Log.Info("Using ApplicationCredentials auth from parent Cinder CR")
}
}

configTemplates := []util.Template{
{
Name: fmt.Sprintf("%s-config-data", instance.Name),
Expand Down
25 changes: 19 additions & 6 deletions internal/controller/cinderbackup_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -734,14 +734,27 @@ func (r *CinderBackupReconciler) generateServiceConfigs(
}
customData[cinder.CustomServiceConfigSecretsFileName] = customSecrets

templateParameters := make(map[string]any)

// Extract Application Credential data from the parent's config-data secret
Log := r.GetLogger(ctx)
if acID, ok := cinderSecret.Data["ApplicationCredentialID"]; ok && len(acID) > 0 {
if acSecret, ok := cinderSecret.Data["ApplicationCredentialSecret"]; ok && len(acSecret) > 0 {
templateParameters["ApplicationCredentialID"] = string(acID)
templateParameters["ApplicationCredentialSecret"] = string(acSecret)
Log.Info("Using ApplicationCredentials auth")
}
}

configTemplates := []util.Template{
{
Name: fmt.Sprintf("%s-config-data", instance.Name),
Namespace: instance.Namespace,
Type: util.TemplateTypeConfig,
InstanceType: instance.Kind,
CustomData: customData,
Labels: labels,
Name: fmt.Sprintf("%s-config-data", instance.Name),
Namespace: instance.Namespace,
Type: util.TemplateTypeConfig,
InstanceType: instance.Kind,
CustomData: customData,
ConfigOptions: templateParameters,
Labels: labels,
},
}

Expand Down
25 changes: 19 additions & 6 deletions internal/controller/cinderscheduler_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -732,14 +732,27 @@ func (r *CinderSchedulerReconciler) generateServiceConfigs(
}
customData[cinder.CustomServiceConfigSecretsFileName] = customSecrets

templateParameters := make(map[string]any)

// Extract Application Credential data from the parent's config-data secret
Log := r.GetLogger(ctx)
if acID, ok := cinderSecret.Data["ApplicationCredentialID"]; ok && len(acID) > 0 {
if acSecret, ok := cinderSecret.Data["ApplicationCredentialSecret"]; ok && len(acSecret) > 0 {
templateParameters["ApplicationCredentialID"] = string(acID)
templateParameters["ApplicationCredentialSecret"] = string(acSecret)
Log.Info("Using ApplicationCredentials auth")
}
}

configTemplates := []util.Template{
{
Name: fmt.Sprintf("%s-config-data", instance.Name),
Namespace: instance.Namespace,
Type: util.TemplateTypeConfig,
InstanceType: instance.Kind,
CustomData: customData,
Labels: labels,
Name: fmt.Sprintf("%s-config-data", instance.Name),
Namespace: instance.Namespace,
Type: util.TemplateTypeConfig,
InstanceType: instance.Kind,
CustomData: customData,
ConfigOptions: templateParameters,
Labels: labels,
},
}

Expand Down
Loading
Loading