Closed bigkevmcd closed 1 year ago
There's more that can be done to this...
Was having trouble getting my little configmap updating
apiVersion: templates.weave.works/v1alpha1
kind: GitOpsSet
metadata:
name: gitopsset-configmaps
namespace: default
spec:
generators:
- pullRequests:
interval: 1m
driver: github
repo: foot/wge-dev
serverURL: https://github.com
secretRef:
name: my-github-secret
templates:
- content:
kind: ConfigMap
apiVersion: v1
metadata:
name: "pr-{{ .element.number }}-info-configmap"
namespace: default
spec:
data:
foo: bar
bar: foo
number: "{{ .element.number }}"
dump: |
{{ .element.number }}
I deleted the configmap to see if it would re-gen but we get
❯ kubectl get gitopssets
NAME AGE READY STATUS
gitopsset-configmaps 37m False failed to load existing Resource: configmaps "pr-1-info-configmap" not found
We should re-gen in this case I guess?
Update: ConfigMap's don't have a spec 🤦
Not sure what is happening exactly yet.
❯ kubectl create configmap pr-1-info-configmap
configmap/pr-1-info-configmap created
❯ kubectl get gitopssets
NAME AGE READY STATUS
gitopsset-configmaps 38m True 1 resources created
❯ kubectl get configmap pr-1-info-configmap -oyaml
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: "2023-01-31T09:47:35Z"
name: pr-1-info-configmap
namespace: default
resourceVersion: "13604"
uid: fed849a4-1cfb-48cb-b8ca-12126efba7dd
templates:
- content:
kind: ConfigMap
apiVersion: v1
metadata:
name: "pr-{{ .element.number }}-info-configmap"
namespace: default
data:
foo: bar
number: "{{ .element.number }}"
dump: |
{{ .element | toRawJson }}
Gives a
gitopsset-configmaps 47m False failed to render template params for set gitopsset-configmaps: failed to parse rendered template: json: offset 38: invalid character 'b' after object key:value pair
But I'm not sure whats going on exactly, don't know if we can help here, the output would quite large to put in the status / logs to aid debugging.
gitopsset-configmaps 47m False failed to render template params for set gitopsset-configmaps: failed to parse rendered template: json: offset 38: invalid character 'b' after object key:value pair
But I'm not sure whats going on exactly, don't know if we can help here, the output would quite large to put in the status / logs to aid debugging.
I'd
On debugging output
templates: - content: kind: ConfigMap apiVersion: v1 metadata: name: "pr-{{ .element.number }}-info-configmap" namespace: default data: foo: bar number: "{{ .element.number }}" dump: | {{ .element | toRawJson }}
Gives a
gitopsset-configmaps 47m False failed to render template params for set gitopsset-configmaps: failed to parse rendered template: json: offset 38: invalid character 'b' after object key:value pair
Does {{ .element | toRawJson | b64enc }} work?
Does {{ .element | toRawJson | b64enc }} work?
Yes it does!
❯ echo eyJicmFuY2giOiJmb290LXBhdGNoLTEiLCJjbG9uZV9zc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206Zm9vdC93Z2UtZGV2LmdpdCIsImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9mb290L3dnZS1kZXYuZ2l0IiwiaGVhZF9zaGEiOiI5MjU4NzllMDg5NzU1ZmUxYTAyMGYxMGU0YzkyYjExYWU2ZjY3NzI5IiwibnVtYmVyIjoiMSJ9 | base64 -d {"branch":"foot-patch-1","clone_ssh_url":"git@github.com:foot/wge-dev.git","clone_url":"https://github.com/foot/wge-dev.git","head_sha":"925879e089755fe1a020f10e4c92b11ae6f67729","number":"1"}%
Yes it does!
❯ echo eyJicmFuY2giOiJmb290LXBhdGNoLTEiLCJjbG9uZV9zc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206Zm9vdC93Z2UtZGV2LmdpdCIsImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9mb290L3dnZS1kZXYuZ2l0IiwiaGVhZF9zaGEiOiI5MjU4NzllMDg5NzU1ZmUxYTAyMGYxMGU0YzkyYjExYWU2ZjY3NzI5IiwibnVtYmVyIjoiMSJ9 | base64 -d {"branch":"foot-patch-1","clone_ssh_url":"git@github.com:foot/wge-dev.git","clone_url":"https://github.com/foot/wge-dev.git","head_sha":"925879e089755fe1a020f10e4c92b11ae6f67729","number":"1"}%
I'm guessing the b
is from "branch"
:-)
I'm seeing a funny thing where my configmap is not being updated. Added some more logging
[manager] {"level":"info","ts":"2023-01-31T11:09:24.912Z","msg":"updating existing resource if necessary","controller":"gitopsset","controllerGroup":"templates.weave.works","controllerKind":"GitOpsSet","GitOpsSet":{"name":"gitopsset-configmaps","namespace":"default"},"namespace":"default","name":"gitopsset-configmaps","reconcileID":"5281bf7c-727b-4ea2-b413-994d58576477","objNamespace":"default","objName":"pr-1-info-configmap","kind":"ConfigMap"}
[manager] {"level":"info","ts":"2023-01-31T11:09:24.913Z","msg":"updating existing resource","controller":"gitopsset","controllerGroup":"templates.weave.works","controllerKind":"GitOpsSet","GitOpsSet":{"name":"gitopsset-configmaps","namespace":"default"},"namespace":"default","name":"gitopsset-configmaps","reconcileID":"5281bf7c-727b-4ea2-b413-994d58576477","resource":"apiVersion: v1\ndata:\n dump: |\n \"eyJicmFuY2giOiJmb290LXBhdGNoLTEiLCJjbG9uZV9zc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206Zm9vdC93Z2UtZGV2LmdpdCIsImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9mb290L3dnZS1kZXYuZ2l0IiwiaGVhZF9zaGEiOiI5MjU4NzllMDg5NzU1ZmUxYTAyMGYxMGU0YzkyYjExYWU2ZjY3NzI5IiwibnVtYmVyIjoiMSJ9\"\n foo: bar2\n number: \"1\"\nkind: ConfigMap\nmetadata:\n creationTimestamp: \"2023-01-31T10:39:56Z\"\n managedFields:\n - apiVersion: v1\n fieldsType: FieldsV1\n fieldsV1:\n f:data:\n .: {}\n f:dump: {}\n f:foo: {}\n f:number: {}\n f:metadata:\n f:ownerReferences:\n .: {}\n k:{\"uid\":\"79ce755b-e983-4645-9952-c432a4083587\"}: {}\n manager: manager\n operation: Update\n time: \"2023-01-31T10:39:56Z\"\n name: pr-1-info-configmap\n namespace: default\n ownerReferences:\n - apiVersion: templates.weave.works/v1alpha1\n kind: GitOpsSet\n name: gitopsset-configmaps\n uid: 79ce755b-e983-4645-9952-c432a4083587\n resourceVersion: \"27306\"\n uid: 62a11d74-a6bb-4aa7-b237-7c68b72da4ed\n"}
Note bar2
but
❯ kubectl get configmap pr-1-info-configmap -oyaml
apiVersion: v1
data:
dump: |
"eyJicmFuY2giOiJmb290LXBhdGNoLTEiLCJjbG9uZV9zc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206Zm9vdC93Z2UtZGV2LmdpdCIsImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9mb290L3dnZS1kZXYuZ2l0IiwiaGVhZF9zaGEiOiI5MjU4NzllMDg5NzU1ZmUxYTAyMGYxMGU0YzkyYjExYWU2ZjY3NzI5IiwibnVtYmVyIjoiMSJ9"
foo: bar
number: "1"
kind: ConfigMap
metadata:
creationTimestamp: "2023-01-31T10:39:56Z"
name: pr-1-info-configmap
namespace: default
ownerReferences:
- apiVersion: templates.weave.works/v1alpha1
kind: GitOpsSet
name: gitopsset-configmaps
uid: 79ce755b-e983-4645-9952-c432a4083587
resourceVersion: "27306"
uid: 62a11d74-a6bb-4aa7-b237-7c68b72da4ed
So the patch.Patch
is ignoring the update.. I think this was working w/ listgen. Will test..
I think this was working w/ listgen. Will test..
No, not working
This is a simple Pull Request generator that can query from upstream APIs.
From the example generator...
This shows a single PR detected, detecting a new PR, and reacting to a closed PR.