aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/dcaegen2/resources/expected-components.json
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/dcaegen2/resources/expected-components.json')
-rw-r--r--kubernetes/dcaegen2/resources/expected-components.json59
1 files changed, 50 insertions, 9 deletions
diff --git a/kubernetes/dcaegen2/resources/expected-components.json b/kubernetes/dcaegen2/resources/expected-components.json
index 6b3a221661..50c31845e1 100644
--- a/kubernetes/dcaegen2/resources/expected-components.json
+++ b/kubernetes/dcaegen2/resources/expected-components.json
@@ -1,10 +1,51 @@
-[
-{{- $ctx := . }}
-{{- $components := tuple "dcae-cloudify-manager" "dcae-config-binding-service" "dcae-dashboard" "dcae-deployment-handler" "dcae-inventory-api" "dcae-policy-handler" "dcae-servicechange-handler" "dcae-ves-openapi-manager" }}
-{{- range $i, $v := $components }}
-{{- if index $ctx.Values . "enabled" }}
-{{- if $i }},{{ end }}
-{{ $v | quote | indent 2 }}
+{{/*
+ ============LICENSE_START========================================================
+ =================================================================================
+ Copyright (c) 2021 J. F. Lucas. All rights reserved.
+ =================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ =============LICENSE_END=========================================================
+*/}}
+
+{{/*
+
+ This template generates a JSON file with an array containing the names of the
+ components that the healthcheck container always expects to see--that is, the
+ components that are enabled in the top-level values.yaml file.
+
+ The code loops through the list of components ($components) and checks each component's
+ entry in the values.yaml file is set to "enabled". It adds the name of each enabled
+ component to the list.
+
+ There is a bit of Helm trickery here--the code uses a dict ($enabled), because that's
+ apparently the only way to create a variable outside of a range loop that can be updated
+ from within the range loop. The code here generates a list of the components that are
+ enabled in values.yaml, and stores it into the list called "enabled" in the dictionary
+ $enabled.
+
+ Note also the assignment to an otherwise unused variable ($x) in the loop. Without that
+ assignment, the updated value of the $enabled.enabled list would be rendered into the
+ file each time an enabled component is found.
+
+*/}}
+
+{{- $ctx := . -}}
+{{- $components := list "dcae-cloudify-manager" "dcae-config-binding-service" "dcae-dashboard" "dcae-deployment-handler" "dcae-inventory-api" "dcae-policy-handler" "dcae-servicechange-handler" "dcae-ves-openapi-manager" -}}
+{{- $enabled := dict "enabled" list -}}
+{{- range $components -}}
+ {{- if index $ctx.Values . "enabled" -}}
+ {{- $x:= . | append $enabled.enabled | set $enabled "enabled" -}}
+ {{- end -}}
{{- end -}}
-{{- end }}
-]
+{{- $enabled.enabled | toJson }}
+