Run galene in the cloud using OpenTofu and Ansible
  • HCL 97.9%
  • Smarty 2.1%
Find a file
Julien Riou 02d3ee924d
feat: Use the jriou.general Ansible collection
Signed-off-by: Julien Riou <julien@riou.xyz>
2026-03-23 10:11:03 +01:00
ansible feat: Use the jriou.general Ansible collection 2026-03-23 10:11:03 +01:00
tofu feat: Bump versions 2025-11-30 14:50:29 +01:00
.gitignore feat: Use the jriou.general Ansible collection 2026-03-23 10:11:03 +01:00
LICENSE Initial commit 2025-03-18 18:13:38 +01:00
README.md feat: Use the jriou.general Ansible collection 2026-03-23 10:11:03 +01:00

galene-cloud

Run galene in the cloud using OpenTofu and Ansible.

Requirements

  • Ansible (ansible)
  • OpenTofu (tofu)
  • Public Cloud project on OVHcloud
  • Domain zone on OVHcloud

OpenTofu

Configuration

OpenStack provider

tofu/clouds.yaml

The clouds.yaml file will automatically configure the openstack provider to use your Public Cloud project.

Go to the OVHcloud Manager, then "Public Cloud" section, then "Horizon", then "API access". In the drop down on the right, select "OpenStack clouds.yaml File".

You still need to provide the password. Two options:

read -s OS_PASSWORD
export OS_PASSWORD

Or write the password in the clouds.yaml file.

OVH provider

tofu/ovh.conf

Follow the First Steps with the OVHcloud APIs guide, section "Advanced usage: pair OVHcloud APIs with an application", to generate the ovh.conf file.

Variables

  • domain: Name of the domain zone
  • hostname: Name of the server (default: "galene")
  • openstack_image: Name of the OpenStack image (default: "Debian 12")
  • openstack_flavor: Name of the OpenStack flavor (default: "d2-2")

Variables can be provided using files ending with .tfvars extension. See the documentation for more information.

Usage

Change directory to "tofu":

cd tofu

Start

tofu plan
tofu apply

Then follow the instructions for Ansible.

Stop

tofu destroy

Ansible

Installation

cd ansible
ansible-galaxy collection install -r requirements.yml

Configuration

File group_vars/galene.yml:

certbot_domain: &domain galene.tld
certbot_email: contact@galene.tld
galene_domain: *domain
galene_groups:
  group1:
    users:
      admin:
        password: CHANGEME
        permissions: op
      user1:
        password: CHANGEME
        permissions: present
      user2:
        password: CHANGEME
        permissions: present

Usage

ansible-playbook site.yml

Do not forget to destroy the infrastructure when you are done with the video conference.

Aliases

alias galene-start='cd /path/to/galene-cloud/tofu && tofu apply && cd /path/to/galene-cloud/ansible && ansible-playbook site.yml'
alias galene-stop='cd /path/to/galene-cloud/tofu && tofu destroy'