No description
- Python 51.6%
- Shell 30.4%
- Makefile 18%
|
All checks were successful
Sync Templates to All Repositories / sync (push) Successful in 1m1s
|
||
|---|---|---|
| .forgejo/workflows | ||
| .sync-temp | ||
| templates | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| README.md | ||
| semaphore.py | ||
| sync-config.json | ||
| sync.py | ||
| update_versions.py | ||
Ansible Base
Central repository containing shared templates and automation scripts for our Ansible infrastructure.
Purpose
This repository serves as the Single Source of Truth (SSOT) for:
- Shared templates (workflows, configs, scripts)
- Sync automation to distribute templates to all playbook repositories
- Semaphore CI/CD configuration
Repositories
This repo manages 48+ playbook repositories through automated sync.
Structure
├── templates/ # Shared templates for all repos
│ ├── .forgejo/ # Forgejo workflows
│ ├── .gch/ # Git changelog config
│ ├── .helper/ # Helper scripts
│ ├── group_vars/ # Shared variables
│ └── inventories/ # Inventory templates
├── sync-config.json # Repository sync configuration
├── sync.py # Template sync script
├── semaphore.py # Semaphore CI sync script
└── .forgejo/workflows/ # Forgejo Actions workflows
Scripts
sync.py
Synchronizes templates to all configured repositories.
./sync.py --dry-run # Test without changes
./sync.py # Execute sync
semaphore.py
Synchronizes repositories to Semaphore CI.
cp .env.example .env
# Edit .env with your credentials
./semaphore.py --dry-run # Test without changes
./semaphore.py # Execute sync
Local Development
Prerequisites
- Python 3.12+
- Git
Setup
cp .env.example .env
# Configure your Semaphore credentials
Workflows
Template Sync
- Trigger: Push to
templates/**,sync-config.json, orsync.py - Schedule: Daily at 02:00
- Action: Syncs templates to all repositories
Semaphore Sync
- Trigger: Push to
sync-config.jsonor manual - Action: Updates Semaphore project repositories
License
See individual repositories for their respective licenses.