Skip to content

offsoc/ansible-sft

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SFT - Selective Forwarding TURN

Prerequisites

  • Ubuntu 18.04 or Ubuntu 22.04

About this repository

The layout of this repository is structured with a new Ansible feature in mind that is called collection. However, the content only supports Ansible 2.7 (for now). To already allow structural elements like ./roles, some workarounds have been applied, namely an almost empty meta/main.yml.

When we will start to support 2.9, the main TODO is to fully adapt the official structure mentioned in the docs:

Until then, to use one or more roles from this repository installed with ansible-galaxy, the proposed workaround is to extend roles_path with a "deep link" pointing to the location where it was downloaded to, e.g. $GALAXY_INSTALL_PATH/ansible-sft/roles.

Development setup

Note: This is only supported on Ubuntu 18.04 based machines.

  • Install poetry
  • run poetry install anywhere inside the git checkout folder to install the current dependencies.
  • (poetry update can be used to re-generate the .lock file after making changes to dependencies)

Test this role using molecule

Note: This is only supported on Ubuntu 18.04 based machines.

Ensure you have hetzner cloud credentials:

env | grep HCLOUD_TOKEN > /dev/null || echo "[ERROR] Missing HCLOUD_TOKEN" && exit 1

At the moment, you also need AWS credentials in order to create DNS records. FUTUREWORK: remove dependency on AWS credentials.

To start with, create a random number for your server (to avoid name clashes), and cd to the right directory:

export INSTANCE_UUID=$RANDOM
cd roles/sft-server

choose one scenario to run:

export SCENARIO=default
# or
export SCENARIO=without-metrics

create a server

poetry run molecule create -s "$SCENARIO"

apply the playbook from molecule/default/create.yml (run as often as you want)

poetry run molecule converge -s "$SCENARIO"

destroy the server (and apply the molecule/default/destroy.yml playbook)

poetry run molecule destroy -s "$SCENARIO"

all of the above (create, converge, idempotence, destroy)

poetry run molecule test

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jinja 100.0%