Skip to content

Commit d440ad1

Browse files
svorclaude
andcommitted
fix: Use NonCachingClient to look up user-provided secrets
The cached client only tracks operator-managed secrets, so user-created secrets were not visible during reconciliation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 485278a commit d440ad1

2 files changed

Lines changed: 18 additions & 10 deletions

File tree

bundle/next/eclipse-che/manifests/che-operator.clusterserviceversion.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ metadata:
8686
categories: Developer Tools
8787
certified: "false"
8888
containerImage: quay.io/eclipse/che-operator:next
89-
createdAt: "2026-06-16T12:46:18Z"
89+
createdAt: "2026-06-17T11:32:24Z"
9090
description: A Kube-native development solution that delivers portable and collaborative
9191
developer workspaces.
9292
features.operators.openshift.io/cnf: "false"
@@ -108,7 +108,7 @@ metadata:
108108
operatorframework.io/arch.amd64: supported
109109
operatorframework.io/arch.arm64: supported
110110
operatorframework.io/os.linux: supported
111-
name: eclipse-che.v7.119.0-1020.next
111+
name: eclipse-che.v7.119.0-1021.next
112112
namespace: placeholder
113113
spec:
114114
apiservicedefinitions: {}
@@ -1166,7 +1166,7 @@ spec:
11661166
name: openvsx
11671167
- image: quay.io/sclorg/postgresql-16-c9s:20260319
11681168
name: openvsx-postgres
1169-
version: 7.119.0-1020.next
1169+
version: 7.119.0-1021.next
11701170
webhookdefinitions:
11711171
- admissionReviewVersions:
11721172
- v1

pkg/deploy/openvsx/database/openvsx_database.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,27 +96,35 @@ var requiredSecretKeys = []string{
9696
func (p *OpenVSXDatabaseReconciler) syncSecret(ctx *chetypes.DeployContext) (bool, error) {
9797
secretName := GetCredentialsSecretName(ctx)
9898

99+
if isUserProvidedSecret(ctx) {
100+
secret := &corev1.Secret{}
101+
err := ctx.ClusterAPI.NonCachingClient.Get(context.TODO(), types.NamespacedName{
102+
Name: secretName,
103+
Namespace: ctx.CheCluster.Namespace,
104+
}, secret)
105+
if err != nil {
106+
if errors.IsNotFound(err) {
107+
return false, fmt.Errorf("credentials secret '%s' not found", secretName)
108+
}
109+
return false, err
110+
}
111+
return validateSecretKeys(secret)
112+
}
113+
99114
secret := &corev1.Secret{}
100115
err := ctx.ClusterAPI.Client.Get(context.TODO(), types.NamespacedName{
101116
Name: secretName,
102117
Namespace: ctx.CheCluster.Namespace,
103118
}, secret)
104119

105120
if err == nil {
106-
if isUserProvidedSecret(ctx) {
107-
return validateSecretKeys(secret)
108-
}
109121
return true, nil
110122
}
111123

112124
if !errors.IsNotFound(err) {
113125
return false, err
114126
}
115127

116-
if isUserProvidedSecret(ctx) {
117-
return false, fmt.Errorf("credentials secret '%s' not found", secretName)
118-
}
119-
120128
secret = &corev1.Secret{
121129
TypeMeta: metav1.TypeMeta{
122130
Kind: "Secret",

0 commit comments

Comments
 (0)