From 2b292ba7d3ec2633fe8f51cc23a1a094fc3a2065 Mon Sep 17 00:00:00 2001 From: Pavan <25031267+Pavan-SAP@users.noreply.github.com> Date: Sat, 9 May 2026 15:20:29 +0200 Subject: [PATCH] [Fix] Server: Credentials with metadata considered We already have a utility to parse credentials with metadata! Ensure we use that also when parsing subscription dependency credentials. --- cmd/server/internal/handler.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/cmd/server/internal/handler.go b/cmd/server/internal/handler.go index 73290c5c..ec0fc465 100644 --- a/cmd/server/internal/handler.go +++ b/cmd/server/internal/handler.go @@ -1153,19 +1153,13 @@ func (c *serviceCredentials) xsAppName() string { } func (s *SubscriptionHandler) getServiceDependencies(capApp *v1alpha1.CAPApplication, service v1alpha1.ServiceInfo) map[string]string { - serviceSecretCred, err := s.KubeClienset.CoreV1().Secrets(capApp.Namespace).Get(context.TODO(), service.Secret, metav1.GetOptions{}) + creds, err := util.ReadServiceCredentialsFromSecret[serviceCredentials](&service, capApp.Namespace, s.KubeClienset) if err != nil { util.LogError(err, "Failed to read secret for service", GetDependencies, capApp, nil, "service", service.Name, "secret", service.Secret) return nil } - var creds serviceCredentials - if err = json.Unmarshal(serviceSecretCred.Data["credentials"], &creds); err != nil { - util.LogError(err, "Failed to unmarshal credentials from service secret", GetDependencies, capApp, nil, "service", service.Name, "secret", service.Secret) - return nil - } - - if isServiceRelevantForDependencies(service, &creds) { + if isServiceRelevantForDependencies(service, creds) { if name := creds.xsAppName(); name != "" { return map[string]string{"xsappname": name} }