argo1 | ||
secrets | ||
.gitignore | ||
install.sh | ||
README.md | ||
uninstall.sh |
argo1
A different opinionated opinion on how to bootstrap your ArgoCD
This repo is a basic skeleton for managing your apps with ArgoCD.
It uses helm to bootstrap and maintain the ArgoCD installation. You may
then add additional applications in argo1/templates either as helm charts
or as directories which should live alongside argo1
.
Setup your own Argo1
- Clone this repo as a template
- If you will be using a private repo, configure a secret similar to secret.yaml
- You might also wish to use sealed secrets (via kubeseal).
- Check
secrets/
for more info on secrets and git repos.
- update
argo1/values.yaml
- At the very least, you will need to update the bootstrap.source.repoURL to point to your clone -- this URL must match the prefix of the secret from step 2, as well.
- You may configure the argo-cd helm template via the argo-cd map in values.yaml. A basic example is available in the default values.yaml file which suppresses installing the CRDs (which are instead installed via install-crds.sh)
- Install
bash install.sh
- all done!
App of Apps pattern
This is already an app of apps.
Add additional applications to templates/
. These may reference Values or
they may be verbatim manifests (be careful of any {{}}
in your manifests
though!)
Do not modify (or be careful with) 1-self.yaml
which is the application which
references this repo to enable self-management.
Uninstalling
bash uninstall.sh
Adding an application
An application is added to argo1/templates
similarly to sealed-secrets.yaml
for
a helm chart or similarly to secrets.yaml
for a project colocated in this repo.
Steps for adding an application:
- if helm chart, copy
argo1/templates/sealed-secrets.yaml
to a new file in the same folder - if local manifests, copy
argo1/templates/secrets.yaml
to a new file in the same folder - update the new file. at least the following will change:
- the key in
.Values
on line 1 metadata.name
spec.source
- the key in
Applications which affect how secrets are loaded for Git repos must update the following pre-bootstrap files:
argo1/install-crds.sh
argo1/delete-crds.sh
install.sh
uninstall.sh