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

feat: migrate GCP account and update cluster #28

Merged
merged 64 commits into from
Mar 4, 2024

Conversation

agaudreault
Copy link
Member

@agaudreault agaudreault commented Feb 27, 2024

This PR migrates the stack the cluster to a new GCP account.

Current account owners: @leoluz and @agaudreault

Changes:

  • Add infrastructure as code for the GCP account
  • Update several apps
  • Remove jenkins app
  • Add external-dns to manage the new apps.argoproj.io zone.

Future work

  • Some configurations are added manually, mostly secrets (Manage secrets as code #29)
    • Use SealedSecrets to manage the secrets as code
  • argoproj.io DNS zones need to be migrated to the new GCP account and added to the infra as code. (Infra: Manage all DNS zones in argoproj.io #30)
    • Need to move all records outside of apps.argoproj.io, and ultimately infrastructure serving it.
    • The domain needs to be configured accordingly. This will require more sync with the CNCF
  • Current admin team config from argoproj is outdated so admin cannot login with the Github auth. (Cannot login as admin for CD and Workflow #31)
  • Applications are applied manually in the cluster. (Use Apps-of-Apps pattern to manage cluster #32)
    • The apps-of-apps pattern could be used
  • Infrastructure as code has a user-access module to explicitly define the permissions. This gives permissions to users based on their personal gmail. Some concerns have been raised about having this information in the code. (Infra: manage cluster access from an external data source #33)
    • Use a data source that will hold the users emails or use google groups
  • Migrate all other resources and delete old project (Migrate all resources out of old GCP account #34)
    • Before deleting the old GCP project, all resources needs to be migrated to the infra as code
  • CI pipeline to detect terraform change
  • Add more documentation on how to maintain/update the infrastructure and the different components
  • Need to update codeowners to review infrastructure changes
    • Create a github team?

Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>
Copy link
Contributor

@leoluz leoluz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check my comments.

infrastructure/terraform/README.md Outdated Show resolved Hide resolved
Comment on lines 1 to 4
# Infrastructure
/infrastructure/ @agaudreault @leoluz
/argocd/overlays/production/argocd-rbac-cm.yaml @agaudreault @leoluz
/external-dns/values.yaml @agaudreault @leoluz
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably remove this for now until we decide how the ownership is going to be defined for the repo.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 I commented it for now to keep track of infrastructure related files.

infrastructure/terraform/README.md Outdated Show resolved Hide resolved
infrastructure/terraform/README.md Outdated Show resolved Hide resolved
infrastructure/terraform/README.md Outdated Show resolved Hide resolved
infrastructure/terraform/gcp/gke/README.md Outdated Show resolved Hide resolved
infrastructure/terraform/gcp/gke/README.md Outdated Show resolved Hide resolved
Signed-off-by: Alexandre Gaudreault <[email protected]>
@agaudreault agaudreault requested a review from leoluz March 4, 2024 20:35
Copy link
Contributor

@leoluz leoluz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@leoluz leoluz merged commit f06dea5 into argoproj:master Mar 4, 2024
1 check passed
@tooptoop4
Copy link

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.

3 participants