Commit graph

25 commits

Author SHA1 Message Date
William Carroll
c022f2ba2e feat(wpcarro/diogenes): Support monsterpoker.app
Deploy dummy Shopify site as both a learning exercise and proof-of-concept for
Raf's card game, Monster Poker.

Change-Id: I7bc91dcbf4e171c5e169140f5e9d811303e1285f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4787
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:06 +00:00
William Carroll
f9e3ff80af fix(wpcarro/diogenes): Ensure PTR has trailing dot
For example see how Google does it:

```shell
$ dig google.com
142.250.64.206
$ dig -x 142.250.64.206
mia07s56-in-f14.1e100.net. # <- trailing dot
```

Change-Id: I300ffdc03cc740628a4f07f7822e8fadaf12a57a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4755
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:03 +00:00
William Carroll
44f20ea810 feat(wpcarro/diogenes): Support PTR record configuration
This support reverse-DNS lookups.

I encountered a problem where I accidentally deleted my instance's
`nat_ip` (external, ephemeral IP). I needed to run...

```shell
terraform apply -replace=google_compute_instance.diogenes
```

...which invalidates terraform's local cache of the state. I believe this used
to be called `terraform taint`. Things are mostly WAI, with one known issue:
quasselcore and billandhiscomputer.com complain about missing SSL certs, but I
believe this is a race-condition. Calling...

```shell
systemctl restart quassel.service
```

...resolves the issue for quassel. Unfortunately the same doesn't work for
nginx.service, but after a bit of time https://billandhiscomputer.com "just
works". Clearly I'm not sure what's going on here. At least not yet...

Change-Id: I9f059655cb6e83d56618b77cfe4ed38283614ef6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4753
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:01 +00:00
William Carroll
d6725296ca fix(wpcarro/diogenes): Ensure quassel can read ACME cert
Add quassel to the nginx group because only user=acme and group=nginx can read
/var/lib/acme/*

Change-Id: If456b8ebf43ee098cd8007c3c6235c78c1071250
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4752
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:33:01 +00:00
William Carroll
504a409bd2 fix(wpcarro/diogenes): Launch billandhiscomputer.com
These are now available at https://billandhiscomputer.com. I still need to
update the website copy and transfer wpcarro.dev over from Google Domains. I
think I prefer billandhiscomputer (username bill, bill_and_his_computer,
bill-and-his-computer, the_real_bill), so I may deprecate wpcarro. We'll see...

Change-Id: Ia7831ee4813e2cf639047d22d59d302a50e06e66
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4748
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:31:51 +00:00
William Carroll
39e59c740d feat(wpcarro/diogenes): Nixify diogenes's Terraform configuration
TL;DR:
- Define googleCloudVM function to provision NixOS VMs on Google Cloud.
- Consume googleCloudVM in diogenes/default.nix
- Define README.md for basic usage instructions (subject to change).
- Delete diogenes's HCL
- Remove `diogenesSystem` from meta.targets

I'm still having trouble with DNS:
- I need to transfer the Google Domains config to Cloud DNS
- `host billandhiscomputer.com` is NXDOMAIN, so I don't trust my tf DNS config
- This is preventing me from getting SSL certs, which blocks my website, quassel

Change-Id: If315876c96298e83a5953f13b62784d2f65a1024
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4747
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-01-08 05:31:50 +00:00
William Carroll
1d4f88cbde feat(wpcarro/blog): Add a blog index page
TL;DR:
- Create an index page to list blog posts
- Drop blog.wpcarro.dev -> wpcarro.dev/blog
- Create fragments directory to host reusable static website components
- Consume fragments in wpcarro.dev and wpcarro.dev/blog for brand consistency

Change-Id: Ib8440300c008c3c0c5e5a6f207e4ea207dd41b47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4717
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-27 16:02:47 +00:00
William Carroll
bb72d16cce refactor(wpcarro/blog): Prefer depot.web.blog
Hugo is a bit too heavyweight for my taste.

Change-Id: I331bc5898bd40f1a03bbde8ad69fe3cc9f72c18b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4704
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-27 14:01:32 +00:00
William Carroll
4a84b4af26 feat(wpcarro/diogenes): Disable firewall 🔥
Rely on GCP's VPC configuration, which dedupes my configuration efforts.

Change-Id: Iab0751b2a73a4f41a82b2968ba6aa9ff73bf6ccc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4691
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-27 02:49:16 +00:00
William Carroll
3b709761b5 feat(wpcarro/diogenes): Support mosh
Let's see what mosh is all about...

Change-Id: I0439130f55dc056370397c3e4ea8039f888703c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4690
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-27 02:41:15 +00:00
William Carroll
80ef71e995 feat(ops/auto-deploy): Support auto-deploy
Automatically rebuild the current system's NixOS config from the latest checkout
of depot.

Change-Id: I23aa7af50e16e985ac34df214e0905e770316e5e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4390
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: zseri <zseri.devel@ytrizja.de>
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 14:55:42 +00:00
William Carroll
1d10adb67c fix(wpcarro/diogenes): Admit traffic to wpcarro.dev:6698
It's difficult to know whether or not I need this. When I run the following
commands...

```
wpcarro@diogenes> nmap localhost
PORT     STATE  SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

wpcarro@diogenes> nmap wpcarro.dev
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
443/tcp  open   https
3389/tcp closed ms-wbt-server
```

...neither localhost nor wpcarro.dev reports 6698 being open even though 6698 is
configured to be open in both:
- diogenes/default.nix
- GCP console

Right now, quasselcore is WAI, so I don't want to invest more time into closing
this loop.

Change-Id: I3d68fd901314aa7d364abf9381dff101411e6d15
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4629
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-26 01:04:16 +00:00
William Carroll
e9400403a5 fix(wpcarro/quassel): Drop quassel.wpcarro.dev
Reuse acme cert for wpcarro.dev

Change-Id: I4768bbedf9dcf8d0e08fe02849357b311237cd61
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4613
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-25 21:18:42 +00:00
William Carroll
d21bc0afc3 refactor(wpcarro/nixos): Define common.programs mixin
DRYing-up more configuration.

Change-Id: I390cedd6a325ac17ef06c0887d3e0ac2b387b85b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4601
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-25 16:07:54 +00:00
William Carroll
4eb0dea713 refactor(wpcarro/nixos): Define common.services
DRY things up with this mixin.

Change-Id: I5791a50b01902734dff91d391e1aa90a21ce4fbb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4600
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-25 16:07:54 +00:00
William Carroll
5a943eb2cd feat(wpcarro/diogenes): Set EDITOR
I should be doing most of my remote file editing using Emacs and Tramp, but
sometimes a CLI command triggers the EDITOR, which is `nano` by default. I can
control `vim` better than I can control `nano` within a vterm session, so I'm
trying this configuration for now.

Change-Id: I2023beadfe05a957bc5ddd6e6793a891521f301d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4599
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-25 16:07:54 +00:00
William Carroll
979502335b chore(wpcarro/diogenes): Fix formatting
This is the result of `evil-indent` going wrong.

Change-Id: I8d68bcb790da03b974d478760bf1224b38d56249
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4594
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-25 00:12:21 +00:00
William Carroll
f65126a041 fix(wpcarro/diogenes): programs.fish.enable = true
Hopefully this installs the KBDs for fzf, which is already installed.

Change-Id: Ice7555c45d38e2e07f9fb16d3ddfc5b971c93cf6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4593
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-25 00:07:20 +00:00
William Carroll
c154e6689d refactor(wpcarro): Define common.shell-utils
DRYing up some of my configuration.

Change-Id: I137692789426efc6a6c6880029e605813674fdbe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4592
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-24 23:56:18 +00:00
William Carroll
ad57a833c8 feat(wpcarro/diogenes): Install dig
I'm pretty often using dig server-side.

Change-Id: I030b52875e13cac7ec7a5e7658db2e09ec5afba9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4582
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-24 18:17:35 +00:00
William Carroll
fcb1c375fc feat(wpcarro/diogenes): Enable ssh-agent
Change-Id: I38fe1fcf4be2423acc29c43449cb778c8890df01
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4581
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-24 18:17:35 +00:00
William Carroll
fbfce6c2a0 feat(wpcarro/irc): Support Quassel client/server
- server: diogenes
- client: marcus

Change-Id: Ifc3a58370f6d68aec35ef363a40d03a8429f8012
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4579
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-24 18:11:34 +00:00
William Carroll
eb8b9ab9d6 fix(wpcarro/diogenes): Reset wheelNeedsPassword to false
I unintentionally removed this when configuring the `security.acme` fields.

Change-Id: Idfeed018065ab9a0bc84a074094f6e451f4e1bfb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4521
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-21 23:28:45 +00:00
William Carroll
e879c76778 feat(wpcarro/diogenes): support wpcarro.dev
TL;DR:
- support wpcarro.dev
- support blog.wpcarro.dev
- journaldriver (need to figure out how to install key.json)

Change-Id: I585008b6af74c58bbf831765e800323dabb2272c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4389
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
2021-12-20 03:09:31 +00:00
William Carroll
06a20ba3df fix(ops/diogenes): Ensure diogenes builds
diogenes "passed" CI because the file was named configuration.nix
(vestage from the NixOS default /etc/nixos/configuration). This CL fixes
some issues I encountered after running depot/bin/rebuild-system.

TL;DR:
- rename configuration.nix -> default.nix to trigger CI
- add diogenes to my systems
- add public SSH key

Change-Id: I24197b8936c201267db6f71f00099dce590eac1d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4388
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: tazjin <mail@tazj.in>
Autosubmit: wpcarro <wpcarro@gmail.com>
2021-12-17 22:12:40 +00:00
Renamed from users/wpcarro/nixos/diogenes/configuration.nix (Browse further)