From e2d7def99023358b8bdbe42b472f107417058283 Mon Sep 17 00:00:00 2001 From: Sridhar Ratnakumar Date: Tue, 26 Mar 2024 17:24:37 -0400 Subject: [PATCH] So long, sops. --- .sops.yaml | 15 ---------- README.md | 26 +++++++++--------- flake.lock | 55 +------------------------------------ flake.nix | 3 -- justfile | 8 ------ nixos/cache-server.nix | 2 +- secrets.json | 62 ------------------------------------------ 7 files changed, 15 insertions(+), 156 deletions(-) delete mode 100644 .sops.yaml delete mode 100644 secrets.json diff --git a/.sops.yaml b/.sops.yaml deleted file mode 100644 index 54ea23e..0000000 --- a/.sops.yaml +++ /dev/null @@ -1,15 +0,0 @@ -keys: - - &admin_srid age1zdwstn787x2a7hllksjk0zpdx3wdvy3fju8hk33a583jtv3d8q9qsvzfan - - &server_pce age1k2efalw74pce98ff2qa45hadkgew5q43gluefr7l4y4cqg6ul5ms8rlcep - - &server_actual age1jd7cj3jj9g8qkch5k62gqm6fy62ufpx7q6hx06lwuvug4z8ya4uqu6u2ft - - &server_immediacy age1cng52vahpnm8g3gcqf2n8w3jp74pvly3hjyn2zzrhjhaar6epa6szs9dqu - - &server_here age16p9z44nct6jw9eg7v0q0c2e7whcsq8nhc0qmfwatfjajw5mam3gq9gflyk -creation_rules: - - path_regex: secrets.json$ - key_groups: - - age: - - *admin_srid - - *server_pce - - *server_actual - - *server_immediacy - - *server_here diff --git a/README.md b/README.md index 1ce1a22..d0e42c3 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,13 @@ To use this repository as base configuration for your new machine running: ### NixOS Linux -> [!TIP] +> [!TIP] > For a general tutorial, see https://nixos.asia/en/nixos-install-flake - Install NixOS - Hetzner dedicated from Linux Rescue system: https://github.com/numtide/nixos-anywhere (see [blog post](https://galowicz.de/2023/04/05/single-command-server-bootstrap/); example PR: https://github.com/srid/nixos-config/pull/35 where I had to configure networking manually) - Copy from existing configuration (eg: ax41.nix) - - Make networking configuration changes. + - Make networking configuration changes. - Run nixos-anywhere from a Linux system, targetting `root@` - Wait for reboot; `ssh srid@`; profit! - Digital Ocean @@ -41,15 +41,14 @@ To use this repository as base configuration for your new machine running: ## Architecture -Start from `flake.nix` (see [Flakes](https://nixos.wiki/wiki/Flakes)). [`flake-parts`](https://flake.parts/) is used as the module system. +Start from `flake.nix` (see [Flakes](https://nixos.wiki/wiki/Flakes)). [`flake-parts`](https://flake.parts/) is used as the module system. -### Directory layout +### Directory layout - `home`: home-manager config (shared between Linux and macOS) - `nixos`: nixos modules for Linux - `nix-darwin`: nix-darwin modules for macOS - `users`: user information -- `secrets.json` (and `.sops.yaml`): sops-nix secrets - `systems`: top-level configuration.nix('ish) for various systems - `clusters`: Features that span more than 1 system @@ -57,17 +56,18 @@ Start from `flake.nix` (see [Flakes](https://nixos.wiki/wiki/Flakes)). [`flake-p - To update NixOS (and other inputs) run `nix flake update` - You may also update a subset of inputs, e.g. - ```sh - nix flake lock --update-input nixpkgs --update-input darwin --update-input home-manager - # Or, `nix run .#update` - ``` -- To free up disk space, - ```sh-session - sudo nix-env -p /nix/var/nix/profiles/system --delete-generations +2 - sudo nixos-rebuild boot + ```sh + nix flake lock --update-input nixpkgs --update-input darwin --update-input home-manager + # Or, `nix run .#update` ``` +- To free up disk space, + ```sh-session + sudo nix-env -p /nix/var/nix/profiles/system --delete-generations +2 + sudo nixos-rebuild boot + ``` - To autoformat the project tree using nixpkgs-fmt, run `nix fmt`. - To build all flake outputs (locally or in CI), run `nix --accept-flake-config run github:srid/nixci` +- For secrets management, I use [colmena](https://colmena.cli.rs/unstable/features/keys.html) along with 1Password. ## Discussion diff --git a/flake.lock b/flake.lock index e23f897..6f33302 100644 --- a/flake.lock +++ b/flake.lock @@ -1355,22 +1355,6 @@ "type": "github" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1683504292, - "narHash": "sha256-jlZbBIKGa6IMGkcJkQ08pbKnouTAPfeq1fD5I7l/rBw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ba0086c178d4ed60a7899f739caea553eca2e046", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_10": { "locked": { "lastModified": 1682526928, @@ -1431,22 +1415,6 @@ } }, "nixpkgs_14": { - "locked": { - "lastModified": 1683475240, - "narHash": "sha256-sy6MYoCaIZsOenYplbzVXI4Ce9Bp/vIOpuFa97+a6wc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e040aab15638aaf8d0786894851a2b1ca09a7baf", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_15": { "locked": { "lastModified": 1680945546, "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=", @@ -1828,7 +1796,6 @@ "nixpkgs-match": "nixpkgs-match", "nixvim": "nixvim", "nuenv": "nuenv", - "sops-nix": "sops-nix", "treefmt-nix": "treefmt-nix_4" } }, @@ -1951,26 +1918,6 @@ "type": "github" } }, - "sops-nix": { - "inputs": { - "nixpkgs": "nixpkgs_14", - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1683576450, - "narHash": "sha256-seuxApVNHAjbDV2OkRVQ1vzuaOBQcJ/WEyzIlAA+3oU=", - "owner": "juspay", - "repo": "sops-nix", - "rev": "f4b1471b239dcc55cd8e8a8f3fc410c73511e62b", - "type": "github" - }, - "original": { - "owner": "juspay", - "ref": "json-nested", - "repo": "sops-nix", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -2177,7 +2124,7 @@ }, "treefmt-nix_4": { "inputs": { - "nixpkgs": "nixpkgs_15" + "nixpkgs": "nixpkgs_14" }, "locked": { "lastModified": 1689243103, diff --git a/flake.nix b/flake.nix index 442e464..1b7acbd 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,6 @@ colmena-flake.url = "github:juspay/colmena-flake"; # CI server - sops-nix.url = "github:juspay/sops-nix/json-nested"; # https://github.com/Mic92/sops-nix/pull/328 nix-serve-ng.url = "github:aristanetworks/nix-serve-ng"; nix-serve-ng.inputs.nixpkgs.follows = "nixpkgs"; @@ -120,8 +119,6 @@ devShells.default = pkgs.mkShell { inputsFrom = [ config.treefmt.build.devShell ]; packages = [ - pkgs.sops - pkgs.ssh-to-age pkgs.nixos-rebuild pkgs.just pkgs.colmena diff --git a/justfile b/justfile index f398f9f..1c76443 100644 --- a/justfile +++ b/justfile @@ -7,11 +7,3 @@ fmt: # Deploy to github-runner VM github-runner: colmena apply --build-on-target - -# Run this after editing .sops.yaml -sops-updatekeys: - sops updatekeys secrets.json - -# Edit or view the secrets -sops-edit: - sops secrets.json diff --git a/nixos/cache-server.nix b/nixos/cache-server.nix index 03abc13..83f582b 100644 --- a/nixos/cache-server.nix +++ b/nixos/cache-server.nix @@ -7,7 +7,7 @@ ]; # Cache server - sops.secrets."cache-server/private-key".owner = "root"; + # sops.secrets."cache-server/private-key".owner = "root"; services.nix-serve = { enable = true; secretKeyFile = config.sops.secrets."cache-server/private-key".path; diff --git a/secrets.json b/secrets.json deleted file mode 100644 index 9988bdb..0000000 --- a/secrets.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "gh-selfhosted-tokens": { - "srid": "ENC[AES256_GCM,data:k3NGdKxeSMa5sTkteb7M44C4IjNM1HwxiUKLzBiocXIuFqvzy/74kQ==,iv:fHFf/zVljXvj41oRij2TtI27nMB4erQPuIw4ZJsEkws=,tag:Fq+GVUM5hizlXOsL+nj8lA==,type:str]" - }, - "jenkins-nix-ci": { - "ssh-key": { - "public_unencrypted": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCvFRiidXbhBfjIAsDFg72+GT4JxY7xorb/+6KnHoudks4ezhSsieNZRABvYZwJG5GZyCb3a49UFtihStEIlKh5nUCtxVGOcuh5Mjy9Go4asYtL3ZJewa8rmAs6i1ZtLcpg/cww6mywkcMylUGsunLsZcqMh375VIVCXtvTxCPGN++kRo8yOFiCYfvsiZKj2t364qV14b1pXNUbBmZO0mmc9yP+tTKrXzcOk6QCH0AYP7KdWaaGRZbORNpMUOg5VyROW7Q00O+wPoAtg+A3ssYxGmVExLtQDGGg/PTdRVbkrhlBTDAEQ2YH09HStztJNKueBOqZT0Xw6PWCQkrMkNEV8cC95LxMgwTg5puQqfvAkEqj+iI6wxlxV6Q62yYOZSVqFv0fNlEcMWgNXIe55S8UwpPOU4ylmQlNm8IL/r8jKAiXDzS+5R1ai+Nw5BDO7JVyo/Njf5Xi+dXMKfoX38FgzDI8oA2tKRk+eVoY5EUMZ3xcySBoDAwFnKKCkWgBbjZhlMYkYHlIGmA+JAlqswp7RTXQ2aYCmcIMwBptYdo+q4P0pRdeGCs1SqIU5jUDu7C3P8Pxi+U/EBwNJ7+e/Cw1VVCvhUK3AXVm7MEXNVU53xBV8t7yIV3fTGodkzGK8AIACTy93fIiuAVG8v9adxfKBHFvN7OkyieiiMUD0Kgm/w==\n", - "private": "ENC[AES256_GCM,data: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,iv:ddTF4NkXb118kIbrysggmDPUwRKrOi/k97mpdmrIoBI=,tag:NK/Q5m5rEONYfbcTarvX2g==,type:str]" - }, - "cachix-auth-token": { - "description": "ENC[AES256_GCM,data:hQY1vf8vZOZDwCuNOe0G6AKFyEtY0mF/oGA=,iv:lCWFjd+0yoGMZPKsRaFOHvdNzPJKbSQpz/Py+j8JKso=,tag:4Dm3JscWDqJc9yqP0r/3RA==,type:str]", - "secret": "ENC[AES256_GCM,data:evRAdPnirloK9knQkZLMXGKgNzjrZUXBPc1idCYRry3hTt0f70Y6PWluX9owyWhRoxVAbPAt6/8tEfnICsZSbvQsuBsMPQ5WNWfuNgO+yiGuaWuM8LJ78VKAuaYFmWHjR9MCOycRFAr5tgPtb9vhNEUGgrCHLPEhVLdb5kPz3U+QhwmQpc5HMuLnP2K8WJXajAOTHpY=,iv:Re3z9NZ1EdwXfGDjG7KEXOogPIdtZrmSf9plfqRaS3A=,tag:dSm18mst/5iRWpAu1jipFw==,type:str]" - }, - "docker-login": { - "description": "ENC[AES256_GCM,data:QuhV50TZWO+791XIoZbHHPY/QAVd5afPdacUyXLABQw=,iv:Al6ubEaXMOjvFKxh1rbrT621ZEMqG12E6pFDx4tZZok=,tag:F04n/T9/ZoX6PFHr76b0kg==,type:str]", - "user": "ENC[AES256_GCM,data:sR9lVeb4,iv:QRdHIr+R5FV96U1uYCfq2Cezq3apvGPlB90EplLWXec=,tag:aoaC8wmpzJr4stp0HM8ZXQ==,type:str]", - "pass": "ENC[AES256_GCM,data:297e7NEKjyzNXRlv3f+uGyKu,iv:LxcaCG4Tz1xbfr9VJ3suQSnemZFHK7hHRSwrfnM44iY=,tag:GLHHpjHcU4rJ1h/WTG83CA==,type:str]" - }, - "github-app": { - "appID": "ENC[AES256_GCM,data:WmR2IH9X,iv:S/1+XqfQ68rr8ia7bXGDZ/hVWi1t0Y3JQVYLyvJp26c=,tag:0+a0Es5h8eklkHR39H/rzQ==,type:str]", - "description": "ENC[AES256_GCM,data:C1swvIs+o/nALqbZ3mvnq7IeupIDTvFmEA==,iv:QpMN3VuuAkehGcvFxEPYyHoILIdJHhkuHxhQi7dQY8g=,tag:1H02Z5PimzSq6rsj/h5SQA==,type:str]", - "privateKey": "ENC[AES256_GCM,data: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,iv:tRTD+S6OWCFa3Qt49QD43ilWl2C+7J439rWhpeR3y7M=,tag:atq1eoV0072dIK0/FFvw/Q==,type:str]" - } - }, - "cache-server": { - "private-key": "ENC[AES256_GCM,data:TREns13Oxrd0fiwcplkCCwUl1pDC+Da4mTkcVnxbaMphFpqLz5YeTzx3KgSnXWyNilRAHzmQm3CuO1LDZZ0AuOXRpkDGRbJhb8Fx5AMak+ijnRCdZupYRZ+G6L5oc2Sz3JePnIT9,iv:XVws/W1LRtK6TqvpLOGsY5ObNxklt4ltWmThA1uUeoI=,tag:rU580L27x8iuskxskMs8+Q==,type:str]", - "public-key": "ENC[AES256_GCM,data:1VEvP7u5m5SqShSG7RfQEVML24I0SnhENlmJm80mlds3nSjWUn3z6c5A8yckYJNep+fW20R5s0G7fw==,iv:P2O300eIKwT/IGTkffl2sj3LiT5Z42vY7R+get8C36A=,tag:glBpQpjb0wrqYtK64G+MgQ==,type:str]" - }, - "sops": { - "kms": null, - "gcp_kms": null, - "azure_kv": null, - "hc_vault": null, - "age": [ - { - "recipient": "age1zdwstn787x2a7hllksjk0zpdx3wdvy3fju8hk33a583jtv3d8q9qsvzfan", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsL2dkUFdNTVNYbi95QzJE\nNElVU0FEakFsTGVmNzAwbWIxZ21rclJ0R0NrCmU3OUtOaDBMbnZuOS9lRTdFUmtj\nT0lNOVNOakxuVmJJZk5nR01HU2ZhQVUKLS0tIG82VjVRSnNtOENUTlJqdUpXRDY5\nSFo0bHExUk9WT1A2cHZMazlCSUJ1TDQK5Fge5yoAA4eSSRclSVIcI4j/ex/JcpVx\np9qUThVhUtgxXv7cGSk9XcpWxz0p9P8R0LCB9x3aiogTeY4cF/kK6A==\n-----END AGE ENCRYPTED FILE-----\n" - }, - { - "recipient": "age1k2efalw74pce98ff2qa45hadkgew5q43gluefr7l4y4cqg6ul5ms8rlcep", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4cGxwZGZveGRvbnBjWlVS\nVVcycjRKVjAyVjU3WXRTRjVNZ2xQM1U4NFNRCjQvalZjN1JaNXFPSVg0a212Skxz\nOU1leEN6bHIrL0hWQmh4TXVEaFM0VmMKLS0tIG90bm9od1Vyb1JwdHNiWmhOcXdM\nWFY0cDAxYU9SYzdXL3JjNnJFdGFaalkK6K/mGlXeLcOn9DyNfJb+z9+b4fexQ1jJ\nuTpwBYhwvrlKokoW9EbZvxYsppN3vCIpbJi7gHikqyDozFJK7EsIUg==\n-----END AGE ENCRYPTED FILE-----\n" - }, - { - "recipient": "age1jd7cj3jj9g8qkch5k62gqm6fy62ufpx7q6hx06lwuvug4z8ya4uqu6u2ft", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwUVBkTGdhdXB6dTAwUVZ5\nQ0hTMjN3MTlzNm1SUE54NDRCWW4xeEQ2endrCnRCWWtRYy9jc0xLVU5PU0hNV2c4\nTzYwQm0vQzZ0d2RXa3piSFY4aEZkS28KLS0tIFIyQzVpS0lOTWYvQjFKdlBScWpL\nNzJ0Ky9TbDhBbW9OV2xUeUtDdTlic1EK4j8YLOe4mWOMilRvkVYmuRH0RVrjAYcQ\n0tFmzPmFnvQxjyPIF1bUsWyfqAJj9cB2BIlqIGXUf/mOP8gi/Q3drA==\n-----END AGE ENCRYPTED FILE-----\n" - }, - { - "recipient": "age1cng52vahpnm8g3gcqf2n8w3jp74pvly3hjyn2zzrhjhaar6epa6szs9dqu", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxZFdPNy8yQ1NucU81SDRD\nMlYvV3lBUExFdTBoWjAzWnZOSkxhRm9wWTNFCm5kR3RqcENsK3ZNU2ZmMTB4aFJI\nYUNEcGxFWXNXUnJXdUs5aTByQnpYbFkKLS0tIGxFNU03YjJGUncybTNMcE1CQmRR\nR1BKKzNseHViYzc1RjZDVktBYkkyUXMKrag/tpdJ8XyU60FH/sgMdN8gSFSPhpim\nEZ+DIbInt7jq8Q0U39xM/UHjneqZ8N2Eg+R4ISbZoVeF/7hHk2WEkA==\n-----END AGE ENCRYPTED FILE-----\n" - }, - { - "recipient": "age16p9z44nct6jw9eg7v0q0c2e7whcsq8nhc0qmfwatfjajw5mam3gq9gflyk", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMZjZDK0QzMEErdGNMT1dI\naWFSTkFoeURDL1dhcUpxM0ZkbmNlS1BsWUQ0ClUvb1pxSW9Na1oyaGxvWlVEVTUr\naGkzSnZTblJEOWdiSE5vV09hc1hvbFEKLS0tIFdKazQ5blRhcjdoVlY0ekpiUm53\ncEd1OXl0WUMyb242UWdZSUFKeEdmbWcKVP93iipqlAnHKtp75U0LVOdurFbL3JvF\nuhIkPkOkBWWrgSoGvqXVkmFHYKlGl0FriIe5yipDaeCV/+tDEdX1XA==\n-----END AGE ENCRYPTED FILE-----\n" - } - ], - "lastmodified": "2024-02-20T21:52:53Z", - "mac": "ENC[AES256_GCM,data:ue6wtadXQbeY0kyoBg4bBjvdhsFzEhcqsEAhQHvHS39/f4Ke1kWb8KwMhb9ZDColPS3xTj6LCgV6GgJKRwif0cTKIZZ7+Ng8KcXmIT6zPdILA1HDagUV7gMDjxkCXO/rJDV3kWsZj/0v789Pb86jL78u6IL7ECoWJ4M/mHBOA9g=,iv:vOn4W+Mjo6r/HYR06nKsM5U7hLl7BLG1o7cqzTrYEJE=,tag:9nT8YWmKl1KPMTrH0l5HVg==,type:str]", - "pgp": null, - "unencrypted_suffix": "_unencrypted", - "version": "3.8.1" - } -} \ No newline at end of file