Ansible project used for my production server for https://openpunk.com
Go to file
CPunch abaa4c9639 switched to roles
- all tasks/* have been moved to their own roles in roles/*
- each file && template is now oragnized per-role
- annotated each task which still isn't idempotent !TODO!
2023-01-14 17:26:17 -06:00
.github/workflows Deploy ansible playbook automagically 2022-10-04 12:21:22 -05:00
group_vars Inital commit 2022-05-30 10:46:36 -05:00
roles switched to roles 2023-01-14 17:26:17 -06:00
secrets@585d0fd7dd updated to latest secrets 2022-10-04 13:09:36 -05:00
.gitignore Added secrets submodule 2022-05-31 13:20:17 -05:00
.gitmodules Added secrets submodule 2022-05-31 13:20:17 -05:00
README.md updated readme 2022-10-04 12:51:54 -05:00
run.yml switched to roles 2023-01-14 17:26:17 -06:00

OpenPunk's Ansible playbook

Workflow

This is my failsafe (and also my helpful migration tool) for restoring the OpenPunk server. This handles setting everything back up, including:

  • gitea
  • blog
  • tor mirror
  • nginx (for the above mentioned)
  • my shell theme (zsh + powerlevel10k)
  • deadswitch (& the ssh + git config to allow pushes)

This playbook assumes the target VPS is running the latest debian stable release.

Automatic deployment

On new release tags the playbook is automatically ran on the production openpunk vps. For more info checkout the .github/workflows/deploy.yaml workflow

Notes to my future self

The deadswitch has the deadtrigger setup every run, so you have a 14-day timer to add a one-liner to your crontab to keep that deadtrigger set.

Usage

ansible-playbook -i hosts --ask-vault-pass run.yml

NOTE: The 'secrets' directory has been omitted from this repo (so it's not going to run without the provided files)

Example hosts file

[hosts]
openpunk-vps ansible_host=104.238.138.76 ansible_user=root ansible_connection=ssh