Home > other >  HELM YAML - arrays values that sometimes requires spaces/tabs but sometimes not?
HELM YAML - arrays values that sometimes requires spaces/tabs but sometimes not?

Time:06-01

I am confused when to use spaces and when not to when it comes to arrays and configs.

I think for single value arrays you need to use spaces:

ie:

values:
  - "hello"
  - "bye"
  - "yes"

However this is wrong:

spec:
  scaleTargetRef:
    name: sb-testing
  minReplicaCount: 3
  triggers:
    - type: azure-servicebus
    metadata:
      direction: in

When the values are a map, the helm interpreter complains when I add spaces: error: error parsing deploy.yaml: error converting YAML to JSON: yaml: line 12: did not find expected '-' indicator

Doesn't when I don't:

spec:
  scaleTargetRef:
    name: sb-testing
  minReplicaCount: 3
  triggers:
  - type: azure-servicebus
    metadata:
      direction: in

I can't seem to find any rules about this.

CodePudding user response:

An array of objects in YAML can start with or without spaces. Both are valid in YAML syntax.

values:
 - "hello"
 - "bye"
 - "yes"
values:
- "hello"
- "bye"
- "yes"

Make sure that the keys of the same block must be in the same column.

Sample:

spec:
  scaleTargetRef:
    name: sb-testing
  minReplicaCount: 3
  triggers:
    - type: azure-servicebus 
      metadata: # "metadata" and "type" in the same column 
        direction: in

or

spec:
  scaleTargetRef:
    name: sb-testing
  minReplicaCount: 3
  triggers:
  - type: azure-servicebus
    metadata:
      direction: in
  • Related