Go to file
2023-04-23 21:56:38 -05:00
argo1 initial import 2023-04-23 21:56:38 -05:00
secrets initial import 2023-04-23 21:56:38 -05:00
.gitignore initial import 2023-04-23 21:56:38 -05:00
install.sh initial import 2023-04-23 21:56:38 -05:00
README.md initial import 2023-04-23 21:56:38 -05:00
uninstall.sh initial import 2023-04-23 21:56:38 -05:00

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

  1. Clone this repo as a template
  2. 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.
  1. 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)
  1. Install
    bash install.sh
    
  2. 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

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