Skip to content
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

Closed
wants to merge 56 commits into from
Closed

Conversation

deer-wmde
Copy link
Contributor

@deer-wmde deer-wmde commented Jul 3, 2024

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

chart: ../../charts/argocd-config
values:
- env/{{`{{ .Environment.Name }}`}}/base.yaml
- env/{{`{{ .Environment.Name }}`}}/private.yaml
Copy link
Contributor Author

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
Copy link
Contributor Author

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

parameters:
- name: helm.debug
value: "true"
values: '{{ toYaml .Values }}'
Copy link
Contributor Author

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

@deer-wmde
Copy link
Contributor Author

closing in favor of #1686

@deer-wmde deer-wmde closed this Jul 31, 2024
tarrow added a commit that referenced this pull request Aug 19, 2024
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant