Expected behavior (what you expected to happen):
The configuration is validated correctly. The default values for the fields in the object defined as patternProperties should be in the file pointed to by the VALUES_PATH variable.
Actual behavior (what actually happened):
The configuration is validated correctly. The default values for the fields in the object defined as patternProperties are not available in the file pointed to by the VALUES_PATH variable.
Steps to reproduce:
- Create ConfigMap with the following content:
apiVersion: v1
kind: ConfigMap
metadata:
# ...
data:
global: |
parent: {}
- Create a file
/global-hooks/openapi/config-values.yaml with the following content:
type: object
additionalProperties: false
patternProperties:
^parent$:
type: object
required:
- child
properties:
child:
type: object
default: {} # Deleting this field causes the global configuration to be invalid, as expected,
- Create a executable hook file
/global-hooks/check-if-child-object-exists.bash with the following content:
#!/usr/bin/env bash
declare VALUES_PATH
declare BINDING_CONTEXT_PATH
if [[ "${1:-}" == "--config" ]]; then
cat <<EOF
{
"configVersion": "v1",
"beforeAll": 1
}
EOF
exit 0
fi
declare binding="$(jq -r '.[0].binding' "${BINDING_CONTEXT_PATH}")"
if [[ "${binding}" == 'beforeAll' ]]; then
jq '.global.parent | if .child != null then "Child Object exists! " + (.child | tostring) else "Child Object does NOT exist!" end' < "${VALUES_PATH}"
fi
- You should see the
msg="\"Child Object exists! {}\"" message in the console log, but you will see msg="\"Child Object does NOT exist!\"".
Environment:
- Addon-operator version: v1.1.2
- Helm version: v3.10.3+g835b733
- Kubernetes version: v1.23.6+k3s1
- Installation type (kubectl apply, helm chart, etc.): Own Helm Chart
Expected behavior (what you expected to happen):
The configuration is validated correctly. The default values for the fields in the object defined as
patternPropertiesshould be in the file pointed to by theVALUES_PATHvariable.Actual behavior (what actually happened):
The configuration is validated correctly. The default values for the fields in the object defined as
patternPropertiesare not available in the file pointed to by theVALUES_PATHvariable.Steps to reproduce:
/global-hooks/openapi/config-values.yamlwith the following content:/global-hooks/check-if-child-object-exists.bashwith the following content:msg="\"Child Object exists! {}\""message in the console log, but you will seemsg="\"Child Object does NOT exist!\"".Environment: