45 lines
2.6 KiB
Org Mode
45 lines
2.6 KiB
Org Mode
* adc: agares deployment core
|
|
this was spun out of agares (which has sense been deprecated) to keep my machine setup bullshit separate from deploys and small docker-compose files not deserving of their own repo.
|
|
|
|
** goals:
|
|
- [ ] use docker for as much as possible (still WIP; pleroma is a notable non-docker core service I gotta figure out)
|
|
- [ ] use ansible for deployment (still WIP; mostly done, pleroma hasn't been moved over to ansible but I think that's the last thing)
|
|
- [X] use ansible-vault for secrets management.
|
|
- when I was a small baby in running my own infrastructure i used real bad default passwords because I didn't know how to do secrets management and just, like, thought I was clever for opting out? oops.
|
|
- [ ] be able to bootstrap my infrastructure from nothing (recovery scenario in case of house fire, robbery, whatever) with a single command.
|
|
|
|
** ansible specific things
|
|
*** for when you inevitably forget how to deploy stuff:
|
|
i mostly run commands using the ~all.yml~ file, like:
|
|
~ansible-playbook -i hosts.yml all.yml --tags=mytag~
|
|
|
|
*** how to handle working with ansible-vault and not want to kill yourself
|
|
i rely heavily on ~ansible-vault~ for secrets management, and to make deployments faster i use a gpg + ansible-vault contraption:
|
|
|
|
- ~open_the_vault.sh~ is a 1liner that just has this inside ~gpg --batch --use-agent --decrypt vault_passphrase.gpg~
|
|
- this script is called every time ansible tries to decrypt ~ansible-vault~ encrypted files
|
|
- ~vault_passphrase.gpg~ is a gpg encrypted file that contains the key to my ansible-vault files.
|
|
- ~vault_passphrase.gpg~ can be decrypted by my gpg agent locally, automatically.
|
|
|
|
running ~ansible-vault edit~ opens a file in my $EDITOR transparently, without prompting me for a passphrase ever. same for deploying; you don't have to pass ~--ask-vault-pass~ ever again!! fuck that's so useful.
|
|
|
|
** riot/matrix deploys
|
|
this is included as a submod and I had to reimplement some of my secrets management / group vars and stuff in the submodule's ansible setup. kind of a pain, frankly, but i'm using a tracking mirror to follow ~ansible-docker-matrix~'s github repo, so there's a lot of work i /don't/ have to do with my setup.
|
|
|
|
** scripts
|
|
houses small scripts that i used to use before i moved to ansible for most things. these should probably all get deleted or converted to ansible roles.
|
|
|
|
*** mac-client
|
|
- set up brew
|
|
- install req packages
|
|
|
|
*** win-client
|
|
- install packages through chocolatey
|
|
- disable a bunch of default shit.
|
|
|
|
*** nix
|
|
- add repos
|
|
- download key to install pscore
|
|
- update apt and install packages
|
|
- automatically create userchrome.css file/dir for ff
|