Self hosted git server with devops pipeline https://git.testgoofy.ch
Find a file
Lukas Gysin 78f59180c3
fix: Runner Labels
Signed-off-by: Lukas Gysin <l.gysin@pm.me>
2025-08-18 23:38:42 +02:00
charts refactor: Restructure Chart 2025-04-06 22:44:15 +02:00
templates fix: Runner Labels 2025-08-18 23:38:42 +02:00
.gitignore Initial commit 2025-02-03 19:47:18 +01:00
.helmignore Initial commit 2025-02-03 19:47:18 +01:00
.sops.yaml feat: Install ArgoCD 2025-08-18 11:43:10 +02:00
argocd-values.dec fix: Bugs while Deploying 2025-08-18 22:25:21 +02:00
Chart.yaml Initial commit 2025-02-03 19:47:18 +01:00
LICENSE Initial commit 2025-02-03 19:47:18 +01:00
README.md fix: Bugs while Deploying 2025-08-18 22:25:21 +02:00
values.yaml feat: Create User 2025-07-25 14:28:18 +02:00

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

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

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments