mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 17:31:34 +01:00
Configure tailscale docker sidecars for all containers at once
This commit is contained in:
parent
4db060800b
commit
490056a0d7
3 changed files with 52 additions and 71 deletions
|
|
@ -1,8 +1,34 @@
|
|||
{ lib, ... }:
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
containers = lib.filterAttrs (_: v: v == "directory") (builtins.readDir ./.);
|
||||
in
|
||||
{
|
||||
imports = lib.mapAttrsToList (name: _: ./${name}) (
|
||||
lib.filterAttrs (_: value: value == "directory") (builtins.readDir ./.)
|
||||
);
|
||||
imports = lib.mapAttrsToList (name: _: ./${name}) containers;
|
||||
|
||||
virtualisation.oci-containers.backend = "docker";
|
||||
sops.secrets = lib.mapAttrs' (
|
||||
name: _: lib.nameValuePair "container/${name}/tailscale-auth-key" { }
|
||||
) containers;
|
||||
|
||||
virtualisation.oci-containers = {
|
||||
backend = "docker";
|
||||
|
||||
containers = lib.mapAttrs' (
|
||||
name: _:
|
||||
lib.nameValuePair "tailscale-${name}" {
|
||||
image = "ghcr.io/tailscale/tailscale:latest";
|
||||
environment = {
|
||||
TS_STATE_DIR = "/var/lib/tailscale";
|
||||
TS_SERVE_CONFIG = "/config/tailscale-serve.json";
|
||||
TS_USERSPACE = "true"; # https://github.com/tailscale/tailscale/issues/11372
|
||||
};
|
||||
environmentFiles = [
|
||||
# Contains "TS_AUTHKEY=<token>"
|
||||
config.sops.secrets."container/${name}/tailscale-auth-key".path
|
||||
];
|
||||
volumes = [ "/var/lib/tailscale-${name}:/var/lib/tailscale" ];
|
||||
extraOptions = [ "--network=container:${name}" ];
|
||||
dependsOn = [ name ];
|
||||
}
|
||||
) containers;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue