[CASSANDRA] Change values to makre Cassandra instances more stable
[oom.git] / kubernetes / dcaegen2 / resources / expected-components.json
index d89203b..43125d6 100644 (file)
@@ -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" }}
-{{- 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" -}}
+{{- $enabled := dict "enabled" list -}}
+{{- range $components -}}
+  {{- if index $ctx.Values . "enabled" -}}
+    {{- $x:= . | append $enabled.enabled  | set $enabled "enabled" -}}
+  {{- end -}}
 {{- end -}}
-{{- end }}
-]
+{{- $enabled.enabled | toJson }}
+