feat(headscale): Add "friends" group to ACL

Friends can access other people's machines, but they aren't allowed to
access our servers. The use-case here is people who should be able to,
e.g., use our headscale instance to play Minecraft with friends but
should not, e.g., be able to access our finances through
https://fava.clicks.codes

Change-Id: Idaed7133c951edb6e1fcd6b0f58f363b65161028
Reviewed-on: https://git.clicks.codes/c/Infra/NixFiles/+/803
Reviewed-by: Skyler Grey <minion@clicks.codes>
Tested-by: Skyler Grey <minion@clicks.codes>
1 file changed
tree: 72c2d4f8552eeb00bd54893cd108b8b4b4bdeead
  1. .reuse/
  2. .vscode/
  3. lib/
  4. LICENSES/
  5. modules/
  6. overlays/
  7. secrets/
  8. shells/
  9. systems/
  10. .editorconfig
  11. .envrc
  12. .gitignore
  13. .gitreview
  14. .gitreview.license
  15. CONTRIBUTORS.md
  16. flake.lock
  17. flake.lock.license
  18. flake.nix
  19. README.md
README.md

Clicks - Infrastructure

This repository contains system configuration for Clicks's infrastructure.

Config

Config is written using Snowfall lib. It keeps us organized and has some nice features like namespaces.

Systems

Devices are named after colors, areas are named as a letter, with the matching phonetic alphabet word. Areas are generally managed by one member of Clicks, who has full access to all of the servers in that area. If you require help for a specific area you can email admin@clicks.codes and in the subject line include the area you want help for.

SystemDescriptionAddress
tealPrimary Hostteal.alpha.clicks.domains
a1d2Build Serverd2.a1.clicks.domains

Deploying

Deploys are done with deploy-rs, you'll need to be able to ssh into a machine with its hostname (either by a nifty .ssh/config rule or tailscale).

Once you've done that, you'll be able to deploy with

$ deploy .#MACHINE_NAME