Skip to content

Commit 275fece

Browse files
authored
Merge pull request #17 from redhat-cop/main
merge
2 parents 8698648 + 2c43429 commit 275fece

File tree

85 files changed

+855
-175
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+855
-175
lines changed

.github/workflows/pr.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
jobs:
99
shared-operator-workflow:
1010
name: shared-operator-workflow
11-
uses: redhat-cop/github-workflows-operators/.github/workflows/pr-operator.yml@v1.0.5
11+
uses: redhat-cop/github-workflows-operators/.github/workflows/pr-operator.yml@111e0405debdca28ead7616868b14bdde2c79d57 # v1.0.6
1212
with:
1313
RUN_UNIT_TESTS: true
1414
RUN_INTEGRATION_TESTS: true

.github/workflows/push.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
shared-operator-workflow:
1212
name: shared-operator-workflow
13-
uses: redhat-cop/github-workflows-operators/.github/workflows/release-operator.yml@v1.0.5
13+
uses: redhat-cop/github-workflows-operators/.github/workflows/release-operator.yml@111e0405debdca28ead7616868b14bdde2c79d57 # v1.0.6
1414
secrets:
1515
COMMUNITY_OPERATOR_PAT: ${{ secrets.COMMUNITY_OPERATOR_PAT }}
1616
REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }}

Makefile

Lines changed: 67 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,20 @@ CHART_REPO_URL ?= http://example.com
22
HELM_REPO_DEST ?= /tmp/gh-pages
33
OPERATOR_NAME ?=$(shell basename -z `pwd`)
44
HELM_VERSION ?= v3.11.0
5-
KIND_VERSION ?= v0.17.0
6-
KUBECTL_VERSION ?= v1.25.3
7-
K8S_MAJOR_VERSION ?= 1.25
8-
VAULT_VERSION ?= 1.12.2
9-
5+
KIND_VERSION ?= v0.20.0
6+
KUBECTL_VERSION ?= v1.27.3
7+
K8S_MAJOR_VERSION ?= 1.27
8+
KUSTOMIZE_VERSION ?= v3.8.7
9+
CONTROLLER_TOOLS_VERSION ?= v0.11.1
10+
# Note changes to the vault version should also match image tags within the integration/vault-values.yaml and config/local-development/vault-values.yaml files
11+
VAULT_VERSION ?= 1.14.0
12+
# The vault version should also match the appVersion in the vault helm chart
13+
VAULT_CHART_VERSION ?= 0.25.0
14+
# Set the Operator SDK version to use. By default, what is installed on the system is used.
15+
# This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit.
16+
OPERATOR_SDK_VERSION ?= v1.31.0
17+
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
18+
ENVTEST_K8S_VERSION ?= 1.26.0
1019

1120
# VERSION defines the project version for the bundle.
1221
# Update this value when you upgrade the version of your project.
@@ -60,8 +69,6 @@ BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION)
6069
IMG ?= controller:latest
6170
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
6271
CRD_OPTIONS ?= "crd:trivialVersions=true,preserveUnknownFields=false"
63-
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
64-
ENVTEST_K8S_VERSION ?= 1.26.0
6572

6673
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
6774
ifeq (,$(shell go env GOBIN))
@@ -118,10 +125,11 @@ vet: ## Run go vet against code.
118125
test: manifests generate fmt vet envtest ## Run tests.
119126
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" go test ./... -coverprofile cover.out
120127

128+
# note: envtest requires docker, podman will not work
121129
.PHONY: integration
122130
integration: kind-setup deploy-vault deploy-ingress vault manifests generate fmt vet envtest ## Run tests.
123131
export VAULT_TOKEN=$$($(KUBECTL) get secret vault-init -n vault -o jsonpath='{.data.root_token}' | base64 -d) ;\
124-
export VAULT_ADDR="http://localhost:8081" ;\
132+
export VAULT_ADDR="http://localhost:8200" ;\
125133
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" go test ./... -coverprofile cover.out --tags=integration
126134

127135
.PHONY: deploy-ingress
@@ -133,18 +141,18 @@ deploy-ingress: kubectl helm
133141

