Skip to content

Commit ec4bec8

Browse files
authored
[patch] patch namespace if it's created and without kyverno label (#112)
1 parent 4cfbabb commit ec4bec8

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

src/mas/devops/ocp.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,17 @@ def createNamespace(dynClient: DynamicClient, namespace: str, kyvernoLabel: str
100100
"""
101101
namespaceAPI = dynClient.resources.get(api_version="v1", kind="Namespace")
102102
try:
103-
namespaceAPI.get(name=namespace)
104-
logger.debug(f"Namespace {namespace} already exists")
103+
ns = namespaceAPI.get(name=namespace)
104+
logger.info(f"Namespace {namespace} already exists")
105+
if kyvernoLabel is not None:
106+
if ns.metadata.labels is None or "ibm.com/kyverno" not in ns.metadata.labels.keys() or ns.metadata.labels["ibm.com/kyverno"] != kyvernoLabel:
107+
logger.info(f"Patching namespace with Kyverno Labels ibm.com/kyverno: {kyvernoLabel}")
108+
body = {"metadata": {"labels": {"ibm.com/kyverno": kyvernoLabel}}}
109+
namespaceAPI.patch(
110+
name=namespace,
111+
body=body,
112+
content_type="application/merge-patch+json"
113+
)
105114
except NotFoundError:
106115
nsObj = {
107116
"apiVersion": "v1",

0 commit comments

Comments
 (0)