devspace
devspace copied to clipboard
Patches do not support inserting into the middle of existing arrays
What happened?
Patches do not support inserting into the middle (or start) of existing arrays.
What did you expect to happen instead?
Patches can insert values into the middle (or start) of an existing array, per the JSON Patch specification: https://datatracker.ietf.org/doc/html/rfc6902#appendix-A.2
How can we reproduce the bug? (as minimally and precisely as possible)
- Save this
devspace.yaml:version: v2beta1 hooks: - events: - event command: echo first - events: - event command: echo second - events: - event command: echo third profiles: - name: insert-first patches: - op: add path: hooks[0] value: events: - event command: echo new first - name: insert-last patches: - op: add path: hooks value: events: - event command: echo new last - Run
devspace print -p insert-firstand get the following error:fatal yaml: unmarshal errors: line 5: mapping key "command" already defined at line 2 line 6: mapping key "events" already defined at line 3 - Run
devspace print -p insert-lastand get the following output (correctly added to end ofhooks):version: v2beta1 name: test hooks: - events: - event command: echo first - events: - event command: echo second - events: - event command: echo third - events: - event command: echo new last
Local Environment:
- DevSpace Version: 6.3.3
- Operating System: macOS Sonoma 14.0
- ARCH of the OS: arm64
Thanks for reporting this! Yes it looks to work for simple values, but not for objects. We'll look into a fix!