mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 09:02:53 +00:00
38 lines
979 B
Plaintext
38 lines
979 B
Plaintext
def run(r, fc):
|
|
add = []
|
|
remove = []
|
|
for resource in r:
|
|
if resource.get("metadata") == None:
|
|
resource["metadata"] = {}
|
|
if resource["metadata"].get("annotations") == None:
|
|
resource["metadata"]["annotations"] = {}
|
|
|
|
# Flag for deletion
|
|
if resource["metadata"]["name"] == "delete-me":
|
|
remove.append(resource)
|
|
continue
|
|
|
|
# Deep-ish copy the resource
|
|
cp = dict(resource)
|
|
cp["metadata"] = dict(cp["metadata"])
|
|
cp["metadata"]["annotations"] = dict(cp["metadata"]["annotations"])
|
|
cp["metadata"]["name"] = resource["metadata"]["name"]+"-copy"
|
|
add.append(cp)
|
|
|
|
resource["metadata"]["annotations"]["modified-by"] = fc["metadata"]["name"]
|
|
|
|
# Add something
|
|
new = {
|
|
"kind": "ConfigMap",
|
|
"apiVersion": "v1",
|
|
"metadata": {
|
|
"name": "net-new"
|
|
}
|
|
}
|
|
r.extend(add)
|
|
r.append(new)
|
|
for resource in remove:
|
|
r.remove(resource)
|
|
|
|
run(ctx.resource_list["items"], ctx.resource_list["functionConfig"])
|