Robert Helewka 82f5e3e094 feat(ansible): add conditional git cloning and fix vault variable names
- Add repo URLs and conditional clone tasks for Agent-S, pulseaudio-module-xrdp, and rommie repositories
- Create required directories (github_dir and repo_dir) before cloning
- Update fetch/pull commands to only execute when repositories are not freshly cloned
- Fix vault variable naming inconsistencies in host_vars files (rosalind.incus.yml, titania.incus.yml)
2026-04-11 09:18:25 -04:00
2026-04-11 07:32:40 -04:00
2026-03-03 11:35:14 +00:00

Ouranos

Red Panda Approved™ Infrastructure as Code

Ouranos is an infrastructure-as-code project that provisions and manages the Ouranos Lab — a development sandbox at ouranos.helu.ca. All infrastructure is tracked in Git for fully reproducible deployments.

Component Purpose
Terraform Provisions 10 specialised Incus containers (LXC) with networking, security policies, and resource dependencies
Ansible Configures Docker, databases, observability stack, and application runtimes across all containers

Containers are named after moons of Uranus and resolved via the .incus DNS domain.

Quick Start

The Ansible virtual environment is expected at ~/env/ouranos/bin/activate.

# Provision containers
cd terraform
terraform init && terraform apply

# Configure services
cd ../ansible
source ~/env/ouranos/bin/activate
ansible-playbook site.yml

Common Operations

# Start all containers
ansible-playbook sandbox_up.yml

# Stop all containers
ansible-playbook sandbox_down.yml

# Update all hosts
ansible-playbook apt_update.yml

# Deploy a specific service
ansible-playbook <service>/deploy.yml

Documentation

Document Description
docs/ouranos.md Complete lab reference — hosts, services, routing, workflows
docs/terraform.md Terraform practices and patterns
docs/ansible.md Ansible project structure and conventions
docs/red_panda_standards.md Red Panda Approval™ quality standards

🐾 Red Panda Approval™

This project adheres to Red Panda Approval™ standards.

Description
Agathos is a comprehensive infrastructure-as-code project that provisions and manages a complete development sandbox environment. The project combines **Terraform** for infrastructure provisioning and **Ansible** for configuration management, themed around the moons of Uranus.
Readme 1.7 MiB
Languages
Jinja 77.5%
Python 11.1%
HCL 8%
HTML 3.2%
Shell 0.2%