| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Infrastructure as Code for platform services (monitoring, observability, etc.) using Terraform and Ansible.
This repository manages infrastructure for:
platform/ ├── terraform/ │ ├── base/ # Base Terraform configuration │ │ ├── providers.tf # Hetzner provider │ │ ├── backend.tf # B2 remote state │ │ ├── variables.tf # Global variables │ │ ├── outputs.tf # Global outputs │ │ └── main.tf # Module imports │ └── services/ │ └── peekaping/ # Peekaping monitoring service ├── ansible/ │ ├── playbooks/ │ │ └── peekaping.yaml # Peekaping deployment │ └── ansible.cfg # References WebKit roles ├── docker/ │ └── peekaping/ │ ├── docker-compose.yml │ └── .env.example
# Copy example tfvars
cp terraform.tfvars.example terraform.tfvars
# Edit with your Hetzner token and other values
vim terraform.tfvars# Initialize with B2 backend
make init
# Or manually:
# cd terraform/base
# terraform init \
# -backend-config="access_key=${BACK_BLAZE_KEY_ID}" \
# -backend-config="secret_key=${BACK_BLAZE_APPLICATION_KEY}"This repository uses automated Terraform workflows for infrastructure changes:
Pull Request - Terraform plan runs automatically
Merge to Main - Terraform apply runs with approval gate
The repository includes reusable workflow helpers:
.github/workflows/helper-plan.yaml - Reusable plan workflow
.github/workflows/helper-apply.yaml - Reusable apply workflow
Workflows use GitHub organization secrets (already configured):
The production environment must be configured with:
# 1. Create a feature branch
git checkout -b feat/add-new-service
# 2. Make your Terraform changes
vim terraform/services/new-service/main.tf
# 3. Push and create PR
git push origin feat/add-new-service
gh pr create --title "Add new service"
# 4. Review plan output in PR comment
# 5. Get PR approval, then merge
# 6. Approve the deploy in GitHub Actions (production environment)
# 7. Changes applied automatically!# Plan deployment
make plan
# Apply (creates VM, volume, firewall)
make apply
# Get access details
make outputIf the automated workflow fails:
This project references Ansible roles from the WebKit repository:
See ansible/ansible.cfg for role path configuration.
This project adapts patterns from WebKit's Terraform modules:
| Back | FazBrowse Home | New Git URL |