134142
.PHONY: deploy-vault
135143
deploy-vault: kubectl helm
136-
$(KUBECTL) create namespace vault --dry-run=client -o yaml | kubectl apply -f -
144+
$(KUBECTL) create namespace vault --dry-run=client -o yaml | $(KUBECTL) apply -f -
137145
$(KUBECTL) apply -f ./integration/rolebinding-admin.yaml -n vault
138146
$(HELM) repo add hashicorp https://helm.releases.hashicorp.com
139-
$(HELM) upgrade vault hashicorp/vault -i --create-namespace -n vault --atomic -f ./integration/vault-values.yaml
147+
$(HELM) show chart hashicorp/vault --version $(VAULT_CHART_VERSION)
148+
$(HELM) upgrade vault hashicorp/vault --version $(VAULT_CHART_VERSION) -i --create-namespace -n vault --atomic -f ./integration/vault-values.yaml
140149
$(KUBECTL) wait --for=condition=ready pod/vault-0 -n vault --timeout=5m
141150

142151
.PHONY: kind-setup
143152
kind-setup: kind
144153
$(KIND) delete cluster
145154
$(KIND) create cluster --image docker.io/kindest/node:$(KUBECTL_VERSION) --config=./integration/cluster-kind.yaml
146155

147-
148156
.PHONY: ldap-setup
149157
ldap-setup: kind-setup vault
150158
## Deploy LDAP Instance in ldap namespace
@@ -164,7 +172,6 @@ ldap-setup: kind-setup vault
164172
## Login with LDAP user (check database.ldiff for its membership)
165173
$(VAULT) login -method=ldap -path=ldap/test/ username=trevor password=admin
166174

167-
168175
##@ Build
169176

170177
.PHONY: build
@@ -195,7 +202,7 @@ install: manifests kustomize kubectl ## Install CRDs into the K8s cluster specif
195202

196203
.PHONY: uninstall
197204
uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
198-
$(KUSTOMIZE) build config/crd | kubectl delete --ignore-not-found=$(ignore-not-found) -f -
205+
$(KUSTOMIZE) build config/crd | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f -
199206

200207
.PHONY: deploy
201208
deploy: manifests kustomize kubectl ## Deploy controller to the K8s cluster specified in ~/.kube/config.
@@ -204,43 +211,37 @@ deploy: manifests kustomize kubectl ## Deploy controller to the K8s cluster spec
204211

205212
.PHONY: undeploy
206213
undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
207-
$(KUSTOMIZE) build config/default | kubectl delete --ignore-not-found=$(ignore-not-found) -f -
208-
214+
$(KUSTOMIZE) build config/default | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f -
209215

210216
LOCALBIN ?= $(shell pwd)/bin
211217
$(LOCALBIN):
212218
mkdir -p $(LOCALBIN)
213219

214-
## Tool Binaries
215-
KUSTOMIZE ?= $(LOCALBIN)/kustomize
216-
CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
217-
ENVTEST ?= $(LOCALBIN)/setup-envtest
218-
219-
KUSTOMIZE_VERSION ?= v3.8.7
220-
CONTROLLER_TOOLS_VERSION ?= v0.10.0
221-
222220
KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
223221
.PHONY: kustomize
222+
KUSTOMIZE ?= $(LOCALBIN)/kustomize
224223
kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary.
225224
$(KUSTOMIZE): $(LOCALBIN)
226225
test -s $(LOCALBIN)/kustomize || { curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); }
227226

228227
.PHONY: controller-gen
228+
CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
229229
controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary.
230230
$(CONTROLLER_GEN): $(LOCALBIN)
231-
test -s $(LOCALBIN)/controller-gen || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION)
231+
test -s $(LOCALBIN)/controller-gen || echo "Downloading controller-gen to ${CONTROLLER_GEN}..." && GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION)
232232

233233
.PHONY: envtest
234+
ENVTEST ?= $(LOCALBIN)/setup-envtest
234235
envtest: $(ENVTEST) ## Download envtest-setup locally if necessary.
235236
$(ENVTEST): $(LOCALBIN)
236-
test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
237+
test -s $(LOCALBIN)/setup-envtest || echo "Downloading setup-envtest to ${ENVTEST}..." && GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
237238

238239
.PHONY: bundle
239-
bundle: manifests kustomize ## Generate bundle manifests and metadata, then validate generated files.
240-
operator-sdk generate kustomize manifests --interactive=false -q
240+
bundle: manifests kustomize operator-sdk ## Generate bundle manifests and metadata, then validate generated files.
241+
$(OPERATOR_SDK) generate kustomize manifests --interactive=false -q
241242
cd config/manager && $(KUSTOMIZE) edit set image controller=$(IMG)
242-
$(KUSTOMIZE) build config/manifests | operator-sdk generate bundle $(BUNDLE_GEN_FLAGS)
243-
operator-sdk bundle validate ./bundle
243+
$(KUSTOMIZE) build config/manifests | $(OPERATOR_SDK) generate bundle $(BUNDLE_GEN_FLAGS)
244+
$(OPERATOR_SDK) bundle validate ./bundle
244245

245246
.PHONY: bundle-build
246247
bundle-build: ## Build the bundle image.
@@ -251,7 +252,7 @@ bundle-push: ## Push the bundle image.
251252
$(MAKE) docker-push IMG=$(BUNDLE_IMG)
252253

253254
.PHONY: opm
254-
OPM = ./bin/opm
255+
OPM ?= $(LOCALBIN)/opm
255256
opm: ## Download opm locally if necessary.
256257
ifeq (,$(wildcard $(OPM)))
257258
ifeq (,$(shell which opm 2>/dev/null))
@@ -304,8 +305,9 @@ helmchart: helmchart-clean kustomize helm
304305
cp ./config/helmchart/templates/* ./charts/${OPERATOR_NAME}/templates
305306
version=${VERSION} envsubst < ./config/helmchart/Chart.yaml.tpl > ./charts/${OPERATOR_NAME}/Chart.yaml
306307
version=${VERSION} image_repo=$${IMG%:*} envsubst < ./config/helmchart/values.yaml.tpl > ./charts/${OPERATOR_NAME}/values.yaml
307-
sed -i '1s/^/{{ if .Values.enableMonitoring }}/' ./charts/${OPERATOR_NAME}/templates/monitoring.coreos.com_v1_servicemonitor_${OPERATOR_NAME}-controller-manager-metrics-monitor.yaml
308-
echo {{ end }} >> ./charts/${OPERATOR_NAME}/templates/monitoring.coreos.com_v1_servicemonitor_${OPERATOR_NAME}-controller-manager-metrics-monitor.yaml
308+
sed -i '1s/^/{{- if .Values.enableMonitoring }}\n/' ./charts/${OPERATOR_NAME}/templates/monitoring.coreos.com_v1_servicemonitor_${OPERATOR_NAME}-controller-manager-metrics-monitor.yaml
309+
echo {{- end }} >> ./charts/${OPERATOR_NAME}/templates/monitoring.coreos.com_v1_servicemonitor_${OPERATOR_NAME}-controller-manager-metrics-monitor.yaml
310+
sed -i 's/name: vault-config-operator-certs/{{- if .Values.enableCertManager }}\n name: vault-config-operator-metrics-service-cert\n {{- else }}\n name: vault-config-operator-certs\n {{- end }}/' ./charts/${OPERATOR_NAME}/templates/monitoring.coreos.com_v1_servicemonitor_${OPERATOR_NAME}-controller-manager-metrics-monitor.yaml
309311
$(HELM) lint ./charts/${OPERATOR_NAME}
310312

311313
.PHONY: helmchart-repo
@@ -351,59 +353,63 @@ helmchart-clean:
351353
rm -rf ./charts
352354

353355
.PHONY: kind
354-
KIND = ./bin/kind
355-
kind: ## Download kind locally if necessary.
356-
ifeq (,$(wildcard $(KIND)))
357-
ifeq (,$(shell which kind 2>/dev/null))
358-
$(call go-get-tool,$(KIND),sigs.k8s.io/kind@${KIND_VERSION})
359-
else
360-
KIND = $(shell which kind)
361-
endif
362-
endif
356+
KIND ?= $(LOCALBIN)/kind
357+
kind: $(KIND) ## Download kind locally if necessary.
358+
$(KIND): $(LOCALBIN)
359+
test -s $(LOCALBIN)/kind || echo "Downloading kind to ${KIND}..." && GOBIN=$(LOCALBIN) go install sigs.k8s.io/kind@${KIND_VERSION}
363360

364361
.PHONY: kubectl
365-
KUBECTL = ./bin/kubectl
362+
KUBECTL ?= $(LOCALBIN)/kubectl
366363
kubectl: ## Download kubectl locally if necessary.
367364
ifeq (,$(wildcard $(KUBECTL)))
368-
ifeq (,$(shell which kubectl 2>/dev/null))
369-
echo "Downloading ${KUBECTL} for managing k8s resources."
365+
@{ \
366+
set -e ;\
367+
echo "Downloading kubectl to ${KUBECTL}..." ;\
370368
OS=$(shell go env GOOS) ;\
371369
ARCH=$(shell go env GOARCH) ;\
372370
curl --create-dirs -sSLo ${KUBECTL} https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/$${OS}/$${ARCH}/kubectl ;\
373-
chmod +x ${KUBECTL}
374-
else
375-
KUBECTL = $(shell which kubectl)
376-
endif
371+
chmod +x ${KUBECTL} ;\
372+
}
377373
endif
378374

379375
.PHONY: vault
380-
VAULT = ./bin/vault
376+
VAULT ?= $(LOCALBIN)/vault
381377
vault: ## Download vault cli locally if necessary.
382378
ifeq (,$(wildcard $(VAULT)))
383-
ifeq (,$(shell which vault 2>/dev/null))
384-
echo "Downloading ${VAULT} cli."
379+
echo "Downloading vault to ${VAULT}..."
385380
OS=$(shell go env GOOS) ;\
386381
ARCH=$(shell go env GOARCH) ;\
387382
curl --create-dirs -sSLo ${VAULT}.zip https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_$${OS}_$${ARCH}.zip ;\
388-
unzip ${VAULT}.zip -d ./bin/ ;\
383+
unzip ${VAULT}.zip -d $(LOCALBIN)/ ;\
389384
chmod +x ${VAULT}
390-
else
391-
VAULT = $(shell which vault)
392-
endif
393385
endif
394386

395387
.PHONY: helm
396-
HELM = ./bin/helm
388+
HELM ?= $(LOCALBIN)/helm
397389
helm: ## Download helm locally if necessary.
398390
ifeq (,$(wildcard $(HELM)))
399-
ifeq (,$(shell which helm 2>/dev/null))
400-
echo "Downloading ${HELM}."
391+
echo "Downloading helm to ${HELM}..."
401392
OS=$(shell go env GOOS) ;\
402393
ARCH=$(shell go env GOARCH) ;\
403394
curl --create-dirs -sSLo ${HELM}.tar.gz https://get.helm.sh/helm-${HELM_VERSION}-$${OS}-$${ARCH}.tar.gz ;\
404-
tar -xf ${HELM}.tar.gz -C ./bin/ ;\
395+
tar -xf ${HELM}.tar.gz -C $(LOCALBIN)/ ;\
405396
mv ./bin/$${OS}-$${ARCH}/helm ${HELM}
406-
else
407-
HELM = $(shell which helm)
408397
endif
398+
399+
.PHONY: operator-sdk
400+
OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk
401+
operator-sdk: ## Download operator-sdk locally if necessary.
402+
ifeq (,$(wildcard $(OPERATOR_SDK)))
403+
@{ \
404+
set -e ;\
405+
echo "Downloading operator-sdk to $(OPERATOR_SDK)..." ;\
406+
mkdir -p $(dir $(OPERATOR_SDK)) ;\
407+
OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \
408+
curl -sSLo $(OPERATOR_SDK) https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$${OS}_$${ARCH} ;\
409+
chmod +x $(OPERATOR_SDK) ;\
410+
}
409411
endif
412+
413+
.PHONY: clean
414+
clean:
415+
rm -rf $(LOCALBIN) ./bundle ./bundle-* ./charts

api/v1alpha1/authenginemount_types.go

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,18 @@ type AuthEngineMountSpec struct {
4646
// The authentication role must have the following capabilities = [ "create", "read", "update", "delete"] on that path /sys/auth/{[spec.authentication.namespace]}/{spec.path}/{metadata.name}.
4747
// +kubebuilder:validation:Required
4848
Path vaultutils.Path `json:"path,omitempty"`
49+
50+
// The name of the obejct created in Vault. If this is specified it takes precedence over {metatada.name}
51+
// +kubebuilder:validation:Optional
52+
// +kubebuilder:validation:Pattern:=`[a-z0-9]([-a-z0-9]*[a-z0-9])?`
53+
Name string `json:"name,omitempty"`
54+
}
55+
56+
func (d *AuthEngineMount) GetPath() string {
57+
if d.Spec.Name != "" {
58+
return vaultutils.CleansePath(d.GetEngineListPath() + "/" + string(d.Spec.Path) + "/" + d.Spec.Name)
59+
}
60+
return vaultutils.CleansePath(d.GetEngineListPath() + "/" + string(d.Spec.Path) + "/" + d.Name)
4961
}
5062

5163
type AuthMount struct {
@@ -83,7 +95,7 @@ type AuthMountConfig struct {
8395
// AuditNonHMACRequestKeys list of keys that will not be HMAC'd by audit devices in the request data object.
8496
// +kubebuilder:validation:Optional
8597
// +listType=set
86-
// kubebuilder:validation:UniqueItems=true
98+
// kubebuilder:validation:UniqueItems:=true
8799
AuditNonHMACRequestKeys []string `json:"auditNonHMACRequestKeys,omitempty"`
88100

89101
// AuditNonHMACResponseKeys list of keys that will not be HMAC'd by audit devices in the response data object.
@@ -101,7 +113,7 @@ type AuthMountConfig struct {
101113
// PassthroughRequestHeaders list of headers to whitelist and pass from the request to the plugin.
102114
// +kubebuilder:validation:Optional
103115
// +listType=set
104-
// kubebuilder:validation:UniqueItems=true
116+
// kubebuilder:validation:UniqueItems:=true
105117
PassthroughRequestHeaders []string `json:"passthroughRequestHeaders,omitempty"`
106118

107119
// AllowedResponseHeaders list of headers to whitelist, allowing a plugin to include them in the response.
@@ -161,10 +173,6 @@ func (d *AuthEngineMount) GetKubeAuthConfiguration() *vaultutils.KubeAuthConfigu
161173
return &d.Spec.Authentication
162174
}
163175

164-
func (d *AuthEngineMount) GetPath() string {
165-
return vaultutils.CleansePath(d.GetEngineListPath() + "/" + string(d.Spec.Path) + "/" + d.Name)
166-
}
167-
168176
func (d *AuthEngineMount) GetPayload() map[string]interface{} {
169177
return d.Spec.toMap()
170178
}
@@ -185,6 +193,10 @@ func (d *AuthEngineMount) PrepareInternalValues(context context.Context, object
185193
return nil
186194
}
187195

196+
func (d *AuthEngineMount) PrepareTLSConfig(context context.Context, object client.Object) error {
197+
return nil
198+
}
199+
188200
func (d *AuthEngineMount) GetEngineListPath() string {
189201
return "sys/auth"
190202
}

api/v1alpha1/databasesecretengineconfig_types.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ type DatabaseSecretEngineConfigSpec struct {
5656
// RootCredentials specifies how to retrieve the credentials for this DatabaseEngine connection.
5757
// +kubebuilder:validation:Required
5858
RootCredentials vaultutils.RootCredentialConfig `json:"rootCredentials,omitempty"`
59+
60+
// The name of the obejct created in Vault. If this is specified it takes precedence over {metatada.name}
61+
// +kubebuilder:validation:Optional
62+
// +kubebuilder:validation:Pattern:=`[a-z0-9]([-a-z0-9]*[a-z0-9])?`
63+
Name string `json:"name,omitempty"`
5964
}
6065

6166
var _ vaultutils.VaultObject = &DatabaseSecretEngineConfig{}
@@ -65,10 +70,16 @@ func (d *DatabaseSecretEngineConfig) GetVaultConnection() *vaultutils.VaultConne
6570
}
6671

6772
func (d *DatabaseSecretEngineConfig) GetPath() string {
68-
return string(d.Spec.Path) + "/" + "config" + "/" + d.Name
73+
if d.Spec.Name != "" {
74+
return vaultutils.CleansePath(string(d.Spec.Path) + "/" + "config" + "/" + d.Spec.Name)
75+
}
76+
return vaultutils.CleansePath(string(d.Spec.Path) + "/" + "config" + "/" + d.Name)
6977
}
7078
func (d *DatabaseSecretEngineConfig) GetRootPasswordRotationPath() string {
71-
return string(d.Spec.Path) + "/" + "rotate-root" + "/" + d.Name
79+
if d.Spec.Name != "" {
80+
return vaultutils.CleansePath(string(d.Spec.Path) + "/" + "rotate-root" + "/" + d.Spec.Name)
81+
}
82+
return vaultutils.CleansePath(string(d.Spec.Path) + "/" + "rotate-root" + "/" + d.Name)
7283
}
7384
func (d *DatabaseSecretEngineConfig) GetPayload() map[string]interface{} {
7485
return d.Spec.toMap()
@@ -110,6 +121,10 @@ func (d *DatabaseSecretEngineConfig) PrepareInternalValues(context context.Conte
110121
return d.setInternalCredentials(context)
111122
}
112123

124+
func (d *DatabaseSecretEngineConfig) PrepareTLSConfig(context context.Context, object client.Object) error {
125+
return nil
126+
}
127+
113128
func (r *DatabaseSecretEngineConfig) IsValid() (bool, error) {
114129
err := r.isValid()
115130
return err == nil, err

0 commit comments

Comments
 (0)