-
Notifications
You must be signed in to change notification settings - Fork 16.8k
[stable/spinnaker] Move default profile settings from values to the template #13918
[stable/spinnaker] Move default profile settings from values to the template #13918
Conversation
Hi @legal90. Thanks for your PR. I'm waiting for a helm member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/ok-to-test |
…emplate Add support of passing actual blocks (aka `map[string]interface{}`) to `halyard.additionalProfileConfigMaps.data`, which allows to override any of the default field as blocks are deeply merged. These changes also keep the full backward compatibility with the old way passing data to `halyard.additionalProfileConfigMaps.data`. Users can still pass the string values there and they will be applied only if `halyard.additionalProfileConfigMaps.create` is set to `true`. Also, `halyard.additionalProfileConfigMaps.create` has been removed from the default values because now this ConfigMap will always be created. Signed-off-by: Mikhail Zholobov <legal90@gmail.com>
Minio doesn't support versioning, so we should disable it on the Front50 side in this case. https://www.spinnaker.io/setup/install/storage/minio/#editing-your-storage-settings Otherwise, "pull-charts-e2e" tests will always fail because of Front50 errors related to the versioning on S3-like storage backend. Signed-off-by: Mikhail Zholobov <legal90@gmail.com>
786dd55
to
fd15834
Compare
Signed-off-by: Mikhail Zholobov <legal90@gmail.com>
fd15834
to
c82dd65
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dwardu89, legal90 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…emplate (helm#13918) * [stable/spinnaker] Move default profile settings from values to the template Add support of passing actual blocks (aka `map[string]interface{}`) to `halyard.additionalProfileConfigMaps.data`, which allows to override any of the default field as blocks are deeply merged. These changes also keep the full backward compatibility with the old way passing data to `halyard.additionalProfileConfigMaps.data`. Users can still pass the string values there and they will be applied only if `halyard.additionalProfileConfigMaps.create` is set to `true`. Also, `halyard.additionalProfileConfigMaps.create` has been removed from the default values because now this ConfigMap will always be created. Signed-off-by: Mikhail Zholobov <legal90@gmail.com> * [stable/spinnaker] Disable S3 versioning if Minio is enabled Minio doesn't support versioning, so we should disable it on the Front50 side in this case. https://www.spinnaker.io/setup/install/storage/minio/#editing-your-storage-settings Otherwise, "pull-charts-e2e" tests will always fail because of Front50 errors related to the versioning on S3-like storage backend. Signed-off-by: Mikhail Zholobov <legal90@gmail.com> * [stable/spinnaker] Bump chart version Signed-off-by: Mikhail Zholobov <legal90@gmail.com>
…emplate (helm#13918) * [stable/spinnaker] Move default profile settings from values to the template Add support of passing actual blocks (aka `map[string]interface{}`) to `halyard.additionalProfileConfigMaps.data`, which allows to override any of the default field as blocks are deeply merged. These changes also keep the full backward compatibility with the old way passing data to `halyard.additionalProfileConfigMaps.data`. Users can still pass the string values there and they will be applied only if `halyard.additionalProfileConfigMaps.create` is set to `true`. Also, `halyard.additionalProfileConfigMaps.create` has been removed from the default values because now this ConfigMap will always be created. Signed-off-by: Mikhail Zholobov <legal90@gmail.com> * [stable/spinnaker] Disable S3 versioning if Minio is enabled Minio doesn't support versioning, so we should disable it on the Front50 side in this case. https://www.spinnaker.io/setup/install/storage/minio/#editing-your-storage-settings Otherwise, "pull-charts-e2e" tests will always fail because of Front50 errors related to the versioning on S3-like storage backend. Signed-off-by: Mikhail Zholobov <legal90@gmail.com> * [stable/spinnaker] Bump chart version Signed-off-by: Mikhail Zholobov <legal90@gmail.com>
What this PR does / why we need it:
Now
templates/configmap/additional-profile-configmaps.yaml
template has advanced logic with conditions and dict merging, which brings us the following:1. Move default profile settings from values to the template.
Default values for
gate-local.yml
profile (introduced in #10771) will be injected automatically ifgce
oralb
ingress controller is used.So, there will be no need for some users to set
halyard.additionalProfileConfigMaps
to true to get it working. Also, other users won't have to explicitly unsethalyard.additionalProfileConfigMaps.data.gate-local\.yml
if they don't usegce
oralb
ingress.2. Disable S3 versioning if Minio is used
Minio is the local S3-compatible storage engine, which is enabled in
stable/spinnaker
by default (as an alternative to AWS S3). However, it doesn't support versioning, which makes the front50 microservice failing to start.So the versioning should be disabled according to Spinnaker docs:
https://www.spinnaker.io/setup/install/storage/minio/#editing-your-storage-settings
3. Changes in
halyard.additionalProfileConfigMaps.data
maphalyard.additionalProfileConfigMaps.create
key fromvalues.yaml
because now this ConfigMap will always be created and mounted, in order to get the default settings (p.1) available.halyard.additionalProfileConfigMaps.data
map. Now it could be not only a string, but a dict (map[string]interface{}
) too, so users can override any of the fields defined by default, for example:will lead to this content of the ConfigMap:
Special notes for your reviewer:
Despite all the changes, this PR saves full backward compatibility. If the user has set
halyard.additionalProfileConfigMaps.create
totrue
and defined any profiles inhalyard.additionalProfileConfigMaps.data
, these profiles will be always respected instead of the defaults generated by the template conditions (if they overlap).Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]
[stable/chart]