titan-iac/knowledge/runbooks/ci-gitea-jenkins.md
jenkins 0da9e4c82d refactor: restructure services layout, retire oceanus, add aether scaffolding
- Move flat service manifests into structured subdirs (apps/, bootstrap-jobs/,
  repair-jobs/, migration-jobs/, validation-jobs/, node-ops/, networking/)
- Retire oneoffs/ directories across services
- Remove oceanus cluster and its host roles; add aether cluster + terraform scaffolding
- Reorganize scripts/ into ops/, render/, sync/, manual-tests/
- Add Makefile with render/validate/test/flux targets and repo-structure tests
- Update flux-system application CRs to the new paths
- Add hermes-automated-triage-24h-plan knowledge doc (+ comms mirror)
- Refresh knowledge catalogs, dashboards, vmalert rules, quality contract

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:21:36 -03:00

1.0 KiB

title, tags, owners, entrypoints, source_paths
title tags owners entrypoints source_paths
CI: Gitea → Jenkins pipeline
atlas
ci
gitea
jenkins
brad
scm.bstein.dev
ci.bstein.dev
services/gitea
services/jenkins
scripts/sync/jenkins_cred_sync.sh
scripts/sync/gitea_cred_sync.sh

CI: Gitea → Jenkins pipeline

What this is

Atlas uses Gitea for source control and Jenkins for CI. Authentication is via Keycloak (SSO).

Where it is configured

  • Gitea manifests: services/gitea/
  • Jenkins manifests: services/jenkins/
  • Credential sync helpers: scripts/sync/gitea_cred_sync.sh, scripts/sync/jenkins_cred_sync.sh

What users do (typical flow)

  • Create a repo in Gitea.
  • Create/update a Jenkins job/pipeline that can fetch the repo.
  • Configure a webhook (or SCM polling) so pushes trigger builds.

Troubleshooting (common)

  • “Webhook not firing”: confirm ingress host, webhook URL, and Jenkins job is reachable.
  • “Auth denied cloning”: confirm Keycloak group membership and that Jenkins has a valid token/credential configured.