Fix registry secret created in wrong namespace
Some checks failed
Lint Checks / Run linter (push) Failing after 55m3s
Smoke Test / Run basic test suite (pull_request) Has been cancelled
Webapp Test / Run webapp test suite (pull_request) Has been cancelled
K8s Deployment Control Test / Run deployment control suite on kind/k8s (pull_request) Has been cancelled
K8s Deploy Test / Run deploy test suite on kind/k8s (pull_request) Has been cancelled
Lint Checks / Run linter (pull_request) Has been cancelled
Deploy Test / Run deploy test suite (pull_request) Has been cancelled

create_registry_secret() was hardcoded to use the "default" namespace,
but pods are deployed to the spec's configured namespace. The secret
must be in the same namespace as the pods for imagePullSecrets to work.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Prathamesh Musale 2026-03-26 06:43:15 +00:00
parent e7483bc7d1
commit d288b0984c
2 changed files with 3 additions and 3 deletions

View File

@ -577,7 +577,7 @@ def _generate_and_store_secrets(config_vars: dict, deployment_name: str):
return secrets
def create_registry_secret(spec: Spec, deployment_name: str) -> Optional[str]:
def create_registry_secret(spec: Spec, deployment_name: str, namespace: str = "default") -> Optional[str]:
"""Create K8s docker-registry secret from spec + environment.
Reads registry configuration from spec.yml and creates a Kubernetes
@ -586,6 +586,7 @@ def create_registry_secret(spec: Spec, deployment_name: str) -> Optional[str]:
Args:
spec: The deployment spec containing image-registry config
deployment_name: Name of the deployment (used for secret naming)
namespace: Kubernetes namespace to create the secret in
Returns:
The secret name if created, None if no registry config
@ -633,7 +634,6 @@ def create_registry_secret(spec: Spec, deployment_name: str) -> Optional[str]:
return None
v1 = client.CoreV1Api()
namespace = "default"
k8s_secret = client.V1Secret(
metadata=client.V1ObjectMeta(name=secret_name),

View File

@ -504,7 +504,7 @@ class K8sDeployer(Deployer):
# Create registry secret if configured
from stack_orchestrator.deploy.deployment_create import create_registry_secret
create_registry_secret(self.cluster_info.spec, self.cluster_info.app_name)
create_registry_secret(self.cluster_info.spec, self.cluster_info.app_name, self.k8s_namespace)
self._create_volume_data()
self._create_deployment()