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

Add support for bootstrapping additional root apps #158

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

simu
Copy link
Member

@simu simu commented Dec 18, 2024

See SDD-0030 - ArgoCD multitenancy for the overall design for additional root apps.

This commit introduces a new command line flag to specify a config map name from which Steward will read a JSON-encoded list of team names for which to setup additional ArgoCD AppProject and root Application (app of apps) resources.

Steward uses the team names as is for the additional AppProject resources, and creates the additional root apps as root-<team name>. As defined in the design document, the path for the root apps is configured as manifests/apps-<team name>/.

Checklist

  • Keep pull requests small so they can be easily reviewed.
  • Update the documentation.
  • Categorize the PR by setting a good title and adding one of the labels:
    bug, enhancement, documentation, change, breaking, dependency
    as they show up in the changelog
  • Link this PR to related issues.

@simu simu added the enhancement New feature or request label Dec 18, 2024
@simu simu changed the title Implement support for bootstrapping additional root apps Add support for bootstrapping additional root apps Dec 18, 2024
@simu simu force-pushed the feat/additional-root-apps branch 2 times, most recently from 096b628 to 00820cc Compare December 18, 2024 12:35
@simu simu force-pushed the feat/additional-root-apps branch from 00820cc to 61f1d23 Compare December 18, 2024 13:08
See [SDD-0030 - ArgoCD multitenancy] for the overall design for
additional root apps.

This commit introduces a new command line flag to specify a config map
from which Steward will read field `teams` which is expected to contain
a JSON-encoded list of team names for which to setup additional ArgoCD
AppProject and root Application (app of apps) resources.

Steward uses the team names as is for the additional AppProject
resources, and creates the additional root apps as `root-<team name>`.
As defined in the design document, the path for the root apps is
configured as `manifests/apps-<team name>/`.

The new code is added to `argocd.Apply()` before the short-circuit which
exits the function if an ArgoCD custom resource is present on the
cluster already.

[SDD-0030 - ArgoCD multitenancy]: https://syn.tools/syn/SDDs/0030-argocd-multitenancy.html
@simu simu force-pushed the feat/additional-root-apps branch from 61f1d23 to 28f2878 Compare December 18, 2024 14:18
simu added 2 commits December 18, 2024 17:20
Return silently if an AppProject or Application with the requested name
already exists.
@simu
Copy link
Member Author

simu commented Dec 24, 2024

See projectsyn/documentation#182 for documentation

@simu simu marked this pull request as ready for review December 24, 2024 08:03
@simu simu requested a review from a team December 24, 2024 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant