feat(gitops): migrate domain to riotpiao.com, add CNPG + Forgejo HA on Redis/Postgres, wire ArgoCD apps — enables cluster rebuild after etcd wipe and unblocks the git-source chicken-egg via standalone Helm-source Applications

This commit is contained in:
Story Crater Bot
2026-07-19 09:29:17 -07:00
parent c6493f14ae
commit 578a707867
86 changed files with 889 additions and 446 deletions
+13 -13
View File
@@ -1,7 +1,7 @@
# CI/CD Pipeline (Forgejo + Argo CD)
**Git Forge:** `https://forgejo.riotpiao.homelab.com`
**Deployments:** `https://argocd.riotpiao.homelab.com` (or `kubectl port-forward`)
**Git Forge:** `https://forgejo.riotpiao.com`
**Deployments:** `https://argocd.riotpiao.com` (or `kubectl port-forward`)
**Namespaces:** `cicd`, `forge`
## When to Use
@@ -15,7 +15,7 @@
**1. Clone a repo from Forgejo:**
```bash
git clone https://forgejo.riotpiao.homelab.com/rock/source.git
git clone https://forgejo.riotpiao.com/rock/source.git
cd source
```
@@ -33,10 +33,10 @@ jobs:
- run: npm test
- run: docker build -t myapp:latest .
- run: |
docker login forgejo.riotpiao.homelab.com \
docker login forgejo.riotpiao.com \
-u ci-bot \
-p ${{ secrets.CI_BOT_TOKEN }}
docker push forgejo.riotpiao.homelab.com/rock/myapp:latest
docker push forgejo.riotpiao.com/rock/myapp:latest
EOF
git add .forgejo/workflows/ci.yml
@@ -47,11 +47,11 @@ git push
**3. Trigger deployment:**
```bash
# Update deployment repo (rock/deploy)
git clone https://forgejo.riotpiao.homelab.com/rock/deploy.git
git clone https://forgejo.riotpiao.com/rock/deploy.git
cd deploy
# Update image tag
sed -i 's|forgejo.riotpiao.homelab.com/rock/myapp:.*|forgejo.riotpiao.homelab.com/rock/myapp:abc123|' k8s/deployment.yaml
sed -i 's|forgejo.riotpiao.com/rock/myapp:.*|forgejo.riotpiao.com/rock/myapp:abc123|' k8s/deployment.yaml
git add k8s/deployment.yaml
git commit -m "deploy: bump myapp to abc123"
@@ -92,7 +92,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- run: docker build -t myapp:${{ github.sha }} .
- run: docker push forgejo.riotpiao.homelab.com/rock/myapp:${{ github.sha }}
- run: docker push forgejo.riotpiao.com/rock/myapp:${{ github.sha }}
```
**Available variables:**
@@ -109,10 +109,10 @@ ${{ secrets.CI_BOT_TOKEN }} # injected from Forgejo
```yaml
- run: |
echo "${{ secrets.CI_BOT_TOKEN }}" | docker login \
forgejo.riotpiao.homelab.com \
forgejo.riotpiao.com \
-u ci-bot \
--password-stdin
docker push forgejo.riotpiao.homelab.com/rock/myapp:latest
docker push forgejo.riotpiao.com/rock/myapp:latest
```
**API token (for pushing commits):**
@@ -121,7 +121,7 @@ ${{ secrets.CI_BOT_TOKEN }} # injected from Forgejo
git config user.name "ci-bot"
git config user.email "ci-bot@homelab"
git commit --allow-empty -m "bump: version"
git push https://ci-bot:${{ secrets.CI_BOT_TOKEN }}@forgejo.riotpiao.homelab.com/rock/deploy.git main
git push https://ci-bot:${{ secrets.CI_BOT_TOKEN }}@forgejo.riotpiao.com/rock/deploy.git main
```
**Vault secrets (via talos CLI):**
@@ -135,7 +135,7 @@ ${{ secrets.CI_BOT_TOKEN }} # injected from Forgejo
**Create app (one-time):**
```bash
argocd app create story-crater \
--repo https://forgejo.riotpiao.homelab.com/rock/deploy.git \
--repo https://forgejo.riotpiao.com/rock/deploy.git \
--path k8s/ \
--dest-server https://kubernetes.default.svc \
--dest-namespace story-crater-backend \
@@ -148,7 +148,7 @@ argocd app create story-crater \
argocd app get story-crater
argocd app logs story-crater
# UI: https://argocd.riotpiao.homelab.com
# UI: https://argocd.riotpiao.com
# Login: Authentik SSO (homelab-admins group only)
```