Skip to content

Commit e858aeb

Browse files
authored
hotfix: enable external secret stores panic (#19)
* hotfix: enable external secret stores panic Signed-off-by: Ismail KABOUBI <ikaboubi@gmail.com> * goimported Signed-off-by: Ismail KABOUBI <ikaboubi@gmail.com> * fix up_version in makefile Signed-off-by: Ismail KABOUBI <ikaboubi@gmail.com> * update gitsubmodule Signed-off-by: Ismail KABOUBI <ikaboubi@gmail.com> * fix crossplane version for local-deploy Signed-off-by: Ismail KABOUBI <ikaboubi@gmail.com> --------- Signed-off-by: Ismail KABOUBI <ikaboubi@gmail.com>
1 parent 201ae92 commit e858aeb

22 files changed

+164
-17
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[submodule "build"]
22
path = build
3-
url = https://github.com/upbound/build
3+
url = https://github.com/crossplane/build

Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,11 @@ GO_SUBDIRS += cmd internal apis
5050
# ====================================================================================
5151
# Setup Kubernetes tools
5252

53-
KIND_VERSION = v0.15.0
54-
UP_VERSION = v0.18.0
53+
KIND_VERSION = v0.24.0
54+
UP_VERSION = v0.33.0
5555
UP_CHANNEL = stable
56-
UPTEST_VERSION = v0.5.0
56+
UPTEST_VERSION = v1.1.2
57+
CROSSPLANE_VERSION = v1.17.1
5758
-include build/makelib/k8s_tools.mk
5859

5960
# ====================================================================================

apis/cloud/v1alpha1/zz_generated.deepcopy.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/cloud/v1alpha1/zz_generated.resolvers.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/gateway/v1alpha1/zz_generated.deepcopy.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/gateway/v1alpha1/zz_generated.resolvers.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/kube/v1alpha1/zz_generated.deepcopy.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/kube/v1alpha1/zz_generated.resolvers.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/me/v1alpha1/zz_generated.deepcopy.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/me/v1alpha1/zz_generated.resolvers.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/network/v1alpha1/zz_generated.deepcopy.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/network/v1alpha1/zz_generated.resolvers.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/registry/v1alpha1/zz_generated.deepcopy.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/registry/v1alpha1/zz_generated.resolvers.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cmd/provider/main.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
"path/filepath"
1111
"time"
1212

13+
"github.com/crossplane/crossplane-runtime/pkg/certificates"
14+
1315
xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
1416
xpcontroller "github.com/crossplane/crossplane-runtime/pkg/controller"
1517
"github.com/crossplane/crossplane-runtime/pkg/feature"
@@ -43,10 +45,10 @@ func main() {
4345
leaderElection = app.Flag("leader-election", "Use leader election for the controller manager.").Short('l').Default("false").OverrideDefaultFromEnvar("LEADER_ELECTION").Bool()
4446
maxReconcileRate = app.Flag("max-reconcile-rate", "The global maximum rate per second at which resources may be checked for drift from the desired state.").Default("10").Int()
4547

46-
terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String()
47-
providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String()
48-
providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String()
49-
48+
terraformVersion = app.Flag("terraform-version", "Terraform version.").Required().Envar("TERRAFORM_VERSION").String()
49+
providerSource = app.Flag("terraform-provider-source", "Terraform provider source.").Required().Envar("TERRAFORM_PROVIDER_SOURCE").String()
50+
providerVersion = app.Flag("terraform-provider-version", "Terraform provider version.").Required().Envar("TERRAFORM_PROVIDER_VERSION").String()
51+
essTLSCertsPath = app.Flag("ess-tls-cert-dir", "Path of ESS TLS certificates.").Envar("ESS_TLS_CERTS_DIR").String()
5052
namespace = app.Flag("namespace", "Namespace used to set as default scope in default secret store config.").Default("crossplane-system").Envar("POD_NAMESPACE").String()
5153
enableExternalSecretStores = app.Flag("enable-external-secret-stores", "Enable support for ExternalSecretStores.").Default("false").Envar("ENABLE_EXTERNAL_SECRET_STORES").Bool()
5254
enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for Management Policies.").Default("true").Envar("ENABLE_MANAGEMENT_POLICIES").Bool()
@@ -99,6 +101,15 @@ func main() {
99101
o.SecretStoreConfigGVK = &v1alpha1.StoreConfigGroupVersionKind
100102
log.Info("Alpha feature enabled", "flag", features.EnableAlphaExternalSecretStores)
101103

104+
o.ESSOptions = &tjcontroller.ESSOptions{}
105+
if *essTLSCertsPath != "" {
106+
log.Info("ESS TLS certificates path is set. Loading mTLS configuration.")
107+
tCfg, err := certificates.LoadMTLSConfig(filepath.Join(*essTLSCertsPath, "ca.crt"), filepath.Join(*essTLSCertsPath, "tls.crt"), filepath.Join(*essTLSCertsPath, "tls.key"), false)
108+
kingpin.FatalIfError(err, "Cannot load ESS TLS config.")
109+
110+
o.ESSOptions.TLSConfig = tCfg
111+
}
112+
102113
// Ensure default store config exists.
103114
kingpin.FatalIfError(resource.Ignore(kerrors.IsAlreadyExists, mgr.GetClient().Create(context.Background(), &v1alpha1.StoreConfig{
104115
ObjectMeta: metav1.ObjectMeta{
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: network.ovh.edixos.io/v1alpha1
2+
kind: PrivateNetwork
3+
metadata:
4+
name: sample-1
5+
labels:
6+
managed-by: crossplane
7+
spec:
8+
providerConfigRef:
9+
name: default
10+
forProvider:
11+
name: sample-1
12+
serviceName: 21658141411b4c9bb0bf863be8e8c369
13+
regions:
14+
- GRA11
15+
16+

examples/databases/redis.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: databases.ovh.edixos.io/v1alpha1
2+
kind: ProjectDatabase
3+
metadata:
4+
name: demo-0
5+
namespace: default
6+
spec:
7+
providerConfigRef:
8+
name: default
9+
forProvider:
10+
serviceName: 21658141411b4c9bb0bf863be8e8c369
11+
engine: redis
12+
version: "7.0"
13+
plan: "essential"
14+
flavor: db1-4
15+
nodes:
16+
- networkId: 0c2bf126-396d-4de2-bc1e-b9bfbd54bdfb
17+
subnetId: c63562ac-d061-4c8f-b65f-2e72e4db8a25
18+
region: GRA
19+
writeConnectionSecretToRef:
20+
name: redis-demo-0
21+
namespace: default
22+
# publishConnectionDetailsTo:
23+
# configRef:
24+
# # name: staging-01
25+
# name: staging-01
26+
# name: redis-demo-0
27+
#---
28+
#apiVersion: ovh.edixos.io/v1alpha1
29+
#kind: StoreConfig
30+
#metadata:
31+
# name: staging-01
32+
#spec:
33+
# defaultScope: crossplane-system
34+
# type: Kubernetes

examples/databases/subnet.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: network.ovh.edixos.io/v1alpha1
2+
kind: Subnet
3+
metadata:
4+
name: subnet-1
5+
labels:
6+
managed-by: crossplane
7+
spec:
8+
providerConfigRef:
9+
name: default
10+
forProvider:
11+
serviceName: 21658141411b4c9bb0bf863be8e8c369
12+
networkIdRef:
13+
name: sample-1
14+
region: GRA11
15+
start: 192.168.168.100
16+
end: 192.168.168.200
17+
network: 192.168.168.0/24
18+
dhcp: true
19+
noGateway: false
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
apiVersion: databases.ovh.edixos.io/v1alpha1
2+
kind: ProjectDatabaseRedisUser
3+
metadata:
4+
name: user-1
5+
labels:
6+
managed-by: crossplane
7+
spec:
8+
forProvider:
9+
serviceName: 21658141411b4c9bb0bf863be8e8c369
10+
clusterId: e6d531ef-acb5-4a73-b0b6-9205a729f8f5
11+
channels:
12+
- "*"
13+
commands:
14+
- +get
15+
- -set
16+
keys:
17+
- data
18+
- properties
19+
name: user-1
20+
publishConnectionDetailsTo:
21+
name: user-1
22+
metadata:
23+
labels:
24+
managed-by: crossplane
25+
configRef:
26+
name: staging-01
27+
---
28+
apiVersion: ovh.edixos.io/v1alpha1
29+
kind: StoreConfig
30+
metadata:
31+
name: staging-01
32+
spec:
33+
defaultScope: default
34+
type: Kubernetes
35+

examples/databases/user.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
apiVersion: databases.ovh.edixos.io/v1alpha1
2+
kind: ProjectDatabaseRedisUser
3+
metadata:
4+
name: user-1
5+
labels:
6+
managed-by: crossplane
7+
spec:
8+
forProvider:
9+
serviceName: 21658141411b4c9bb0bf863be8e8c369
10+
clusterId: e6d531ef-acb5-4a73-b0b6-9205a729f8f5
11+
channels:
12+
- "*"
13+
commands:
14+
- +get
15+
- -set
16+
keys:
17+
- data
18+
- properties
19+
name: user-1
20+
writeConnectionSecretToRef:
21+
name: user-1
22+
namespace: default

examples/install.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: Provider
33
metadata:
44
name: provider-ovh
55
spec:
6-
package: xpkg.upbound.io/edixos/provider-ovh:v0.1.4
6+
package: xpkg.upbound.io/edixos/provider-ovh:v0.40.0
77
runtimeConfigRef:
88
name: provider-ovh
99
---
@@ -20,4 +20,7 @@ spec:
2020
containers:
2121
- name: package-runtime
2222
args:
23-
- --debug
23+
- --debug
24+
- --enable-management-policies
25+
- --enable-external-secret-stores
26+

0 commit comments

Comments
 (0)