|
|
||
|---|---|---|
| charts | ||
| templates | ||
| .gitignore | ||
| .helmignore | ||
| .sops.yaml | ||
| argocd-values.dec | ||
| Chart.yaml | ||
| LICENSE | ||
| README.md | ||
| values.yaml | ||
Git Remote Repository
This repository provides the resources for a git remote repository on the homeserver.
Getting Started
These instructions will give you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
Requirements for the software and other tools to build, test and push
- Git
- Kubernetes command line tool (kubectl)
- Helm
- Helm Secrets Plugin
- sops
- age
- Configured kubernetes cluster
Supported IDEs
You can use the IDE of your choice to continue developing the project. However, the following IDEs are recommended and officially supported:
Creating argocd-values.dec
If you have to recreate the argocd-values.dec file, create a new argocd-values.yaml file and encrypt it with sops.
global:
domain: https://zitadel.testgoofy.ch
server:
ingress:
enabled: true
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hostname: argocd.testgoofy.ch
tls:
- hosts:
- argocd.testgoofy.ch
secretName: argocd-cert
configs:
cm:
admin.enabled: false
url: https://argocd.testgoofy.ch
oidc.config: |
name: Zitadel
issuer: https://zitadel.testgoofy.ch
clientID: "<REDACTED>"
clientSecret: <REDACTED>
requestedScopes:
- openid
- profile
- email
- groups
logoutURL: https://zitadel.testgoofy.ch/oidc/v1/end_session
params:
server.insecure: "true"
rbac:
scopes: "[groups]"
policy.csv: |
g, admin, role:admin
g, guests, role:readonly
policy.default: ""
Make sure to replace the <REDACTED> placeholders with the actual values.
Now encrypt the argocd-values.yaml file with sops.
helm secrets encrypt argocd-values.yaml > argocd-values.dec
Installing
A step by step series that tell you how to get a development environment up and running
Clone the repository to your local computer
git clone ${REPO_SSH_URL}
Install the helm chart
helm upgrade --install --namespace gitops --create-namespace gitops . \
--set forgejo.smtp_user=<redacted> \
--set forgejo.smtp_password=<redacted> \
--set forgejo.admin_password=<redacted> \
--set database.admin_password=<redacted> \
--set runner.token=<redacted (40 hex characters)>
After installing Gitea, we want to install ArgoCD as CI/CD tool.
helm repo add argo https://argoproj.github.io/argo-helm --force-update
helm upgrade --install --namespace devops --create-namespace devops argo/argo-cd -f secrets://argocd-values.dec
Versioning
We use Semantic Versioning for versioning.
Authors
- Lukas Gysin - Main Contributor & Project Owner
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- Billie Thompson - Provided README Template
- Contributor Covenant - Provided CODE_OF_CONDUCT Template