NixOS / infra

NixOS configurations for nixos.org and its servers
MIT License
209 stars 92 forks source link

Rework access management & deployment for the NixOS core infra #324

Closed delroth closed 4 months ago

delroth commented 6 months ago

Please take this as an RFC and feel free to yell at what seems to be a bad idea and/or suggest improvements.

Goals


Plan


Future improvements

zimbatm commented 5 months ago

Sounds good overall.

I would even remove the bastion and wireguard. Make things simple. Take a step back. And then once you're comfortable, re-introduce appropriate security measures. If you have the NixOS firewall enabled, and password auth disabled on OpenSSH, things are already pretty secure.

AmineChikhaoui commented 5 months ago

Might be worth introducing Tailscale for access management and ssh. It would probably make it cleaner to handle ACLs and access control in general.

delroth commented 5 months ago

I won't be making much progress on this for the next ~7 days, so current progress on nixops removal is dumped at https://github.com/NixOS/nixos-org-configurations/compare/master...delroth:nixos-org-configurations:remove-nixops if someone wants to move things forward in the meantime.

delroth commented 4 months ago

I think we can call this fixed:

Unify access management, currently very fragmented.

infra-build can ssh root@{eris,haumea,rhea}.nixos.org

Unify deployment mechanisms.

Everything can now be done with a nixos-rebuild --flake. In the future we can add colmena support for convenience.

Introduce proper secret management.

delft/* now uses agenix. TBD: moving non-critical-infra to agenix too to align.