configure ssh keys

This commit is contained in:
Kiara Grouwstra 2024-01-15 22:07:10 +01:00
parent 183790d365
commit 47d40e487f
10 changed files with 44 additions and 0 deletions

View File

@ -2,6 +2,11 @@
let
var = options.variable;
my-lib = import ./lib/default.nix { inherit lib; };
setNames = lib.mapAttrs (k: v: v // { name = k; });
in rec {
provider = {
@ -13,6 +18,8 @@ in rec {
resource = {
hcloud_ssh_key = setNames (lib.mapAttrs (_: v: { public_key = v; }) my-lib.ssh-keys);
};
# Set the variable value in *.tfvars file

5
lib/default.nix Normal file
View File

@ -0,0 +1,5 @@
{ lib, ... }:
{
ssh-keys = import ./ssh-keys.nix { inherit lib; };
}

25
lib/ssh-keys.nix Normal file
View File

@ -0,0 +1,25 @@
{ lib, ... }:
let
# "a/b.ext" -> "b"
fileAttrName = path: let
ext = lib.last (lib.splitString "." path);
in lib.removeSuffix ".${ext}" (builtins.baseNameOf path);
# maps a file to a path
# "a/b" -> "c/d.ext" -> { name = "d"; value = "a/b/c/d.ext"; }
fileAttrInPath = path: name: {
name = fileAttrName name;
value = path + "/${name}";
};
# get an object of files in a directory with a given suffix
# "a/b" -> { "foo" = "a/b/foo.ext"; "bar" = "a/b/bar.ext"; }
dirAttrs = suffix: path: lib.mapAttrs'
(name: _: fileAttrInPath path name)
(lib.filterAttrs
(name: type: lib.hasSuffix suffix name && type == "regular")
(builtins.readDir path));
in lib.mapAttrs (_: lib.readFile) (dirAttrs ".pub" ../ssh-keys)

1
ssh-keys/arjan.pub Normal file
View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHg8MUtkmTJ/klyDK3hqCHm8TTSOMqvtxuXaS/+EQRcTb9BaAajcpMDdpsPx9YHt04x4jsQiOdwV/gi0RRxdEf3lD9jjrGeTeb1gFjLeyttDu6zD0LrTa73Ly//ccN+TnFSnwSgJ+0eSzYJAQu3qIqTyKyBaWGMq1iNwlBQ42PnKSYvnz70qU25zCgVfgUohdeSawNYxYPdvKj4jA4NlVLcZScwk7cOTHZ0bBq2D2ksUsmNmPDKLI55xxKbgBT/7q4T2IKBZixKVA8B1meYDSZ/lUzDy+BlQU+EWjSiue62g/W4KnUBeea+0L91E3YLw0m8LPV/I8EvDnQWj24EyZtCneFxz3EuNyPudr61j0Ec95qFY//nH+HtTqxxa1GO02dtFstGWIvKHaMrU4vEYNpfkSDYHEhinAvT+2yJnj02TT4zEe/2S1u3ESh8y8Q+s2w0uiy0lYcslYrLtTLJhdp+7FTefd0P8v1xXlKTGRmxhsrWMg+VqZ78W3T2ncnNlKvvpOsTHaUNYu4nLCgPVdsc9ZcA7SnNXwfJf/M+h/9mi6/SuKQftwUdUbdTScCnftYrsF93/0bMcCVCZes1O/uCTDNJQEN1acNwie6kdXtAelwHip3d4xdgQgHOpxwvibZsQP5EqLJZOolD2rFzBkDoeo4vEjlFwYdZu4QtNAmaQ== arjan

1
ssh-keys/jelle.pub Normal file
View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDV2gW4NDLtz5uHd15rwnFXBtOC81aQP2FEaCKrO8xKcngE1stSxSurS459HEUmkR8SOjsIcX6Aq7+2GmoPit6sQOPU95dKvakAftxEmLYGZloeRCkaSC4B+qQhnZsCg4Qywgiq2XeEp6OW5sdDYCXfrITOyKFS90Iogvgtw4v2ZJsOwjP1eDqPQsC/s8/0tejxHElz9x7VVPCaaWJjl3Jqn+PyW9KbVhAqbKKxXPflFwlgMXkTlWyJwyim6j6I9WKzWzUHPlLTY/H/0sWkaHu6PRVK0xlDAmT+ptZPDxSSFmiJdPjv9rFghnaljdnwkoxj56kA71VrSp4ThAAs8TUR jelle@linux

1
ssh-keys/kiara.pub Normal file
View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPGnq7xlBaGBtQckPoTG0RS39Egryb0IwVcOIikR/Lwh kiara

1
ssh-keys/leon.pub Normal file
View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAydfA9Nd2KgfJeQ4SfUfZCvUOqr1+4wzTrCRoUbTLmnji/z1RfZILtNwpF+wKa4VJ5CDURn1bJCQsGUbsqBzlEU5RcX7q5WC5GTrZgeUnoquN0qbZVbwxS9oAwupccmHCcnefOnQ/DuOmjlN9Vog6R8THSNgXy0dbLlrN04QOf6OojEUE+/j86LLYyxmdQnHR74qN06droC7itxWFcRL5EK5v/tJxTTkbxMBrgKLHNyh8QqXTrlPRXNkAO9iC7ELdO8ozemySU+avpXh3PrcYfrqCHpjNfaKudVcgXA9AhQGnBvKx1hjSv4YUzWlpJqIPM9MsjoOb7y/WktXfxxyiNw== leon

1
ssh-keys/paul.pub Normal file
View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAzSGmR9SbBKmQEyyzx202O+VyBF5dfKwgRDSo9JWWS6bL+4QDIUh8v4b4Ab7k0czcF7DkAHUQAfBd4HUpLLlqOKdN97zAh4eFqpGOXRmVgn4rD/64FIhkimAASMknBU6oyG9NQWkac35qXZn2FesPDoS7r1URklnN/jDeUW+k5qbZeNG0ppMT826tIYk9nFkFWar77qmO/tCwpB/0oP4Il0UwWRciK9cXV3Zkpyi0Uxw6hZP+3ThZLxTmeqnvqu3XNUCFjVUk4KjZVeedrg6TPfe9G2y2AJfUapSsy8xxJsYqop58vk/MHbyUF8sUw8Q/FRcm+roEPCXKin7Wbs0mwS8nMCghNdQDjbO5uqv4Oeh4A1W7SOxANhxjQhvzCbNcQZ3cRqlr2EE3N8Ev4FbtrjDdh0OxntWw2B1q/xDgHdAaOb08a2GitB2fZjatMe5uPWem5xgj+fEUHZCi8OGw0u/vg80VUYUuSE4pE3ux/hRiO5UqVcnbLGfFH/1tc5UlhpLAN474Y63489V6E9waG6TTYgLpO5qtjjwkFUVrX/LP3YhEvkuyGNmMNX9exIq9QRepPXmCe6sMC3ejyIIanUaeCOdljmE+ubG/Skij9ma6rfH6ZCSa78Dptl6eA/JHI/8ifo9r8RO3Jx3Lwj83vyevoVfgufVuw05QDcFAeQ== paul

1
ssh-keys/tabe.pub Normal file
View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAsrDtszKdnHMgGM9Kx+XDDBRF07+zw65WNroMLIQqPy tabe

1
ssh-keys/virjanand.pub Normal file
View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC2IEz4UT3jx6b35EOnGdZyAId4wX833u2QC87NHWWQoKWVp5UWbJXWsdn0VtpaRohTENycnW/nSE5tdYftVOejEUKCVq828ot1RJeR/Oynlro2fxCFyBySXSLROjRM6v1rtr8vHMDwXmln2pDnNmjnmxWbRD6aWV46bkYJMNub2wEBCqVNAhMqjKzcPWZmFgJddE8tWdOyd/1r3e36aHD2VwgV6KPUo3xQfSsSiYwfcCOWoOnebw4MHxaWKARWeCSJD43ZpGKSm6s3cCMMQVxNC6PdNLrFr94mJ9Pu2vQG141tBfDBNUpbwnDNCaJdskja01VFi0Z2gGcXDCL2gP795WKiWX62ZHWvUEsNbHQaM/xNUNBf5LT0jEWgYxmWWmG6o52vO+c4V5QbT4Ozha9tIP08WSkoZYJEL1S6tY9166puZzO6+iqRTAh8EwP0PwqLuzRgRaX9EWNlhe66Uc1Rrd3nU4FRnfFve+AKc213Uxde0EdrCaaaW0+KgJtKzU0= virjanand@Lenovo