Gitea
Pipeline definitions, playbooks, and infrastructure code live together. A pull request holds the change, its discussion, and the check results before it reaches protected main.
Branches · Pull requests · Required checks
Gitea in the lab →I built AutomationLab around Gitea, Jenkins, and Ansible. Gitea holds the code and review history, Jenkins coordinates the jobs, and Ansible configures the hosts. CI checks connect a proposed change to the version I’m willing to run.
Pipeline definitions, playbooks, and infrastructure code live together. A pull request holds the change, its discussion, and the check results before it reaches protected main.
Branches · Pull requests · Required checks
Gitea in the lab →Jenkins tests proposed changes and runs infrastructure workflows. It coordinates the tools, stops for approval where needed, and retains logs and reports with the run.
Jenkinsfiles · Shared libraries · Job DSL
Inside Jenkins →Playbooks and roles configure Linux and Windows hosts from reviewed files. The same configuration can be applied again during a rebuild or a scoped repair.
Inventory · Playbooks · Reusable roles
Ansible in the lab →Gitea Actions and Jenkins report check results on the pull request. Checks cover the proposed code and the files generated from it, so review includes more than reading a diff.
Required checks gate the merge. Results belong to a specific commit. A changed pull-request head needs results for that new revision, followed by review before merge.
Jenkins runs the provisioning workflow from reviewed definitions. NetBox allocates the address, Terraform plans the infrastructure change, and I approve the plan before apply.
Proxmox creates the VM. Ansible then configures its operating system, with monitoring registered before the agent starts. A basic build takes about five to ten minutes.
Follow the provisioning job →Vault supplies credentials, the monitoring stack checks the estate, and Argo CD reconciles Kubernetes workloads.
This public dashboard shows node availability, guest state, per-node CPU and memory, storage use, and recovery-test state under stable descriptive aliases. Hypervisor names, numeric guest IDs, addresses, exporter labels, and management URLs are removed before the dashboard can query the data.
Checking the live infrastructure dashboard.
The live infrastructure dashboard is unavailable. No cached node or guest state is presented as current.
Counted from the repository every time this page is built: 95 pipeline definitions, 67 of them wired into the seed script as code today, and 351 helper scripts the pipelines call. These three numbers are generated, never typed, so the page cannot quietly drift away from the tree it describes.
Also in Platform: