41-commit weekend 🤩Feel much better about my #webpack , #ansible, and #packer code #win

permalink

Removing just the dev package with #ansible #provisioning had no effect in local env, but combined with the apt purge in the #packer script, uninstalled mysqlclient

permalink

I recently started cleaning up after myself during #provisioning. There are two steps to this: #ansible uninstalls build deps and #packer executes a cleanup script that does an apt purge and autoremove

permalink

I completed removing build artifacts from source control. Static assets dist and document-root dirs: replaced with running #webpack on host. Third-party #ansible roles: installed from galaxy via #packer and #vagrant at provision time. #win

permalink

Significantly refactored my #webpack static asset pipeline today. No longer build assets locally and check them in. Build happens as part of #ansible provisioning. #win github.com/hyperbola/hyperbola/commit/eaf5b3197

permalink

Switched from community PPA to official nginx-provided binaries. That was ... really easy: github.com/hyperbola/hyperbola/commit/5461837 #win #ansible

permalink

when reading from stdin, ansible-vault encrypt_string does not trim trailing newlines, forcing one to use echo -n. #ansible knows this is a sharp edge and documents it, but they should do the right thing and make it consistent with password files #fail

permalink

6. addendum: since I already had a deploy script, it was straightforward to translate it to #ansible tasks

permalink

6. problem: bespoke deployment steps. deploy and cron run as lopopolo. deploy needs sudo password. solution: #ansible deploy_helper module

permalink

5. problem: environment names are inconsistent across tooling and deployment. solution: hyperbola_environment #ansible variable which parameterizes everything

permalink

3. problem: manual, bespoke server configuration. solution: #ansible, #vagrant, #packer, prebaked AMIs. immutable infrastructure

permalink

The migration from a bespoke-bootstrapped, manual (scripted) deploy process to an #ansible playbook took about 20 commits. I deployed to a local #vagrant box first

permalink

Converted wiki from ELB to ALB this morning ... took a couple of hours. modified #terraform config and updated #ansible ... also converted from Let's Encrypt to ACM. github.com/hyperbola/hyperbola-tools/commit/23fb9a7 #win

permalink

hyperbola-wiki is now fully deployed using #ansible. #vagrant made testing easy. #win

permalink