Ansible configuration for the Netz39 infrastructure
Find a file
2024-01-04 22:18:23 +01:00
files Add a systemd unit to start the kiosk 2024-01-04 22:18:23 +01:00
group_vars Add timo as user 2024-01-03 21:10:11 +01:00
host_vars Add configuration for grafana screenshots 2024-01-04 22:18:23 +01:00
roles Update cleanURI to the new Site interface 2023-11-28 21:37:07 +01:00
templates Add Script to run the Kiosk on hobbes 2024-01-04 22:18:23 +01:00
.editorconfig Add EditorConfig configuration file 2022-01-08 13:25:36 +01:00
.gitignore git: add ansible vault pass to gitignore 2023-07-25 23:26:23 +02:00
.mailmap 📝 mailmap: Expand alias to real name 2022-12-31 10:43:16 +01:00
.yamllint 🚨 yamllint: Ignore line-length warnings 2022-11-18 08:58:19 +01:00
ansible.cfg feat: add nicer rendering to ansible config 2022-10-24 16:33:16 +00:00
configure-grafana.yml update requirements.yml to correctly install collection 2022-11-12 15:31:51 +01:00
group-all.yml 🐛 Fix origin for unattended-upgrades 2022-11-24 16:03:02 +01:00
group-docker_host.yml 🐳 Add telegraf container for Docker metrics in influxdb 2023-01-10 06:26:14 +01:00
group-k3s.yml install nfs-common on all k3s nodes 2023-11-04 17:16:02 +01:00
group-proxmox.yml 🚚 Rename group playbooks to group-* 2022-11-04 22:35:41 +01:00
host-beaker.yml feat: add admins to proxmox user permissions file 2022-11-11 14:56:02 +01:00
host-hobbes.yml Remove old kiosk setup from hobbes 2024-01-04 22:18:23 +01:00
host-holmium.yml 🧱: change git url to git.n39.eu 2023-09-01 19:06:28 +02:00
host-krypton.yml Change dehydrated_cron name for git dependency specification 2023-11-17 19:53:47 +01:00
host-oganesson.yml 🚚 Rename host playbooks to host-* 2022-11-04 22:34:37 +01:00
host-platon.yml Install jq on platon 2023-01-09 15:49:17 +01:00
host-plumbum.yml feat: add additional nfs exports 2023-12-28 14:46:56 +01:00
host-pottwal.yml feat: add shlink database container 2023-11-30 22:19:51 +00:00
host-radon.yml Set-up docker container for Grafana Screenshots on Radon 2024-01-04 22:18:23 +01:00
host-tau.yml chore(deps): update bitnami/dokuwiki:20230404 docker digest to 37e5b6e 2023-12-28 16:29:20 +01:00
host-unicorn.yml host-unicorn.yml aktualisiert 2023-11-06 22:12:35 +01:00
inventory.yml fix: correct order of operations in nfs-host role 2023-11-04 17:16:02 +01:00
main.yml add nfs-host role for plumbum.n39.eu 2023-11-04 17:16:02 +01:00
README.md 🧱: change git url to git.n39.eu 2023-09-01 19:06:28 +02:00
renovate.json feat: add renovate config to automatically update the docker compose version based on the latest published release on github 2023-12-29 00:01:26 +01:00
requirements.yml chore(deps): update dependency hifis.unattended_upgrades to v3.2.1 2023-12-28 16:28:27 +01:00
setup-ssh.yml 🚨 Fix new-line-at-end-of-file warnings 2022-11-18 08:50:33 +01:00

Ansible configuration for the Netz39 infrastructure

This call lists all hosts defined in the inventory:

ansible all --list-hosts

Setup

ansible-galaxy install -r requirements.yml

Setup SSH Access to hosts

LOGUSER=<loguser>
SSH_KEY=<absolute/path/to/ssh/private/key>
ansible-playbook setup-ssh.yml --ask-vault-pass -e "setup_ssh_logname=$LOGUSER" -e "setup_ssh_key=$SSH_KEY"

Edit vault encrypted vars files

ansible-vault edit group_vars/all/vault

Call with

ansible-playbook --ask-vault-pass main.yml

You need to provide a user with sudo rights and the vault password.

Verify Changes

ansible-lint main.yml
ansible-playbook --ask-vault-pass main.yml --check --diff

HTTPS ingress configuration

HTTPS ingress is controlled by the server holmium and forwarded to the configured servers.

To set up a new HTTPS vhost, the following steps need to be taken:

  1. Select a domain (for internal services we use sub-domains of .n39.eu).
  2. Create an external CNAME from this domain to dyndns.n39.eu.
  3. Create an internal DNS entry in the Descartes DNS config. This is usually an alias on an existing server.
  4. Add the entry to the holmium playbook.
  5. Set up Dehydrated and vhost on the target host, e.g. using setup_http_site_proxy.

Do not forget to execute all playbooks with relevant changes.