You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 13, 2021. It is now read-only.
If we reference into ConfigMaps and Secrets, it can be useful to parse JSON and base 64 decode (so complex configuration can be passed around safely).
Lack of json decoding means all ConfigMap/Secret references are shallow (i.e. top level k/v), and that we automatically base 64 decode secret references (since Go does - but this is not a good strategy in many cases when we want to put them in JSON as the output).
Possible ways to fix this:
fork kubernetes jsonpath into voyager codebase (https://github.com/kubernetes/client-go/tree/master/util/jsonpath) and add these functions as 'identifiers' (cf range/end) - code looks straightforward. However, this will probably require us to remove the magic 'add {$.}' currently in the smith reference code.
use jmespath instead of jsonpath and define custom functions. Unfortunately, looks like Go jmespath doesn't allow one to define custom functions in the current interface, unlike other jmespath implementations, but it's trivial to add and we may be able to upstream.
If we reference into ConfigMaps and Secrets, it can be useful to parse JSON and base 64 decode (so complex configuration can be passed around safely).
Lack of json decoding means all ConfigMap/Secret references are shallow (i.e. top level k/v), and that we automatically base 64 decode secret references (since Go does - but this is not a good strategy in many cases when we want to put them in JSON as the output).
Possible ways to fix this:
I'm in favour of Option 1 for now
The text was updated successfully, but these errors were encountered: