-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: deploy UI via ArgoCD on local env #1662
Conversation
chart: ../../charts/argocd-config | ||
values: | ||
- env/{{`{{ .Environment.Name }}`}}/base.yaml | ||
- env/{{`{{ .Environment.Name }}`}}/private.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found out that private.yaml can actually be merged into base.yaml, but since that refactor touches a lot of files I refrained from doing it here
source: | ||
path: charts/argocd-apps | ||
repoURL: {{ .Values.repoUrls.main }} | ||
targetRevision: de/argo-apps-ui # debug! needs to be set to HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this needs to change before merging
This reverts commit 7b588c1.
9aba1e9
to
be324ba
Compare
parameters: | ||
- name: helm.debug | ||
value: "true" | ||
values: '{{ toYaml .Values }}' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is currently incorrectly parsed by helm instead of argo
closing in favor of #1686 |
Here we integrate the wbaas UI into ArgoCD in a simpler way without additional templating and applicationsets (in contrast to what was tried in #1662). It uses plain yaml values files generated by helmfile via bin/generate-values. ./bin/generate-values $ ./bin/generate-values error: missing environment usage: generate-values <environment> <release-name> [output-file-template] The script can be run like ./bin/generate-values local ui where local could be staging or production and ui any other helmfile release. The third parameter let's you define a different helmfile than k8s/helmfile/helmfile.yaml. This is needed for the CI script. Once we moved all components to Argo we could create a Makefile target that generates/updates all values files, for our convenience. .github/workflows/check-generated-values.yml This is a new GitHub workflow that runs the script to check if the checked-in values files are actually up to date. It does this by iterating over each generated values file that is present in k8s/argocd/ and runs generate-values to compare it against. How to test this locally Mind my GitHub comments about the targetRevision in both Application manifests. Prior discussion Paired on & discussed with tom Bug: T360876 Co-authored-by: Thomas Arrow <[email protected]>
WIP
Describe the changes
add placeholder values files for argocd-config chart
we might want to specify something here, not used right now
add argocd-config chart
this chart effectively configures the argo instance with our deployments, such as the app-of-apps Application and the project and repositories for it
add argocd-apps chart
this chart is the app-of-apps chart: it contains the configurations for the different components (right now, only UI)
add argo config to helmfile
helmfile deploys the argo config chart, which enables argo to deploy the app-of-apps chart
move ui value files & create symlinks
while we can reuse our current value files as they are, I moved them into the charts directory, because otherwise we can not access them from within the chart I think. I created symlinks instead so helmfile functionality and thus skaffold still works.
This is what I need help with
Link to Phabricator
https://phabricator.wikimedia.org/T360876
Prior discussion
Too much to sum it up here, but a lot of sparring with tom in the recent weeks