Applications are formed with kustomize and can be deployed to a Kubernetes cluster using the following command:
kubectl apply -k <app-dir>
Some applications may require additional configuration, secrets are managed by .env
files.
- Deploy the cloudflared as ingress controller first
- Deploy the ArgoCD
- Deploy the rest of the applications through ArgoCD
- The kubernetes
.env
parser keeps"
characters in the value, so it's important to not surround the value with"
characters.
Secrets are encrypted using sops
and stored in the repository.
Everyone can encrypt the secrets using the following command:
# Encrypt the .env secret file
sops -e .env > enc.env
# Encrypt the .yaml secret file
sops -e secret.yaml > secret.enc.yaml
The public key used for encryption: deploy-key.pub
The SOPS configuration file: .sops.yaml
Only the deployment environment can decrypt the secrets.