summaryrefslogtreecommitdiff
path: root/f3s/argocd
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-01-10 20:58:49 +0200
committerPaul Buetow <paul@buetow.org>2026-01-10 20:58:49 +0200
commitde55dd907d2e9277e4773245fe48e09cacbdb84d (patch)
tree88c455381a28f21d587440554524abe7db168b23 /f3s/argocd
parenta9677bd49325795c36b8187b0e809dce9408192d (diff)
Document self-hosted git-server requirement in ArgoCD README
Add comprehensive documentation about the self-hosted git-server setup: - Explain that conf.git must be pushed to r0 before ArgoCD can use it - Provide gitsyncer and manual push examples - Document HTTP access method used by ArgoCD - Include verification commands - Emphasize that changes must be pushed to git-server (r0), not just external git hosts This ensures operators understand the critical step of syncing the conf repository to the self-hosted git-server. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'f3s/argocd')
-rw-r--r--f3s/argocd/README.md63
1 files changed, 59 insertions, 4 deletions
diff --git a/f3s/argocd/README.md b/f3s/argocd/README.md
index 56d2560..e7c9919 100644
--- a/f3s/argocd/README.md
+++ b/f3s/argocd/README.md
@@ -118,7 +118,62 @@ just uninstall
## Post-Deployment Configuration
-### 1. Change Admin Password
+### 1. Setup Self-Hosted Git Repository
+
+ArgoCD in the f3s cluster uses the self-hosted git-server for all application manifests. The configuration repository (conf.git) must be available on the git-server before deploying applications.
+
+**Ensure conf.git is synced to git-server:**
+
+```bash
+# Using gitsyncer (recommended for keeping repos in sync)
+gitsyncer sync repo conf --backup --no-releases
+
+# Or manually push to git-server
+cd /path/to/conf
+git remote add r0 ssh://git@r0:30022/repos/conf.git
+git push r0 master
+```
+
+**Verify repository is accessible:**
+
+```bash
+# Via SSH
+git ls-remote ssh://git@r0:30022/repos/conf.git
+
+# Via HTTP (used by ArgoCD)
+curl -s "http://git-server.cicd.svc.cluster.local/conf.git/info/refs?service=git-upload-pack" | head -5
+```
+
+**ArgoCD Repository Configuration:**
+
+ArgoCD applications use HTTP to fetch from the self-hosted git-server:
+- **Repository URL**: `http://git-server.cicd.svc.cluster.local/conf.git`
+- **No authentication required** (internal cluster access)
+- **Auto-sync enabled** for most applications
+
+Example application manifest:
+```yaml
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: my-app
+ namespace: cicd
+spec:
+ project: default
+ source:
+ repoURL: http://git-server.cicd.svc.cluster.local/conf.git
+ targetRevision: master
+ path: f3s/my-app/helm-chart
+ destination:
+ server: https://kubernetes.default.svc
+ namespace: my-namespace
+```
+
+**Important**: Always push changes to git-server (r0) before ArgoCD can sync them. Changes pushed only to external git hosts (Codeberg/GitHub) will not be picked up by ArgoCD.
+
+See `/home/paul/git/conf/f3s/git-server/helm-chart/README.md` for more details on the git-server setup.
+
+### 2. Change Admin Password
**Important**: Change the default admin password immediately after first login.
@@ -134,7 +189,7 @@ argocd login argocd.f3s.buetow.org --insecure
argocd account update-password
```
-### 2. Add Git Repositories
+### 3. Add Additional Git Repositories
For public repositories:
@@ -157,7 +212,7 @@ argocd repo add git@github.com:yourusername/yourrepo.git \
--ssh-private-key-path ~/.ssh/id_rsa
```
-### 3. Create Your First Application
+### 4. Create Your First Application
Using the CLI:
@@ -174,7 +229,7 @@ Using the Web UI:
2. Fill in application details
3. Click "CREATE"
-### 4. Sync an Application
+### 5. Sync an Application
```bash
argocd app sync guestbook