adc/ansible
josiah 7b38b89acb Fuck with ansible layout.
1. Fuck around with Goof configuration. I think ultimately this never
went anywhere, and I'll probably rip it out, but I forgot to commit it
at the time so i'm including it just to be safe.

2. Home services and home net refactor. Smaller clean ups

3. Removal of wg stuff.
2023-07-28 09:47:04 -05:00
..
group_vars/all Fuck with ansible layout. 2023-07-28 09:47:04 -05:00
host_vars/larva.home.jowj.net
inventory Create halo role, VM. 2022-12-19 15:47:29 -06:00
roles Fuck with ansible layout. 2023-07-28 09:47:04 -05:00
acme-all.yml Add role for creating new certs for the IRC service. 2021-02-26 16:30:41 -06:00
all.yml
ansible.cfg
awfulAll.yml
halo.yml Create halo role, VM. 2022-12-19 15:47:29 -06:00
home-services.yml Fuck with ansible layout. 2023-07-28 09:47:04 -05:00
mediaserver.yml Fix stupid problems with mediaserver role; redo gpg. 2021-03-13 15:38:49 -06:00
open_the_vault.sh
readme.org Update readme. 2021-02-26 17:27:48 -06:00
requirements.yml
tailscale.yml Create tailscale role, add vars, basic skeleton. 2021-10-13 19:03:17 -05:00
vault_passphrase.gpg Fix stupid problems with mediaserver role; redo gpg. 2021-03-13 15:38:49 -06:00

setup from scratch:

install dependencies

ansible-galaxy collection install -r requirements.yml

run a play

ansible-playbook -i hosts.yml all.yml --ask-vault-pass --ask-become-pass

preparing open_the_vault

wg

clients

you probably want to deploy clients individually most of the time. to do that, provide a tag, like: ansible-playbook -i hosts.yml client_matrix.yml --ask-vault-pass --ask-become-pass --tags matrix_client

adding a client

  • generate a new public/private keypair
  • umask 077
  • wg genkey | tee privatekey | wg pubkey > publickey
  • add the pubkey to the groupvars/main.yml
  • add the privkey to the groupvars/vault.yml
  • add a task referencing the new client
  • add a template with the groupvars embedded.

instructions on specific roles

awfulAll

awfulAll is a single server that's a catch all for services that don't need a dedicated vm. ansible-playbook -i hosts.yml awfulAll.yml --tags awfulAll

mediaserver

ansible-playbook awfulAll.yml --tags mediaserver

certs/letsencrypt/acme stuff

ansible-playbook acme-all.yml -v

  • right now for bouncer, syno