Updates the vendored cluster management Project Template
What does this MR do?
Updates the vendored cluster management project template, since we've updated the template for %14.0 .
The changes are critical for %14.0 as they introduce some breaking changes related to using Helm v3 instead of Helm v2 and it drops support to some applications.
This new template is part of the effort described here: #327908 (closed)
The new template was extensively tested against all the cluster applications it includes, as explained in this MR description: gitlab-org/project-templates/cluster-management!5 (merged)
List of the most important changes is detailed in the commit message. Copy/pasted here:
List of changes
We've decided to give the users the full power and responsibility of
managing their own Helmfiles. For this change, will use the
cluster-applications:v1.0.0+ which won't have the chart built-in anymore.
Those configurations related to the config.yaml file and all that logic
to allow the merge of values got removed from those Helmfiles. This
logic is not needed anymore since the files are no longer locked inside
the docker image and the user has full control of them over their
project template repository.
Also, it's worth noting that we're removing Ingress WAF which is
deprecated.
Another important point is that the Helmfiles being included here were
tested to work only against Helm3, which is expected from the
cluster-applications v1.0.0.
---
Some other work implemented here:
- Set all applications install default to true
- Use helm stable instead of gitlab stable archive
- Use default branch instead of master
- Default namespace to gitlab-managed-apps
- Don't add a default insecure password to sentry DB
- Remove missing file handlers
- Those are not needed anymore since we don't have logic
over the existence of those helmfiles and the values
files were all created by default even if blank.
- Update default runner image to ubuntu:20.04
- Adds script to adopt CM CRDs and ClusterIssuer when the
user had previously installed CM through the UI.
Screenshots (strongly suggested)
This pipeline has the history of tests run agains the template: https://gitlab.com/Alexand/min-ruby-app-mgmt-proj-helm-3/-/pipelines
New project template correctly imported with this branch on GDK:
Does this MR meet the acceptance criteria?
Conformity
-
I have included a changelog entry, or it's not needed. (Does this MR need a changelog?) -
I have added/updated documentation, or it's not needed. (Is documentation required?) -
I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) -
I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?) -
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides. -
This change is backwards compatible across updates, or this does not apply.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) -
I have tested this MR in all supported browsers, or it's not needed. -
I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed.
Security
Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team