diff --git a/flake.nix b/flake.nix index 757108a..38af4d4 100644 --- a/flake.nix +++ b/flake.nix @@ -50,6 +50,11 @@ modules = [ ./hosts/vm/collabora ] ++ baseModules; }; + coturn = nixosSystem { + specialArgs = inputs; + modules = [ ./hosts/vm/coturn ] ++ baseModules; + }; + jitsi = nixosSystem { specialArgs = inputs; modules = [ ./hosts/vm/jitsi ] ++ baseModules; diff --git a/hosts/vm/coturn/coturn.nix b/hosts/vm/coturn/coturn.nix new file mode 100644 index 0000000..6f45b86 --- /dev/null +++ b/hosts/vm/coturn/coturn.nix @@ -0,0 +1,66 @@ +{ config, lib, ... }: + +{ + age.secrets = { + coturn_auth_secret = { + file = ../../../secrets/common/coturn_auth_secret.age; + mode = "440"; + owner = "turnserver"; + group = "turnserver"; + }; + }; + + # Taken from https://wiki.nixos.org/wiki/Matrix#Coturn_with_Synapse + services.coturn = rec { + enable = true; + no-cli = true; + no-tcp-relay = true; + min-port = 48000; + max-port = 50000; + use-auth-secret = true; + static-auth-secret-file = config.age.secrets.coturn_auth_secret.path; + secure-stun = true; + realm = "coturn.crans.org"; + cert = "${config.security.acme.certs.${realm}.directory}/full.pem"; + pkey = "${config.security.acme.certs.${realm}.directory}/key.pem"; + extraConfig = '' + # for debugging + verbose + # ban private IP ranges + no-multicast-peers + ''; + }; + + networking.firewall = + let + range = with config.services.coturn; lib.singleton { + from = min-port; + to = max-port; + }; + in + { + allowedUDPPortRanges = range; + allowedUDPPorts = [ 3478 5349 ]; + allowedTCPPortRanges = range; + allowedTCPPorts = [ 3478 5349 ]; + }; + + users.users.turnserver.extraGroups = [ "nginx" ]; + + security.acme.certs.${config.services.coturn.realm} = { + postRun = "systemctl restart coturn.service"; + }; + + services.nginx.virtualHosts = { + ${config.services.coturn.realm} = { + forceSSL = true; + enableACME = true; + }; + }; + + # services.matrix-synapse.settings = with config.services.coturn; { + # turn_uris = ["turn:${realm}:3478?transport=udp" "turn:${realm}:3478?transport=tcp"]; + # turn_shared_secret = static-auth-secret; + # turn_user_lifetime = "1h"; + # }; +} diff --git a/hosts/vm/coturn/default.nix b/hosts/vm/coturn/default.nix new file mode 100644 index 0000000..5184a92 --- /dev/null +++ b/hosts/vm/coturn/default.nix @@ -0,0 +1,32 @@ +{ ... }: + +{ + imports = [ + ./coturn.nix + ./livekit.nix + ./hardware-configuration.nix + ]; + + networking.hostName = "coturn"; + boot.loader.grub.devices = [ "/dev/sda" ]; + + crans = { + enable = true; + + networking = { + id = 119; + srv = { + enable = true; + ipv4 = "185.230.79.19"; + }; + }; + + services.acme.enable = true; + + resticClient.when = "06:07"; + }; + + services.nginx.enable = true; + + system.stateVersion = "26.05"; +} diff --git a/hosts/vm/coturn/hardware-configuration.nix b/hosts/vm/coturn/hardware-configuration.nix new file mode 100644 index 0000000..3782249 --- /dev/null +++ b/hosts/vm/coturn/hardware-configuration.nix @@ -0,0 +1,45 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + pkgs, + modulesPath, + ... +}: + +{ + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "virtio_pci" + "virtio_scsi" + "sd_mod" + "sr_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/e2406ee7-b3ca-4fe0-8b4b-e4a38a1149ca"; + fsType = "ext4"; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.ens18.useDHCP = lib.mkDefault true; + # networking.interfaces.ens19.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hosts/vm/coturn/livekit.nix b/hosts/vm/coturn/livekit.nix new file mode 100644 index 0000000..97a295b --- /dev/null +++ b/hosts/vm/coturn/livekit.nix @@ -0,0 +1,115 @@ +{ config, pkgs, lib, ... }: + +let + keyFile = "/run/livekit.key"; + domain = "livekit.crans.org"; +in +{ + services.livekit' = { + enable = true; + + openFirewall = true; + + settings = { + port = 8100; + + room.auto_create = true; + + rtc = { + use_external_ip = false; + node_ip = config.crans.networking.srv.ipv4; + tcp_port = 8101; + port_range_start = 50000; + port_range_end = 52000; + enable_loopback_candidate = false; + turn_servers = [ + { + host = config.services.coturn.realm; + port = 3478; + protocol = "tcp"; + secretFile = config.age.secrets.coturn_auth_secret.path; + } + { + host = config.services.coturn.realm; + port = 3478; + protocol = "udp"; + secretFile = config.age.secrets.coturn_auth_secret.path; + } + { + host = config.services.coturn.realm; + port = 5349; + protocol = "tls"; + secretFile = config.age.secrets.coturn_auth_secret.path; + } + ]; + }; + + turn.enabled = false; + }; + + inherit keyFile; + }; + + networking.firewall = + let + range = with config.services.livekit'.settings.rtc; lib.singleton { + from = port_range_start; + to = port_range_end; + }; + in + { + allowedUDPPortRanges = range; + allowedUDPPorts = [ 8100 8101 8102 ]; + allowedTCPPortRanges = range; + allowedTCPPorts = [ 8100 8101 8102 ]; + }; + + users.users.livekit.extraGroups = [ "turnserver" ]; + + services.lk-jwt-service = { + enable = true; + port = 8102; + + livekitUrl = "wss://${domain}"; + + inherit keyFile; + }; + + systemd.services.livekit-key = { + before = [ + "lk-jwt-service.service" + "livekit.service" + ]; + + wantedBy = [ "multi-user.target" ]; + + path = with pkgs; [ + livekit + coreutils + gawk + ]; + + script = '' + echo "Key missing, generating key" + echo "lk-jwt-service: $(livekit-server generate-keys | tail -1 | awk '{print $3}')" > "${keyFile}" + ''; + serviceConfig.Type = "oneshot"; + unitConfig.ConditionPathExists = "!${keyFile}"; + }; + + systemd.services.lk-jwt-service.environment.LIVEKIT_FULL_ACCESS_HOMESERVERS = "crans.org"; + + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + + locations."~ /(get_token|healthz|sfu/get)" = { + proxyPass = "http://localhost:${toString config.services.lk-jwt-service.port}"; + }; + + locations."/" = { + proxyPass = "http://localhost:${toString config.services.livekit'.settings.port}"; + proxyWebsockets = true; + }; + }; +} diff --git a/hosts/vm/neo/default.nix b/hosts/vm/neo/default.nix index f2f99ae..2c5951c 100644 --- a/hosts/vm/neo/default.nix +++ b/hosts/vm/neo/default.nix @@ -25,10 +25,7 @@ resticClient.when = "04:56"; - services = { - acme.enable = true; - coturn.enable = true; - }; + services.acme.enable = true; }; system.stateVersion = "24.11"; diff --git a/hosts/vm/neo/matrix.nix b/hosts/vm/neo/matrix.nix index feb3b62..4850377 100644 --- a/hosts/vm/neo/matrix.nix +++ b/hosts/vm/neo/matrix.nix @@ -1,5 +1,8 @@ { config, ... }: +let + turn_server = "coturn.crans.org"; +in { age.secrets = { ldap_synapse_password = { @@ -22,7 +25,7 @@ }; coturn_auth_secret = { - file = ../../../secrets/neo/coturn_auth_secret.age; + file = ../../../secrets/common/coturn_auth_secret.age; owner = "turnserver"; }; }; @@ -124,8 +127,9 @@ ]; turn_uris = [ - "turn:${config.services.coturn.realm}:3478?transport=udp" - "turn:${config.services.coturn.realm}:3478?transport=tcp" + "turn:${turn_server}:3478?transport=udp" + "turn:${turn_server}:3478?transport=tcp" + "turn:${turn_server}:5349?transport=tls" ]; turn_shared_secret = config.age.secrets.coturn_auth_secret.path; turn_user_lifetime = "1h"; diff --git a/modules/services/coturn.nix b/modules/services/coturn.nix deleted file mode 100644 index e1bc36e..0000000 --- a/modules/services/coturn.nix +++ /dev/null @@ -1,100 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.crans.services.coturn; - - inherit (lib) - mkEnableOption - mkOption - mkIf - types - ; -in - -{ - options.crans.services.coturn = { - enable = mkEnableOption "Coturn, un serveur TURN open-source."; - - secretFile = mkOption { - type = types.path; - default = config.age.secrets.coturn_auth_secret.path; - description = "Fichier contenant le secret de configuration du serveur."; - }; - - fqdn = mkOption { - type = types.str; - default = "crans.org"; - description = "Domaine pour lequel le serveur coturn est configuré."; - }; - - certFile = mkOption { - type = types.path; - default = "/var/lib/acme/${cfg.fqdn}/full.pem"; - description = "Fichier contenant le certificat associé au FQDN."; - }; - - keyFile = mkOption { - type = types.path; - default = "/var/lib/acme/${cfg.fqdn}/key.pem"; - description = "Fichier contenant la clef associé au FQDN."; - }; - }; - - config = mkIf cfg.enable { - services.coturn = { - enable = true; - no-cli = true; - no-tcp-relay = true; - min-port = 49000; - max-port = 50000; - use-auth-secret = true; - static-auth-secret-file = cfg.secretFile; - realm = cfg.fqdn; - cert = cfg.certFile; - pkey = cfg.keyFile; - extraConfig = '' - verbose - no-multicast-peers - denied-peer-ip=0.0.0.0-0.255.255.255 - denied-peer-ip=10.0.0.0-10.255.255.255 - denied-peer-ip=100.64.0.0-100.127.255.255 - denied-peer-ip=127.0.0.0-127.255.255.255 - denied-peer-ip=169.254.0.0-169.254.255.255 - denied-peer-ip=172.16.0.0-172.31.255.255 - denied-peer-ip=192.0.0.0-192.0.0.255 - denied-peer-ip=192.0.2.0-192.0.2.255 - denied-peer-ip=192.88.99.0-192.88.99.255 - denied-peer-ip=192.168.0.0-192.168.255.255 - denied-peer-ip=198.18.0.0-198.19.255.255 - denied-peer-ip=198.51.100.0-198.51.100.255 - denied-peer-ip=203.0.113.0-203.0.113.255 - denied-peer-ip=240.0.0.0-255.255.255.255 - denied-peer-ip=::1 - denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff - denied-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255 - denied-peer-ip=100::-100::ffff:ffff:ffff:ffff - denied-peer-ip=2001::-2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff - denied-peer-ip=2002::-2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff - denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff - denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff - ''; - }; - - networking.firewall = { - allowedTCPPorts = [ - 3478 - 5349 - ]; - allowedUDPPorts = [ - 3478 - 5349 - ]; - allowedUDPPortRanges = [ - { - from = config.services.coturn.min-port; - to = config.services.coturn.max-port; - } - ]; - }; - }; -} diff --git a/modules/services/default.nix b/modules/services/default.nix index 5c91cc2..d179638 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -3,7 +3,7 @@ { imports = [ ./acme.nix - ./coturn.nix + ./livekit.nix ./nginx.nix ./restic.nix ./reverseproxy.nix diff --git a/modules/services/livekit.nix b/modules/services/livekit.nix new file mode 100644 index 0000000..8929bfe --- /dev/null +++ b/modules/services/livekit.nix @@ -0,0 +1,253 @@ + +{ + config, + lib, + pkgs, + utils, + ... +}: +let + cfg = config.services.livekit'; + format = pkgs.formats.json { }; + settings = lib.filterAttrsRecursive (_: v: v != null) cfg.settings; + + isLocallyDistributed = config.services.livekit.ingress.enable; +in +{ + options.services.livekit' = { + enable = lib.mkEnableOption "the livekit server"; + package = lib.mkPackageOption pkgs "livekit" { }; + + keyFile = lib.mkOption { + type = lib.types.path; + description = '' + LiveKit key file holding one or multiple application secrets. Use `livekit-server generate-keys` to generate a random key name and secret. + + The file should have the format `: `. + Example: + `lk-jwt-service: f6lQGaHtM5HfgZjIcec3cOCRfiDqIine4CpZZnqdT5cE` + + Individual key/secret pairs need to be passed to clients to connect to this instance. + ''; + }; + + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Opens port range for LiveKit on the firewall."; + }; + + redis = { + createLocally = lib.mkOption { + type = lib.types.bool; + default = isLocallyDistributed; + defaultText = "true if any other Livekit component is enabled locally else false"; + description = "Whether to set up a local redis instance."; + }; + + host = lib.mkOption { + type = with lib.types; nullOr str; + default = if cfg.redis.createLocally then "127.0.0.1" else null; + defaultText = "127.0.0.1 if config.services.livekit.redis.createLocally else null"; + description = '' + Address to bind local redis instance to. + ''; + }; + + port = lib.mkOption { + type = with lib.types; nullOr port; + default = null; + description = '' + Port to bind local redis instance to. + ''; + }; + }; + + settings = lib.mkOption { + type = lib.types.submodule { + freeformType = format.type; + options = { + port = lib.mkOption { + type = lib.types.port; + default = 7880; + description = "Main TCP port for RoomService and RTC endpoint."; + }; + + redis = { + address = lib.mkOption { + type = with lib.types; nullOr str; + default = if isLocallyDistributed then "${cfg.redis.host}:${toString cfg.redis.port}" else null; + defaultText = lib.literalExpression "Local Redis host/port when a local ingress component is enabled else null"; + example = "redis.example.com:6379"; + description = "Host and port used to connect to a redis instance."; + }; + }; + + rtc = { + port_range_start = lib.mkOption { + type = lib.types.port; + default = 50000; + description = "Start of UDP port range for WebRTC"; + }; + + port_range_end = lib.mkOption { + type = lib.types.port; + default = 51000; + description = "End of UDP port range for WebRTC"; + }; + + use_external_ip = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + When set to true, attempts to discover the host's public IP via STUN. + This is useful for cloud environments such as AWS & Google where hosts have an internal IP that maps to an external one. + ''; + }; + + turn_servers = lib.mkOption { + type = lib.types.listOf (lib.types.submodule { + freeformType = format.type; + options = { + secretFile = lib.mkOption { + type = lib.types.path; + description = '' + Path to a file containing the shared secret of a coturn server. + ''; + }; + }; + }); + default = []; + example = [ + { + host = "coturn.example.com"; + port = 443; + protocol = "tls"; + secretFile = "/run/turn_secret"; + } + ]; + description = '' + An attribute set of turn servers. + ''; + }; + }; + }; + }; + default = { }; + description = '' + LiveKit configuration file expressed in nix. + + For an example configuration, see . + For all possible values, see . + ''; + }; + }; + + config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = cfg.redis.createLocally -> cfg.redis.port != null; + message = '' + When `services.livekit.redis.createLocally` is enabled `services.livekit.redis.port` must be configured. + ''; + } + ]; + + networking.firewall = lib.mkIf cfg.openFirewall { + allowedTCPPorts = [ + cfg.settings.port + ]; + allowedUDPPortRanges = [ + { + from = cfg.settings.rtc.port_range_start; + to = cfg.settings.rtc.port_range_end; + } + ]; + }; + + # Provision a redis instance, when livekit-ingress (or later livekit-egress) are enabled on the same host + services.redis.servers.livekit = lib.mkIf cfg.redis.createLocally { + enable = true; + bind = cfg.redis.host; + port = cfg.redis.port; + }; + + systemd = { + tmpfiles.settings.livekit = { + "/run/livekit-config.json"."f" = { + mode = "600"; + user = "livekit"; + group = "livekit"; + }; + }; + + services.livekit = { + description = "LiveKit SFU server"; + documentation = [ "https://docs.livekit.io" ]; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + + preStart = + let + file = "/run/livekit-config.json"; + in + '' + cat ${format.generate "livekit.json" settings} > ${file} + while $(cat ${file} | ${pkgs.jq}/bin/jq -e 'first((.rtc.turn_servers[]) | select(.secretFile != null)).secretFile != null') + do + secretFile=$(cat ${file} | ${pkgs.jq}/bin/jq -r 'first((.rtc.turn_servers[]) | select(.secretFile != null)).secretFile') + cat ${file} | ${pkgs.jq}/bin/jq "first((.rtc.turn_servers[]) | select(.secretFile != null)).secret = \"$(cat $secretFile)\" | del(first((.rtc.turn_servers[]) | select(.secretFile != null)).secretFile)" > ${file} + done + ''; + + serviceConfig = { + User = "livekit"; + Group = "livekit"; + LoadCredential = [ "livekit-secrets:${cfg.keyFile}" ]; + ExecStart = utils.escapeSystemdExecArgs [ + (lib.getExe cfg.package) + "--config=/run/livekit-config.json" + "--key-file=/run/credentials/livekit.service/livekit-secrets" + ]; + LockPersonality = true; + MemoryDenyWriteExecute = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + PrivateDevices = true; + PrivateMounts = true; + PrivateUsers = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + ProtectHome = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + Restart = "on-failure"; + RestartSec = 5; + UMask = "077"; + }; + }; + }; + + users = { + users.livekit = { + isSystemUser = true; + group = "livekit"; + }; + groups.livekit = { }; + }; + }; +} diff --git a/secrets.nix b/secrets.nix index b052873..ea424cb 100644 --- a/secrets.nix +++ b/secrets.nix @@ -38,6 +38,7 @@ let apprentix = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDCJV6jqQWEYuwi+OJ9r/4TbBN/cK9NvYWNiJhpFzcc7 root@apprentix"; cephiroth = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOsBGkhiu6l3jeo15cQHMu3dPyL025zXPV2ZH02EDYEt root@nixos"; collabora = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFa2D9fREtO2r2oIx6q9JAKFUHtxGbgEPMjkx09DQSU8 root@collabora"; + coturn = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGoR66An5huQucZlueQCcB/vwd085wrS2mUIz39e8QLt root@nixos"; jitsi = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB6jVMIZ5y2oXX9HOkw7r5UUjw95MlFaFuu7FnEC0Q8z root@jitsi"; livre = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEVfKNokHG6ig32hhQxTep+fKFmKahlDClPrX/dP4/gb root@livre"; neo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMGfSvxqC2PJYRrxJaivVDujwlwCZ6AwH8hOSA9ktZ1V root@neo"; @@ -55,6 +56,7 @@ let all = attrsets.mapAttrsToList (_: key: key) hosts; acme = [ + hosts.coturn hosts.jitsi hosts.neo hosts.reverseproxy diff --git a/secrets/acme/env.age b/secrets/acme/env.age index 847ba54..acce9e7 100644 Binary files a/secrets/acme/env.age and b/secrets/acme/env.age differ diff --git a/secrets/apprentix/root.age b/secrets/apprentix/root.age index 545de18..950dbda 100644 Binary files a/secrets/apprentix/root.age and b/secrets/apprentix/root.age differ diff --git a/secrets/common/coturn_auth_secret.age b/secrets/common/coturn_auth_secret.age new file mode 100644 index 0000000..d79f671 --- /dev/null +++ b/secrets/common/coturn_auth_secret.age @@ -0,0 +1,58 @@ +age-encryption.org/v1 +-> ssh-ed25519 2k5NOg bM1vQnYz2d/XtvIAqgZWaV9h00EhoP8ELGJIjjHucUo +jzRAdtv4x4LcV5RcfOImAm4kN3iWvwj5uVk00J04ub4 +-> ssh-ed25519 IJtQuw GOYphd63hgVN5RZRFFaJrnOMhx/ynHxhJrVU+sCuRXA +6c4s9xnszULcAF5rpBz6cUpWu4a+6q4tYlh+6nNhCUc +-> ssh-ed25519 7aCZxQ ejy6VrxzDsTO1MnGg1gzlfscHts0GayBWq6EnjH0/34 +DbQs4OYhZfQmSf5gckw7u4vQ5IXZyj08seaPHyE7anA +-> ssh-ed25519 iTd7eA hGqPTtCwxU+jFXkqSw+ksPohKEV48IGUjObELjXdwkM +S8ame9JvfBtcWSelu19oNv3B9iZ39WwEnuYtQLjPhtw +-> ssh-ed25519 h5sWQA bjWx1tmXabuoM0b+JlvA7Vj5gxxKebqllgkHHx4M5lI +9vMPxodcKbyWHyFpGG8uM7rCK3JaSANs6jweGeUDvB0 +-> ssh-ed25519 /Gpyew Av26H06LGF3pz7R+BtFrfI/bAVBcHhv6oyavN5hd2BU +BObGU1+wF3m6+poaY8/0g7UgvnMwTh0juuk5k+wPDNg +-> ssh-ed25519 APVFfA J/wJz2McMEGTkDNUFMvgTnBM0LLGtqzYB2fTjdnpK1k ++Ka77arqbiThP0aD6BdxLGeLk9K+BgP3IO5oL5dQKXI +-> ssh-ed25519 FtI9pg sPSjKdtIeXbWQiXPuoyPdBb1Plm18gcYcTmIaw+8cEE +KNV+/GDFK3LlubxmBwOuoPR9XHkZ658HxMYEbNq/LR8 +-> ssh-ed25519 hTlmJA F+5JWR7iZEY0UEt6W2taeFPGRGp1onB6cTGRZUWVgBI +OIgCe4fx7ExwsKOG7pF+TlrjzwF0eWUWAk4KZnGYtSc +-> ssh-ed25519 GCcVXA 1SO1SXQb2cMg7id8XVy1jOQ2PpYyGzapUHiDCLSbUm4 +PbXeWdiqdbH98KgV6e/ZBkO+zS81D/O6jB+ZvoqrI9U +-> ssh-ed25519 LAIH1A T+3hL9Vullh4GArLrBNJOYRyGEERUBUxR1ruTcurGR4 +noUgWh+ItZGjQWLyjOP7Pz7XyN81c9gbH/DqY9o//RE +-> ssh-ed25519 qeMkwQ GhNieAL2vzkpU9aNEpAhFXWm1tUMn8MgwVWOmDDTYHE +f6XxFZwd0dU9Qc5OkRnEz7yqnWSZpnK1d9eN+w+fJNw +-> ssh-ed25519 TqxOLw 9J1A/crYBc0s5WRHB8GkhruM2yjEhrxAkmLiU4W8S2c +WpXbWEQ8FX2c3iMmm4oKMAN3+dAZoEkmBD6WfCIto+Y +-> piv-p256 ewCc3w A5BS2YEOzA1Vw4y8sMP+KbLwnVr0nZ6SUlbzw9Boj5AM +YyC6vUYwGGp/rihZM84VCMGxvLvNY/L5bdfNnZO55us +-> piv-p256 6CL/Pw AhycO/+3f7qLq7BMatIroL+sT61P8GqZXFSaiGlWNAyX +q+hcsEz8Bfvx6zRr+13gxL9MkzHsYIanMeBD44Xt97c +-> ssh-ed25519 eOAUSg DPIRJYzX16SYuAGKW6dF1ctewe5dZhmEerCkdVegi34 +8G0iRsTMISXVrp78naecWhEHSd144mFYWG4zXRXQxSc +-> ssh-rsa REaZBA +O8xHVa338tm/NDJzMdIpKpJDqe3JQ1z+9GQveEtEu/TYCjPb508zOhS1UlWpHPxn +t9KHRxddIZcN6ESI1TPkt2SJ0Z9+PRCDJsVj7LXE+2bevc6QjFwZAZVp6LlJnanz +tBLx1ji+P1vV1YFi/IA76ZbqABprf/RRfrEStVgcqhweTzwkyD6XSb7veA8Mk6Vw +whDvNky2qKzscKLD7/t62KEKWIcOUs4o6ZRvSIH0nloQGo65pVgIrkUcWaxZsFea +usZ/YYOm9+qfKlVIsz+7OjIvdb1oD3uE+EVIda7cohfn+xDIwFJOoPcQ33dhi/VP +BnBcWKbgQsBMcDI/95ytSuvN/60sZk6HICQ1Aro2CrnHiUUfGcyLEh4vkpjtb0Ou +NqEtkqOag85lYWrN/92jBb53Tb2yTfAlaMEEmHqLKQ35JGD56MuhE4tJ2p45UrEF +74647+ig7Tgn04a0VPFSnMxsHGH1Y2wT5i6PPfVY9/J76daHfCl261cfbFjxEqgA + +-> ssh-ed25519 J/iReg P0Y3DW1XcetX8AyxAouSW0JeA3JN/h9foBKnxuLCnz0 +vJ4Lce1NUiSDok2dRgC/dpw3dzwybR/+ms3/Ba6ZrJ4 +-> ssh-ed25519 GNhSGw RIbzUU4B1WcMRP61Vu5aZYuxPAsAn9X0Ww3Yet3FZnE +XWJ6OwovuHHNuDWZfvoOxVqLvlZ5vAfgrm8A8QWDCpk +-> ssh-ed25519 eXMAtA 9ZWrqLVOve5+rNtttTLPmrYkqKW1fAYgYDrc32AYtDI +yWXkEfL3mJKhHyAT7yFTOL9ddLf7EG4KZUE2md4b2WA +-> ssh-ed25519 5hXocQ fgO6tvKi57imBReNoQMNP3Wc7ygcF4zCDH6JKcn0NlQ +9siPUHvHfvBXuTz4fwc5oJo5JHWmmgOQCzTKURPOng4 +-> ssh-ed25519 bRHVVA IciRYvXwFnK6ezVuVWYVqBTk/j+p5NMjMJXE3FS4NEY +DnS4GQStNj4iDWI7fgtxRuoE5vtQCIBy9aO6USOFqWA +-> ssh-ed25519 HgW9eA fvD/14o+aCPlX3vpmU2lxPGB42mFxZsVEFE36VMjNmQ +S1B7wBp9fRDmMMv+ak4J7pB4kQG9zU35CMLKtJOfNow +--- GJiv475BRLP6dSijqycUi/5y2mCWQhOAh6+eYZioyZ4 +oX]7,VvPNO b'޾2%)HQIk_ppUtlI3y ++_!Yq tnL4nPx}OArr<%xXC}K5J)ݓP K|@ /GE7N; \ No newline at end of file diff --git a/secrets/common/root.age b/secrets/common/root.age index e1b76db..c308354 100644 Binary files a/secrets/common/root.age and b/secrets/common/root.age differ diff --git a/secrets/neo/appservice_irc_db_env.age b/secrets/neo/appservice_irc_db_env.age index 0276385..c1a6f5f 100644 Binary files a/secrets/neo/appservice_irc_db_env.age and b/secrets/neo/appservice_irc_db_env.age differ diff --git a/secrets/neo/coturn_auth_secret.age b/secrets/neo/coturn_auth_secret.age deleted file mode 100644 index 5f6209e..0000000 --- a/secrets/neo/coturn_auth_secret.age +++ /dev/null @@ -1,33 +0,0 @@ -age-encryption.org/v1 --> ssh-ed25519 /Gpyew gwwmM3XDedFdxIFd92REcgLv0CIb83f2wo81BTcmuVs -7CLQlsrbdcC2I+TFop1iSB6YjH6E5MGrDbxPnePe3JU --> piv-p256 ewCc3w AgITAOii4K9+Xbq5ycDiVQycSmfdcQVASFlaKfTVpyYR -UOThjo/BQF2tU2JMe+5rgNySiwfcZeCy0UHYxJICXDM --> piv-p256 6CL/Pw A5bw0Y8IFThwuoI7/8eOEkJEc1tLoGpMgHqKEvZq9kKH -+LHipQ7p+tUkMmxfy5eDRuRP3+H3Iv5QCV4asfb2mdA --> ssh-ed25519 eOAUSg qk+sku6sjw2oIMwu/1nH+gUaHAoGD6/GnjlrXz07JQQ -hC/LQEyaESI0UhJ5nW0vYHSUZuLhUCPpfUcCFM044Cc --> ssh-rsa REaZBA -EFF327bjCoY1QnXjquMc53I1PEO7br6yY31wm54Tutqzl4oKRoVg7ztxOc1qleXX -EHBOpf+/30o9SITi9U7B4L68WgsJh+B08+Wrok27BHpjzcHHZiT8VZJjQGhpFaN9 -TMehN/eH/C2A0PnBzdd7cHdlCJ3cXEMoZF/aTqMNe4+Jiyn122voxpV9Rt7eM72K -Y0Mfsvwt+vJx+T+9dqcF187kQ8hc/83h0kxbqO7O/mrLfQpFLpF7wD52TAAX8vlX -1DZukblDSSltRRt/2XI4SwtR8ioneJ3LKWq8PUNwvJ6rfjMo8KqwWsZqO7ar8YW3 -/H6ACGUphXZpWc3JuN3wZEodO+gwcYnx6AUgXuZ2DKLanmpmflTg43mRE8BZzDO5 -HWo/LOoErHRBPkiqXYDxyXP+Y3zhp7O7JTzIyA3dt4bjb3ksAKd7Hw4vy1Kqch2j -XE4d5v0uDTMBV6PwJ58JcmqKkmWHLslA0+6GMIwvKqpFWorDa2WGhtKsWeV2eWqZ - --> ssh-ed25519 J/iReg FMq71dEMAtay7dBPc9qaZsw9qvXwE6EQznZn6xfRGHc -910ePcO921m+dJA3MdOmkRYolUntUqpoksRm9CeEEpU --> ssh-ed25519 GNhSGw uIQ0FkYLMke1pRAJx2YnUEj7Bzy11JYDMtpw590Hj2o -62iHQoKl/ysrWgpkmJLs/PUSsuRFNKd/QqvyoQ9tnU0 --> ssh-ed25519 eXMAtA WCsV2/+iJq9PxXlgYKZG4cE7i5MzFB6Xs89JfCCPMzI -zErA0D90CU3L7NRXTTmI9YzHSIdOiaBf2EGONw/XBOk --> ssh-ed25519 5hXocQ zmmtRrPesAFQYYZ6JpefonCBB2dNlCYxlS769OLoe3w -/b7+nMn62LHvSyJ2u6nw6yh87aK4EPVK5uXGNpok/c4 --> ssh-ed25519 bRHVVA hUUrPRVry1Ff1nZEztndLSEyUrTOhlfbrJCUvatnRyQ -Y0TAB1jpR03VbdrAnDnWSeNTJX+srMfqaRCp106bgss --> ssh-ed25519 HgW9eA 5wiFunotVB/3vLxxiFPlNNYxdeffD2Efgi8dikTKl1o -e1MvuQOP+1g832x9Kk9mJaFiPLYH4ngJlUh+rBZav7M ---- CemGwNRUonRtuSx6BTHw2M9JHOuY4mZKoEqfGJgyjxE --k|59CzK/S^h:֔DHAbZ?Om-[JbBXVu_`FNڋtRD"O} QQ5uaV>ZJ!;O&+b;yb\-5U \ No newline at end of file diff --git a/secrets/neo/database_extra_config.age b/secrets/neo/database_extra_config.age index 09e54ff..6e9c344 100644 Binary files a/secrets/neo/database_extra_config.age and b/secrets/neo/database_extra_config.age differ diff --git a/secrets/neo/ldap_synapse_password.age b/secrets/neo/ldap_synapse_password.age index 4aa5546..5c91bf6 100644 --- a/secrets/neo/ldap_synapse_password.age +++ b/secrets/neo/ldap_synapse_password.age @@ -1,33 +1,33 @@ age-encryption.org/v1 --> ssh-ed25519 /Gpyew WTvClaBByXLVpVR6ekYwJpTWhw4aD6bRNDEp3DVu42o -IyYxHrk6+KqUv3qwsBx41uytPSOIs4LaL6mxSxATCvM --> piv-p256 ewCc3w A6bdKPlL3uBjAJSiNFTeQqCvtnz59ttl0NfroCrnZAhA -tAwEPuXLigJmX/wplhPUHbeQZ255gwnPJDWhWo4qVmM --> piv-p256 6CL/Pw A5drVBtV09oKblh9aeFfmhVy/UJex6bVypvPnRj3L6DA -xoKl9RB9PVet88UoH/vRBI/tdSOoI2NVlnTk1eNdnV8 --> ssh-ed25519 eOAUSg zhUS9oNXmH34fb52bdGlfkAdQMFq7+tiOlSSqRJXLzY -1ISRA6o5mk9RTGtjlQjBJ8p02Ey6CJycZrjHfCoj5gE +-> ssh-ed25519 /Gpyew UCnkM4F2d5X+a3tz3p4yluZSgSl+9RNHbpkC3OmqFC0 +Q0Ktjjtxjh6eBhv5TewiokYMpp1Wdp5Ed1QOahGxch8 +-> piv-p256 ewCc3w AqIluz/StggWx6/Y2PzbnyImwLkLmO9PQMDCBAe42Cvu +VA+YEBCYu1qmNB9/VfbJ8Yi+Wy7SDu8qrUs3lPgrAHE +-> piv-p256 6CL/Pw A8lDNpbNUi2+fZUjEpHXi156Feq4qnL+ROSW92/uFsfj +aXJFkbV2MBqePFXE7T0ugrtVEF5gs5DvQRE6D3f5ZrY +-> ssh-ed25519 eOAUSg aZhh1/ZQCmMoqIu8KW9LS2DQklIRrmDjmVmcbMpPGSM +2oOlYm6POeZLvDnT+59E32Vo56kXHCh1unVaYPASy00 -> ssh-rsa REaZBA -fjMa8z12MNcJu1pjIdnHxvqDGPOF0Y3+Uj2AgsnKkwPLchtmMhJb487j0zYjwogu -EseKAuLt+2N+kDYco9O5nMeTtiqd3iOczazrUZ5dubxy1Y6r/VHa1MexGoTJj0ma -qCJ6KcsbVndZGHMf6ASJSa0wqdnd61zvCIU9Tc7el6Q3d+86it73Z93eJfztiNFm -KopgrKQLsZJiLCtd2Iw3SQB4R57qiDZxPRHc/xwE2rZRd7wZ3sTWCrTN1VeKD38H -sNioXesU9N/XbckA54oY1+8h1Ihihrce9BzmvZVYHLYvOTHfE/EqU0B5hjt5Izgt -ef3ObzMSP3isu4ohu+l0NJksIDIJhpIcvkQg+bN+6iADcP0MljX2805naVlXAf3M -jJ2lLLxUOSG8ly/55hVt660DBTxQ4h6MolSBWI/lhjYwXGNAob1Evz39kIgm9X/1 -wXR/ZUE+1Q0fxfYef2v/uQ0IKEaKPi8yH239zaY4RONKrpfJjNLPfELdJjE0wUl/ +E2RUhdRsnklNNseHrRkgA24hrLwajV+xtbDkLYfEHLkvD20Kpi+R0Pwv8msRjYw5 +OIY9CM4Yo6d/pzsmvebw26QR0nuBk5o7Xm79A/hKMohZXae7HQ5cRSc2+v1wyhuc +27OOGZwbfQ/YxaJUbPXQlT/2bQmINRZjUFFys5aHMTOf5NR+8nPlccpLqOMBKMxu +iXPXkXwOzMmyxjPP2Vw3Rj937riaYRiWK9jljiKqad8rwZNU+5BA3pxcgm2ukIhD +4zUtJTUQl0jjyVJGoH7K+LOXMYn3C9ZYLzwHzQOdHHrPLDrx1Kg57XVXUjxVwWS/ +UT/VsriN0HZozjiHLhGffzO9DsOZbw4wRaeUC/aHlu6+4c6Un5QmgcEUIUqn1Za+ +hL6Ovjd9Zjttoe6ZvzBLfY+hq9XxoqAYIwFkKozKZr5o/xhOXmvj1hPDuJhJpIA5 +6nWOi28jbWi4liO1SYVEJA8mytZ5xcE3w3UZpWiZhScH97Clgxo0LfxlrZ1MmO6P --> ssh-ed25519 J/iReg COlfFebSf/s7lKjBq9h4kgAy6zMf+hrRN5zQkf2rGFM -025SIjIoNJkTReTcYvyxXWySl6OrNVBvDLI5HsVyJgw --> ssh-ed25519 GNhSGw hT5oqgHVHMkCz8pHc2XxI7yyt3uFaRu8F6f3xoW6VAI -w/A1CiFkYcLl1GiVBG7qjJAmQ/Rd3AvdiGc1nxDgyNA --> ssh-ed25519 eXMAtA UbBEC8MaZY3SJMQHA1VdZmhY722X1ExyNZuME8oCEwI -IZ3waDkdXgY9bLaSHknVM+LJh+x+397cgRp6OV0Ve9g --> ssh-ed25519 5hXocQ yPxYsrn/FaHWrgCaZEYXmqmGMFFkM93rI9RO0ptcy3k -CAJg72QQOh6g2XRYAwrkuIajY/tUY4wxdUNXjoTDOF8 --> ssh-ed25519 bRHVVA Hr6g7m6P3/OO/JJ6iJhfq/qf/b21hmx5heYLabH5vE0 -RvPOA2StY5obXZ8AqjIt8wyuuGwzq6w3dJj32bP7D6o --> ssh-ed25519 HgW9eA RdxjcI+oSZ6MBkJUOtRuxyFiUvrw616WkdvKQAbOwio -Pak2LAJMngMh5BHilHKkot8x01Xae2nk60B2b4CobUk ---- U42DR5LGkGyFrLN4AwWHWc0HANT2GVmlBFQBf0xPdNI -Ty :'ӣN`hGN ԲBZXS>Fdm8v+Uplw \ No newline at end of file +-> ssh-ed25519 J/iReg P46BPSr/+BxmrYUhImpSgip/ge0+wBtxbyKdFusugW8 +yXLr8S9bgLGoS7OR5pDpHJlclKVmKmMxd8T/OJdjb9w +-> ssh-ed25519 GNhSGw Cwf3Mkj6MnyonpxSVxZgVJOluND8hXShxrnmCwqSIQk +vc8UupMjBTnd7p/3rLz1cKzsOlma0iWdMW7e8tGw2bM +-> ssh-ed25519 eXMAtA YF6TqYFGy3D7HfKutc+YBI/lh9neN/wDBbbsjQkdfy8 +nug7vj272M+/V12z1A0tEIS41RXk7Nl7c/Y+9nCW8tM +-> ssh-ed25519 5hXocQ fvReIYz++N25ZCJk5T04vN0OW0V4YJkwwoZx5+IgJxg +sOx54iIbdoavXKS/h8eV6FPf98EFv8IzyoqGiWvs4+0 +-> ssh-ed25519 bRHVVA A2N2Gjvookh1E5N55JasAlswkH6p921I1Fu8LDzoaho +BGl4F5LTU5m3yxMkB6c5ptZgTkdBFAa3HpLfcKNWOeM +-> ssh-ed25519 HgW9eA gatHrizoNYq2hgMh5fa87Sdg6Y5IqpHlKiA3daCHn1I +IihEcgiSbVv5V0heZ3bzgbLubYRDcSbAPMcdgfBORFQ +--- zUbxRolAkK6RH2615BEDSKpZwTKM2dsnoXYeNXwgmkc +my[o`t+?=# ssh-ed25519 APVFfA VKc/0u03ABfP/ZrZDVvqD6zoxqxhkPON3Sh4qL0iyXM -hpAtWGg76gy9AmFsFxLQd4ErdLGODhjuPbMPwKvPuTA --> piv-p256 ewCc3w AmgG3+53ifY7mTqcQPwNK47SYJXRhSg6eKq0BsULyfl6 -DFYpn2jiqWvR0G6uHhKQ/xncNBYCf0A8GV8/XBEs/gc --> piv-p256 6CL/Pw Ao/Rej9+izxycLqEugsbscibTMvg1e3Oobj180bYLFJ3 -0GVcsvbtad4Ohj3dRyCfU1a7PKAi6jqX8vkruk1OdzA --> ssh-ed25519 eOAUSg 2RLaZqVbGuqIRG+Dhuux0BBk2cgNXltxc29qE/X1GSw -We1/cEncwXFp6FN/BNE+me7g1rcC9Ag3G4EST0aAPsQ +-> ssh-ed25519 APVFfA ivNCUQVXZKqS0atwsmBQwPsXgKQyNa7C0p+cMyjTLAY +7gPrLYovJYdNMnJ9EIvbyl5MZuA8sm9GiWOnNkUqvNI +-> piv-p256 ewCc3w Ah37Hz5OTOXDWQLv0Ctk8RMPT6lGBSYJDhEdiWkRPfQ/ +G1BhutyTjIskrVM6AG+7bFIbfi0k8ogEpgbIEaYPTxo +-> piv-p256 6CL/Pw A4RFrnnTVxiOGEnFpzYV0xb8LYrL+A/cuqy5ozbg0iaX +DP7x2MczKQ2w5IlQ5a8wT1W1xYamftx1SlThbDR/X4s +-> ssh-ed25519 eOAUSg kHWAk4i2JsruS9JxEhElDo61LOrYYsqM8uVlnBOjb04 +bUqcw+RnsJ2Cy6I4rixNFOVp/tvB8zPJbztaOFyMLBc -> ssh-rsa REaZBA -So4LCPrBQ9SpQmy2QWiNcVsZbChDcCDR39vh2rrGUdWtdxKr79blpQXz1Jw9gNEt -8AAQYeUUBhQkpTTMm9A8f7n/vl5sW3ge0Ia4aL2ja8mFvnbGW9CuPCKAnUYD9C7/ -AvNm+DSEsNm85pYnR5bq1Vn4meDsrvehW+8HgWlZIpqFKEd0XS2TgpUdyPgNcbjT -AGBD6GHT9wX2meFe7xCDllWRnRxoa7IQIgZl6QUg5UGXDK4vDE/Rz7omwvvu4jZ3 -WJPYU7vuWdRKGM/7RiXDkn79q2CBceusTbRKRMYEwmiWeMgiPQccLJV0N/LO2x1G -031YfoJHfflq2biDhAWgitJM/0YyR1+S/gaJyqfiEilNJeLcISJrcQiJrIomGPXs -Jwe2umvLwyPH9h7YVeed/aDBNvLwmlxnUaTLdQZ7yq5mLcQdhnebdILXGpdy4YCP -Yt3U2ZolnCE0jKPW37QcSpt1+FLPv5JhaPN2ASOS/136WBkcfP+OJXmzqMRuIGB8 +a6jRhdJIa0fkymzt+uj10YUld4OQgVF/JKlRMIwrsDpIXbUwc/X50CN/nxrfgGOX +rIT1a+uHFUX/QoQiTvLwvhDTDdpiyQx2ef2nXLOREXtQZbDkLwopVVjo0vCJYson +9w6OrZxRgKG17mfdslrCz1jvwVYfDb8RGud5AOzPMBfm58XKFdmqIwuEWyej8C5x +C6I2JIBmwy5t9hT/OfbSbnFsuFjlIH2wd7Wt2fmJKDua2cZuUXXmXPdQi+uqrFpf +0W/gRfSPDBaVxbv8pzci5e0sHP/w4VbU/Ca2L3d8ZStsvS58SSoRmPXKMunLSVm0 +3BekbpA33z30SNKW1H9Uql3sXynfJ9GHKdKMg/EL6eD7o5Qn3fb0qoEKKREf4CLv +U0Y2ds6v2/LucMKNe0JdEb93XXnNVfdIssC4M+wcMqR+2pdNPGSWino2JDHiEs+c +xKmBg3jSviZzxAWk7S09YttIRZu2vVmEFcgsRM6iJJsU748AroW/aKSQ2SEvaUPB --> ssh-ed25519 J/iReg pxkjocCrw3xFCdPdlWIX0nlwSRzBVA7OepVFzdetrRY -afhgZtHpSkv96EiJ8e8Yj7CnYGv99WRmLgahSgpS34c --> ssh-ed25519 GNhSGw 0UgGqPivV2jPiF4/I3+/IfUvTcLvyudKMIoB4CwNrko -bbrw+kdqsqfEFynz+sr91IjcGIRVbQNGCkXxntFy3ug --> ssh-ed25519 eXMAtA QCfLQbTtYI2ORGysr7ngIi3Z89PA/zNGbZjp0AiTyk8 -4NsUMAw7v7AwDC5dd5QuFlNBtQyTH53y/F98gU6Ptng --> ssh-ed25519 5hXocQ zMdYzfF3ZIpxYwwof2ik4Almiszd4wZe8vUhh6+vRFQ -+5xUvD4fYxholtBAiSlHv/rrkYnrH3GWXWzViTg0QCg --> ssh-ed25519 bRHVVA o1JNbbsTjZKS74SebLG2etcTdl7j83AH3V1+Xdq3lBU -p2TxT8q09/GwCx1CJ3GDmU54A84PKcivw1tezHC7qso --> ssh-ed25519 HgW9eA TPbb35xx1P/QHMmV+xMBCSAUWIPxSRha87HuPYnQjVU -mWQp6slqjN4XybY3NR/1VsMJBoVkTB4TUYcPbpz4H/E ---- iiow1Gn2RdjBDjTzNsrraIgPbBGaohBYJWHcIVp4PIs -O Թ (5~Lo}+k;%IvOŪ`1s \ No newline at end of file +-> ssh-ed25519 J/iReg 8r4U/dTCW27vwvLXPaHkztcaiknb1V8UUlTtB7p5TB0 +Hw+kvoO/8G5cYMan+7BJWaOeyQqmaCIGmGplr5wicEc +-> ssh-ed25519 GNhSGw k9T13OpH1WrbjCBaYO0uYVd2RY8uqLMd39T9O9zy2HU +FilQSIip3wqJJW5PVZZ1FdUhBOAfxLSyfcwN95ga0cI +-> ssh-ed25519 eXMAtA dW/X6+qKQJSCVXTYv3wP7WzCSHwCBnL2gAXB5xHrlEk +DUrpkl2a6AnpHJ2GXgBpfRPLCB8hCgRPk2535BWNB+c +-> ssh-ed25519 5hXocQ qY0pab9pW0xOXHNZSE77PdV5AgYQ7wAVhfRSSP4BgGY +CYi1W7TFU2CW7pZFP55+E/xlWgyPBPNAmLKhY6zDubA +-> ssh-ed25519 bRHVVA jFJYk8we3VloIm7cyUosaxlpwb9lt9gdB4lS+JYMtV8 +ec/5qzqwujLNYh68Zxf/tNkktkouWDaek0RKOioZgW4 +-> ssh-ed25519 HgW9eA K3GiQ5asIsuRUL1g7kWuWy6reZWL7Xx7Z1T38kBW9SI +3ECUYiiqQqJuNY3zzYCjjNWIBA5SSSQD6/xksCCWqRY +--- /kX7ZQP0ZXexYGB1edFX6OA6u61bRlTElk4xI2n71RQ +!۫G$^1.ct \+bz ~ߩNFwho6 \ No newline at end of file diff --git a/secrets/nextcloud/nextcloud_db_pass.age b/secrets/nextcloud/nextcloud_db_pass.age index 546957c..c21ad4e 100644 --- a/secrets/nextcloud/nextcloud_db_pass.age +++ b/secrets/nextcloud/nextcloud_db_pass.age @@ -1,33 +1,33 @@ age-encryption.org/v1 --> ssh-ed25519 APVFfA MEREiy+lz/+oOWQCXgoZFy+YvLNJfYv5NOB88QPar2s -JAJY3kKijYprxPz67R+AR5ThBJFkNIBufaR4hiJvgcY --> piv-p256 ewCc3w A0DZfG2CP4yCfcmPNU8cOJTwrMin4WS34a9HTmAiqKr6 -lyGi6hvCWvlKbVlNwOFxySXk0KQv/2rfl8O8vggwksI --> piv-p256 6CL/Pw Aqx1CC6L+wOcBRYYRS/EmDSLiLlgObMDB1qdX7RZOmNx -PVoFcS+oUWZPbiRMgkWnvdqPik26kUcKJRW+ryKhnDM --> ssh-ed25519 eOAUSg KIFuyvO0dsgnUxC/17pXDyJUb0FcsT0eNcXHkvLe3Xo -hGrBguu705aRlXs2jB/ne28T2J4PnX2MgFRtEG2Hn04 +-> ssh-ed25519 APVFfA orn8tguhjK5kpTb2SzSndH6IP1iSt42xOZam9316CT4 +NHFWBKy9SHQ2D9PnSgbZhKOCudqujgWVDZ+az29tJSk +-> piv-p256 ewCc3w AhCXflLPaFwlN6s8VgGi1sTbzKpgYkR6iFmFWm6nAm9P +M46vEFFPSD4BuZtuh0gTngPQly+Bxe1OAHNuCR6Fvgg +-> piv-p256 6CL/Pw AzCXhAU7W62YBo/Zq4C2u4sFs5Yb5SZZU0OoVxZ4AseY +qIEhKiIwevMdFRoS1i9xe817XEuSEs5Y9e5CgILaP98 +-> ssh-ed25519 eOAUSg dJpzW1CTAo0ohvQcCvuBhIcpLAMVYBnjnx5hdXrGnmw +/6XpEFr2YT0WxcApp2nKXD7TI85y8dGoUg4m0ff7ErM -> ssh-rsa REaZBA -YMkNMaoSHxmWqdkj0J4jvjVaLKYMmCRVn0JdZCuYEyXDCNzxxqA5lq2v6qb9Q7FT -Zm9AXaSLxmEA0n/TSO6z4OzGwapvYfT4CWo2atugLn/WyxnkXUujaCsBKqIz8EAK -cbB/X4wL7oQ/6CPs6s/+yqLvrCBpglBqefOOydzko4zlnYLd3eHqAg/UleHjwUrB -amIWY0LCk+8VFfm2nZgavBppjUX22PekUQmL7DfEJ+sxw7ggZkgCA0858C/V77J0 -bkFZPNaEAxK/8XrTImq7DZJiDlL7rrsnLRU4WlY36JSKMu+sAnBgO1wTS2CIwBFp -XqAIRAfKHon3CpR47IpquR1EewRIXdhY4yIYuUFfR8PGmw/+2EPsSQB9C8uYHNA+ -lhGqZ5zwADt/c8SGiWZ1uqOgUDFJ5YLFpyUS5+DekUeEkIHV8OofMjrZehWtnkVw -GQpxMuqfNJP3XTXELTzu9LenyqfqEgSoJmd3xYuVXhZDh20DUU7Q7Wfxsm8v8oL+ +NPPD+ryROmEHtCOTsVgKO6hR6v9liCxKSF2uiji5L7keiy+QBgaSG8oirkbIf0Cj +UL7H+PaB+GTnCJJ/U3S2XY92D5WCQX1FhyoBatM1rtATkRAqPGANfisenxA9qzXc +uYNm9DZZHU1BC/WBYjYPn4azUwzErutAlYxrqGd5LXwlMUqozsnBjAhqyCgSgAis +V2dyIe3mwUY2vzpxz2rQMdEdD2m1jGIbRp5BPfq+u9vvP4BOZWuL7WjRDqwPB1M/ +0qCqBvr2b9DariRSETLNxUbaJ8RFfoxhheX+QPebmKn1doQReBLxtpj9WDogiu1O +yk2pKMwVXjGgiGMbVGXinz0QXiTpbRA2MDwSkAXxGBGb76hKNFV1WLepVrnaLxOT +jIbaO2KX9vL4cXst2hk6gWnaQbpKXGLX45qOMIgtaq6u98aGwmE5AIIJgUDrqTkq +uW5top3GrWolxXRtEREiOsRhAk9HMg3sAD4QJD3AR+iYvjchJMRitV5mIG4g9r3P --> ssh-ed25519 J/iReg ViHzr/6GudA3e+77/QMwyo2FO0aaz3ZDWrtbLDdE1wY -5oMYiaNA10pg7BXEmTbnWo6H7Eqo/AgppKqohFUl1vU --> ssh-ed25519 GNhSGw 8KygxUJSSu7cpkkoCrLbJyYC1ffVmJjONlWrUFujxwM -ySVRJCCgLXE9j3YVWXwgD5IDJI08aDLS7jpaGUUswM4 --> ssh-ed25519 eXMAtA 32fhdjbzEjoG932wsl/FQB8v5gapPrzaFoApP+OrI1w -/k5fP2PgHZocd2fqwGzVpPKt7983x9PuJnF9WKlor2U --> ssh-ed25519 5hXocQ xnB6v7zVJ65yE+IrXBX4HVmPk/XTT6SR1ijj4pzyU1U -NCTnzpVdreHIysyPFSOta6o7kr/2kqSzUS7xbyC3fmo --> ssh-ed25519 bRHVVA T6EAi9J7TFnC0JASXaMP3GFNRsEh9elMRx9TT5tTGyE -Y/sLlkfSbNxp0PnhTYXy/SEBTJ0ZaNx5UC0kq/6SfAM --> ssh-ed25519 HgW9eA QHVry4wJQx8sI6U7SImagoAkF4ImVO8yZismrHuzpms -pnFyGRf0QRTSv1+w55IpdX7xYm5kkod11EoC1WhrEG4 ---- QDxq2YkgBfBf565HppCzUQZ5RwEVmN/+7hcUyz/FdkA -yg~lu5@Zq9xhP58$bA%'/ř8Ejeɥ \ No newline at end of file +-> ssh-ed25519 J/iReg KPHbCGpVP9LRy8TCTvQtylereOyXf8+1i2bTzUnlGDc +0UsKQliZAKxKccEdhYBvpYXsywDHYyJbQVwEjICLMTw +-> ssh-ed25519 GNhSGw 544PtmH7//XgKw1/6t7Ckiz2agGL4uIoAP5y495ysgg +Xl/4MQSRY2UNJHf2QhDPbCcjMtWbCRaHNfEgjhi1j7w +-> ssh-ed25519 eXMAtA t5nLxt/1bEWqLYMa1Lc0O21ZwDMxQGk/gPx7IAOaAVE +xO3NQjXgWZzc1cDUoEPf2xMj5w3wK1eOgQvNZaonZI0 +-> ssh-ed25519 5hXocQ hg4UiZ4QGhLXF5ffuvFyOtpxk+JY+NW+1TTMJxFeURk +1Ueiq17l0lF76CCYAdQrHpjQ0BUAsdzXCIH6NEVyETY +-> ssh-ed25519 bRHVVA /EWxxA5osVpb3F0RfUKXKelskj7zeR87QT6nlJU1qkQ +jRrpWeC5nuozn6ERT/K+thPCMsE/xl3wKhcNdSeuSb0 +-> ssh-ed25519 HgW9eA wlWZbxPUH4XIEqPkZnuUnLt56YXQivLb/4Xz3AgRFEM +dOkXX51lFkMJkAnCTjH6kS58dd4ykQQ5rEpPbmqQF5w +--- liGG2MZwdu8lS/1adK0Asohevjky2jzlDNm0zTCSyFE +Y ssh-ed25519 cZNEGg 4yE5rMf0T/Ck44tKN0QyRiZXq3dCcowZ0guI1QKIfk4 -jpLH9R+yHea5gTz9X/XqfZqdl4UsQSqFbx8ooy6ufuo --> piv-p256 ewCc3w A7tSNH01szuaE5kyyuTEfeefMyR/VfvbNEw2A2QSgiAv -uiP96aSJKFCO/6rGOZSrfUSuqzc7+JditcbGKlKy8mg --> piv-p256 6CL/Pw AuWkuPTVIhOEi2x7cjTpz4KYMdGn9oTx42VEp5hssYVP -C7g5ajOKpUK4XrtUw5/j6qEMCo9SXRBV6oaxabgBAqk --> ssh-ed25519 eOAUSg 7ODoSYHXtdMNbMEoGAeqIh+XZv4zp/TbSamGEGbMl1c -wsFlrjgc2AGa00KtErp/tZ7n8cFBQyAGFfth/o/tGrM +-> ssh-ed25519 cZNEGg evBp5MFASaS945D51A4l6D4WZUJgJHBLXyXEaLuOeDs +LEhg4kDxUQ/7UsKhrtkGYOSE9QudnVUEb41ZY/X69w0 +-> piv-p256 ewCc3w Aw8uCB/SbFqbIu7c+6r8GNrux7slBlNtCm9XK8P/eceA +4itKKSo1yLwdvjZmuXn1yTJBoJ1y/rOXlGTqtQEgfB8 +-> piv-p256 6CL/Pw Atq+RmpSJ14twxxuT+MJqoz78hjKQEnSYHZxW5i4fnAk ++b8EPGUnuRgb9PRucXzRg6ck7hitybML3alcW2SWazY +-> ssh-ed25519 eOAUSg OTpVNOjyM9fH01OnpoUHW6J9CLwoPkmW3OXjAwtyRkU +CYa7jI1y7bU4bJsgGWFy4frSHCmKjVEr1YPcBFPwsjo -> ssh-rsa REaZBA -Dgkjbrh7XCRvzCsCWVT09PdLXtjF1I/cWSAZWvDZdvc0LweAgzRmutXLv6YncF09 -vQ5dACCX83RSSxPkxqeLPY/ym//U9yWwa+UPUqTUxcPagDMnS/RH0ExmcbTg7PoH -ArOK9vfVhTR/uZUJM8dEDh0C/b8J6UKibwDojybn/nuoqZGePPEvTagFud9x7WiM -/FGi8ByJVx07ztvGYF5Xiy86pJQ+5xwK1y+1rtjQO26eFl6szMBn8jL3lhT7IpUi -5jJ/ckF9or+NKIPQE04MRkEo4TKG9emjMsjw0NWaEkK8l4RxVaJrNvpsUsKLec2w -BHOvA2USNOAuulrOlHJG5vBGBwy2CCxUvxPNb8lB3zIOP1jkLP6dDWd6lVVwS+6D -tkcSefbKX+PbUiWX/x4SjhhT9YKYZqU8w76pProl6jeEAnJz/B12NQMcRumfYP6Y -pSMIIxnQ2yUBmTxY3eT4JYkBUiY83uy19WfcuXDbBTfBpP1hnZvU9VQP6hjcZZBg +Y5ltzHkSg2QZMfvP3QJWHQdCXIDHdBelJRuf9EFbSf28NLwecz3LcUULQ6p8/Q6Z +4h2ujNJUa8LGfJwpuH8DDfE/ZL79BRDiDmy/gli0h3lDoM10nAq1I/6rNZphhkpl +Q/iilNk8TY+tVNl7XgYrkyxH0EMDSfniHqQbmF4b8297fV5fdDfZMjjkeWgDDbnj +awOL8GwIZzaFcu2eAdUEN92qk/ggn3ExMeXu+lE6KyZbStZgo3l4lm2QpWmr6n97 +GWb/ccPw8FZG1Vl4KR5Rub5b/IfaCVpXYxB72esqwo4eQ2Iq2EGJh775ZEeN62Zb +yrerHO3wOWqPtlw+S434rpOxifm42yi1biM94jIUucqFTLXvPZFwcdmFS4hhCahC +w6pWYJZHrEdPYadQMd0QU350yHp4AxoQRfMktOV8fLxST5FsJcrhjnU2KsmA2sl+ +d0MbnkVL5ZZEPiKJngp9Kl+6kDPfpUc5XQ0eem93YIM/NDyfYYtbh93BfAdgzvQt --> ssh-ed25519 J/iReg Mm+wU5LNrV43Wi2Oe8KgozDM0qWeLMAN8gNXQ7amuyg -gOhY5U/knFOydERodNiOjRvLz2Z5qWUeLA0/OwlWzvY --> ssh-ed25519 GNhSGw NeBJ6v8rh9OOL5SqflokO9rZpmmiDTivU2VXtxipTDc -yBAmTmNEyzI57M2UZaCWfm/fj8khwzA2FoSx4eD18P0 --> ssh-ed25519 eXMAtA Hs9CS6/PKfigvyxjPVtEMI81T609jf467b9FXFRwYHI -o8QMsLhzd2oQl7mx6ApBGGwBoHlIGi5KUf/+1uYT0l0 --> ssh-ed25519 5hXocQ wzHYIxMAUJ41T8VjTbVS76Numat3lEEUhlOG/ayjwGg -iP3oNKsen75CQgvsUxRSIwRyTi8ciFM/az5bV4igZVg --> ssh-ed25519 bRHVVA +rQA0WXqntTB3HLcgIBfQICOCsr3arwLkalFqyuOKmY -EcLV9p94uyVowuCUbtgFSUU02Hq0FgqRwcxFzQI84n4 --> ssh-ed25519 HgW9eA nO/v7qGEDpYGritz4PfipnENjGkMyVkOmh7bsH6Vrio -j/uyrtdBhlCkyNwzuc/74oraD9lzKUntUpwvgas8Ccw ---- 8IwFQRcJgpWpwCWc+zyeUir2onPBrxi6sMtayU0bAGg -I>mhƽA|6N |jyts-*oQLsq49X,WbHT^¶N\~WӒbVz`r_ -߶EjF,rM#@gERͮdX|H \ No newline at end of file +-> ssh-ed25519 J/iReg /Saf31sbKisdzOE5kH6dq22R0hu66AXfIfeAb7IZgDE +d7368i1dTSehOfb5VJIc0bacSkLx9vGFS3maKGOrvTY +-> ssh-ed25519 GNhSGw 4cIo270efyzhVyVygvmCoJwWXzsFLESN0W4hmgwlaVY +mPbXLE0Q24wVyZY3T5hZFrSqlggiKO+aLrbFT474zRE +-> ssh-ed25519 eXMAtA tRSEFu/On6s+xlpqrS/pbaASuRXg+vZa4GjSENm0yVI +HwxkxlKcD+GoO6PsyesUdxo8ydryJ9TumrkqAAmMcZU +-> ssh-ed25519 5hXocQ l+SU4NDk4V33aR/RDA6xbLN8tfcN3BZA4b9o+wUCbkw +tvagje5ZBHlZ5AYu8hrAkaQ4a3NZWECIT4b+8fNkJYI +-> ssh-ed25519 bRHVVA GhUDokWnd+pL7R5H96sJ3TsxdzG6WaybdbVkTgcIp1E +NuFP0FtjxjtSkl4rd+Qen4enDhOPgRAcZsVgEfCUX8E +-> ssh-ed25519 HgW9eA /CR7LyYR/nqr2/KEhEXBMvZySlaKs5OrG76bbBLDkxE +KBqgt7BvUtpryElKq7DYU6FuGwpszCSwgTHt0Y4V6CE +--- v8OiaNvcX2/ECshMI7U949wfggW9DkLxkzcd2adftoY +m{ 8MUMnRe.I>v'Hϰ,u(̎ jѥzD,k}J%V}Sei|}kxhM)W*u~f>+a^G`OfF1.#8|goo_ " \ No newline at end of file diff --git a/secrets/restic/client_env.age b/secrets/restic/client_env.age index 52c5bc8..9b7723a 100644 --- a/secrets/restic/client_env.age +++ b/secrets/restic/client_env.age @@ -1,56 +1,57 @@ age-encryption.org/v1 --> ssh-ed25519 2k5NOg 4JFNNUIuLhi20eYVbY9ICyhApFPufKB65sMto6xIGHs -4oxn3fdSmT3TGRZA3+9X2+BwtRgYtm3wc/7hNbJNj4o --> ssh-ed25519 IJtQuw SzCJGlEO6mjPnyX/CgeZJg/xUF179aO/EuM/huuyBjM -aC2gXZtpehPoox7YtOH6fMOHbkKTjKQ1MWYkynLl7mQ --> ssh-ed25519 iTd7eA bLK6jmXk+L7xy0oUYJYXsneIcVO+1XfBJ2H30TcpYDQ -W+alCUUOaKxhwXayZc5PiX1xD26Hfs3vbgxbomjfsLY --> ssh-ed25519 h5sWQA 8IKxZOZNiEJ32/KvewWqJ4/cPsY0jMKZgv6lNDQ5Qio -cvqXnwI1HoKpTm8bHkwQPF3OZSW1f7vQwzAW2JB+JkM --> ssh-ed25519 /Gpyew 50ovLI21zrBpSqSCcI473jXg3t8MsgdiuF7zcxoJ3GM -QOw0d+dLT2QabtpqffDOFnbWdF6fGnK/JMAR/ndI0Vc --> ssh-ed25519 APVFfA dUnaOCQw7Llw5Og14XYjNkbfzS53uWfW3v2abI51BlM -SV6X3zay9cYCsucv/Cy1/eUUz9f88f+UhUtU3flWVoI --> ssh-ed25519 FtI9pg EPd0fYl8gm32/S56eSBfaSA4TF0ROeBEMcplSbfuFCw -kL5nKEZ5hDFH54aTKypdIZOYcX4lpfvTPxIHsH5X/rY --> ssh-ed25519 hTlmJA 7B70MXZ1+GKDGKHvG31AJ/i13amQYhOne3ME/OOiQBo -muyXxDQ65lKjRyMzbx6pyM+v0nzyGt1en5gfbRPafS4 --> ssh-ed25519 GCcVXA SvDOf9dh0DrzqorXSuSqr492gX9uX06VcPCWafKkJgc -DZcPAiQJ3Eh57PoHXwBprBIu1LyRcjfolDQ50Whqs5U --> ssh-ed25519 LAIH1A f0u/YZWMimYF9SGAUe8SqErStEE+n6LDGRfLVmudBWU -zb5bX13V9VOev2ALw/FVoAi/akrwwxVHN8iBxviMDPc --> ssh-ed25519 qeMkwQ M+sbtxZKKIn/mDLPbwtMLY8eBu8AQC+SZHrJ21xS0S8 -7V5TniyCiu2OBv3yfvAmQ5qYAsKx/pjRk/w/GpA8Vo4 --> ssh-ed25519 TqxOLw +VRoNFpnwUcBKtoM0czMCPQnFWVMAaXYGja3OPMFEWI -WgYU8fwOcdTj7kwCBZMpmd1DnOHVIH9BI7utv76Zr4U --> piv-p256 ewCc3w AiSwRnJeOZaM8VGMH1ayZqBrrMtWqOARAe9jRasljSCA -psml7oaUtdOknJqShMzTCCaE6uUlkCkrN1DN8V95BGs --> piv-p256 6CL/Pw A1c1t55i+QJ8lHIQwo9y/SXta7gZnSA8+/fZ5d5Oy3MT -TZuKjCJye06gbfxwA9L0CqiAVCO8PhmN0DZ0DuLdIt0 --> ssh-ed25519 eOAUSg XRVpYda48UM29JBk8aoFX79HtSzqtGZzI3wWF+UevjM -WDSEZTrP9YlWhy1niJ0knJekR6u1uypTWsL7PhK9ffE +-> ssh-ed25519 2k5NOg AW6YGd6vEOaebL13kvJY+K6ktmWsgEgwLfI2voUiblU +nu8ATlXnR3L3ghOhLPZBna2VUDJbXhFQvw8nNyMWt7Y +-> ssh-ed25519 IJtQuw glGIex/c/hjcU+Pr/nZPgSOGEWaJF1eTlpoCgbSokVw +ZjWwayPR2e7u1L93ehJf/yZBzaTQ5DqIGO6fMw707u8 +-> ssh-ed25519 7aCZxQ rddzazkANIYb6gaT/KGFlyx5X6XRnzh1wOwIgomC/gA +kB1d9/66DSk2O2cQdxTHU5FmFGTygVFYrA+FDm8mGQk +-> ssh-ed25519 iTd7eA Q4katYHwFDqjHIRm24So0rWGdIll2MTDab+lq8kNiR4 +wgUzMRVV8KiIkSDffgNIxoz5ofDXySLopATV9IpYboA +-> ssh-ed25519 h5sWQA 56j/fQfavPf2nTmwiIIBdNBc5BD6dlgyXdSgYM+LgWo +m0PCqaBtIYWSo0qHSdErkxqIAVuACSCS6mYRTj0HE+Q +-> ssh-ed25519 /Gpyew wK9QAfr45BLk3LSdqEy/+tTOgOa4iHfy5PGBQ6z0j20 +qMM+QS8RgcOYVK3+8yoYVPJEmAcVgth+5ewpZDGeAy4 +-> ssh-ed25519 APVFfA /4WVEZHT45BX7j/I1xTVxJIkh49aelznvBtKjBcY+mE +BB3RcYgrhGohBEE9pEzrQ5FQhQLf3ToA9mLSvkbDSzc +-> ssh-ed25519 FtI9pg 8s+G3b9vXn3QDR+KKYAlDvUymaznA8MB0qQ+LxOwvlM +XuaZlCKVrbWE8RV9mS+3dp62/n77ZAaTq/uN3AaMyI4 +-> ssh-ed25519 hTlmJA 6mew7d/S4Vrdyl03X9sHF4kXb+tCo2XR9wRPKrATKA8 +JKyW5dzqOV69vkuaOmeb7betMBIAgOIElbnp9Fn9kWk +-> ssh-ed25519 GCcVXA F/H4Vy0Z9O8kFhG13jMOM4tqmn8CfYF4IVCIqRlnsgg +k4RS9VnpG5Hx6vgVBEAwy3XT/KwFz1hoHvObPGk/m9g +-> ssh-ed25519 LAIH1A nd68aRv2syHkhinREztguA5GyZ0GmE706/18ktX+zS4 +Kde0evRJ19nevIPnfh/4cfxM4sfGIBNFmkIAmsTDvsQ +-> ssh-ed25519 qeMkwQ YX9gSysvVcIPcgoN1z/QbzrUH3IHLUyen1hIOGG6ZVs +NzY5bPpnap9yMcrj/aEU/Rl+PkbxGc5bowrVoywkHPM +-> ssh-ed25519 TqxOLw 3AVQhHsFA+DdOx7sxRvP8JdQ2gkPBvJEMlY9QfKiKh4 +eGE/SWskw9J3zUdhds0nBYYohRSEAqLCQz5Z6sjJ/0Q +-> piv-p256 ewCc3w A9SkNw5qN0mS2ffhk+29DH8Ta8dAIFOQBSsKYZM/x2Ev +vKxV1f8zP+fVEjeg1pZZ1+fgnb78io/K4a47Z63Z5tI +-> piv-p256 6CL/Pw Awe45iKW00RTDnAIcUcxGtbRytwzhDX/PoxHv+7lnMBo +LmHXiImHqcWFaMXbLNIhqhvno3NyCOL8mWA806rJ3Pg +-> ssh-ed25519 eOAUSg yI73JdK6Q1EQKPM1w7ooiWzJqBHmbLHwGHPOXTmo2nc +qDhN5xYrsLMJ5cFoVhB+LyixNqWxxHTeoomF4/DDMW0 -> ssh-rsa REaZBA -CcMjNE1VNUuHms63f5e24cACtd7I0BTrKzgHhaZhI1bLaW18P8K3hwVnZawF1kzk -OaUS7vsMWAxQbaunBknX8Cv/qcMx31jGgpQDozLIoI2d/7ydINgIhTj0dfAqh7ua -qie/tY+earnlfw3NmUgjncZ838bl2EnV60UINGTAjyEmD2KZNpl9Fvvqd0qiDZtx -XoDPva8rb9NFmcMdjypDIYIcuXFrAhFthcJM3a0n8+sOilbpcmddURcvg6U0aBLb -PIHt7UbUxW+nKjijDCb+pdcYLcwRCtN1L4+VJcJOaiCFwLfYJRxFEPqw2zvjbXsT -PdYlK5bjD4zkC23tpgnDeOLkvyizAQPIorhdfq4FnSpSiFQwL7U2u136chGwP3Y7 -II29dvhWrujxpB6DlERg8P/lZtBBYf87L6qr9vIALETXvOdfwJBFkyoWaGdixkNH -lBG5WtwQu6PDLVBXA1fCIi+yGeMPzQnLaz586axJWWHEt6kvitM5SzS0EGy0XFeb +F0KDiBVo93BDF5Ao87EQU7W0FbuHv2Q1R4oDFndqieMuWcccYzMFAQa6pFPnPsDi +IIb9c6EMCNAUh+ZiBybCaEtQz8DY2S7OONdj0+AEavHYOdhm41143xZAkNKgZNIF +mbX31JEA2u6ObS8fdyLzCVCgJLYg3Oulfz99hloU36cp11oe84a1RmBTwe4hi2u1 +tjvUBlvWALIdqK+OKfmXB3h1Fza/oDcE57GVKW9Kt/pgv7hzD0+FeMhTcm/je97M +ucuqKOmOG6v8BbygdnHY2SGC3hmFd8mSuA7ebCfAfn5xnKXtTnrVyTdk3nzHr0Rf +LvPwWaYXQajCbgl65gZXniPLp6oLMgzsXL1euYXQ4HH+bKVrBZTUFNtiQzSaGJAQ +DqGgTx9/4IzyNSz+RNJKNIpJ6aNsgP7x0ZjisiDATNPhS4H1NiKabriIsdM4f1yt +vwu+bFUlKzOWTHm5r2jVnP2Fq6F5BeQ851gsPMlX7e2CxjmN5tFpC6iNxnLQNgik --> ssh-ed25519 J/iReg s/BY6QmvQJyw7byytxef+Gn2yJyN3rmPfIta1NHilgU -GlGlC2sMlD5svQQjksSrQza9dEa28cGD7wYp3gXTFcI --> ssh-ed25519 GNhSGw A2cML4zxZ39joqitQzAaije7lYjvaToP5Zaj3YDVw1U -aepFO+b/xsBmAvJo64ZxO8ihPF15RMEyk88JgeM3RSs --> ssh-ed25519 eXMAtA CTjbYxyY6ske0K4EbfpjYLv70VY3b0kxWioABKrwcX8 -AiZBwK/NvbglWiimaizhRJsEA3B4CjtrVcYpg02nNuU --> ssh-ed25519 5hXocQ uPXgBgtW5bFLXflrJUM3JpdXXILrYqhJa4W7x5USImM -WPEvLEyQ8uM4ChA0N3tJQnPBNrv3kDo3/0q3z7udJZ8 --> ssh-ed25519 bRHVVA HZSGbkge3sAhNlX8dzsLhcr95bq1LMO2PtxVxK9DynE -RyxAF90n+pmHPYwCN9qr/pnh3X7//p1b0lf9R74CD8Y --> ssh-ed25519 HgW9eA LcRdk02iAiRefpqdHd2qpgqqLcHhTMS67/HDmu6QO0c -4h+iy/MaAROssZGU9pOcVFJ6RSHkOuQn50LySqu/cBw ---- L3BAtWEG18uX2TYkDqr5BN5iF/6thH3K3YPOXUwvFAQ -p1NڵY&)B=: i bo792smꢷ6'.edj@wEV<tw Bqn~FkmetA__PN -~;H±L#3{&a/ \ No newline at end of file +-> ssh-ed25519 J/iReg Ci7xFsMcnkT3eKvnrt1OnS5LjfFzuxb2O0SdW2NfTkY +IJ6M3PU01d/1NuNilEy/JbsxJWaFaHdESzJMNdFC0n4 +-> ssh-ed25519 GNhSGw oBCRVt1BIjcVdcfgt14kxKc6M1WiQGpIqx1clReQhjY +UsHMoXeNWycCKMY82ahCIzlz8hC/cR+TFhB4uKVQxNM +-> ssh-ed25519 eXMAtA Ynq1c6lW7/vGsdzbYjxDFjrs+TETFKWKJBkAdo2pCEM +G8qczt9AX1UBv+vt3EmvCd0aEupfmHHeAQpHhk23bis +-> ssh-ed25519 5hXocQ yW0BMy+YwSHaCvVoqTGalTI5bp0jw6LrC0tlMgj87GY +SdOEpE1aJF48ESa7u9lEiiO8WE0qfM4144fCaiZBXUo +-> ssh-ed25519 bRHVVA lfwy4M9F89wKDUklENlwOCCBA8CRX/wZ74B5vZBMhTs +UxJ8ymyOV0vK6svJHxGczSYSrMCMhcMTo/ZAtcAXxfE +-> ssh-ed25519 HgW9eA 9iIPpKsEuTADcr/ok24PTrXbZWOCEXeGy5H3BsVDLzk +z/qUsx/0djENk0brF6bqDruIfUV7iZZeNLQMyu/lANc +--- 4pYRFmLP9o+j+fSI7s9A5bAN2Q0KT70eSw1gfJjEA8k +p.wߋ,fD?;nviaJ.S f1 Iϱ>:fZZu?#Fh4=t>^$`}p \ No newline at end of file diff --git a/secrets/restic/coturn/base-password.age b/secrets/restic/coturn/base-password.age new file mode 100644 index 0000000..ce694cc Binary files /dev/null and b/secrets/restic/coturn/base-password.age differ diff --git a/secrets/restic/coturn/base-repo.age b/secrets/restic/coturn/base-repo.age new file mode 100644 index 0000000..67328f4 --- /dev/null +++ b/secrets/restic/coturn/base-repo.age @@ -0,0 +1,33 @@ +age-encryption.org/v1 +-> ssh-ed25519 7aCZxQ o+/sq+5iIPsEn79U2d6XmxkgOyhmg/L7GmeBrFR1EVg +HQ7Z7jGJCTrhhPIIN52SYTw7nE0gtEQpOxfV3sPy82c +-> piv-p256 ewCc3w AktaHGX3TyRxRTWJTQjhuhG0urtEQpxZOUBEO2rpGmKR +o5PzBrc41FJ+YQTAe/an60wdG3o+PR/r4rriy2XlcD0 +-> piv-p256 6CL/Pw A5yJ8glRXvh782sazxZ4T7tjLvzIdaZXhAMyrB0ddrUN +HlNA/DmAWyxUJ8RkFiGQqAxArpk8n7bl4EoKjsAAKus +-> ssh-ed25519 eOAUSg ZuvrYCATYw3BT2nq8GaDMPJAebXlYBBMHvqqWULlvWE +6KA+t715lLSOuIn4nLG8ex3klzq/Fmu7r4AAgSFdF+g +-> ssh-rsa REaZBA +J0UUcr4xZ8lG+y9et0TQjAtWbcN1vkiwPiuoyiOL8+1easGI+WCcw7UviO52Xktr +wL9ndvSOw43tFW1EzOLaeij/dcq1mjHWkSUiGKyOQD4y6k14u7ad9Be/V3qLRs3m +jrW5Nc4c77RvWbnhdAicG3lQmcvektxEJiL7EbykimmKIupsRDc+JAyQ3ewoWuzB +Owk9XhmtSm47rHBRxn45rAsJw9GRCN0eozvFjmL6xR3eyoSr6qzh4Wp++BjFeQrF +m2efJsuHUB4GpwSBy4kzOx7ETTXSwJJzGZjQbn7yUC/N+nl0Hu7jkcZfR1D/CByc +HYW1hZTRhd/9DlqqKICBdKkLkj1FI6cKwIkcsAZz1q/1kZEyqAfDYrA0rypK0zqL +8yUPFM16FudeiE4I87WDFPou0hoS8Zdl1pzyRScXFJESqT7y8AXeU7/g6e0mw7oi +xIBBoS42vcFHxy/uf+Hth3PWOplWpaEGV/MegE13mBtgR8BYCEkBTDHyM1fqqSM8 + +-> ssh-ed25519 J/iReg T9B90cgLaH19+YM16JFPzxXWk/jOfJgL1S7ChuuVoRg +5aAYeuoqS8MFvrvmuHGjWp402DiVO3MmzWxpkWePJZo +-> ssh-ed25519 GNhSGw AvvAANHxtcDFohHO0o1GERDoukNEnzxr3MttqKZesE0 +xm0X3BzfmBDAsSIS6xZ8RXLUARqWOH0OItutgXTa4xc +-> ssh-ed25519 eXMAtA dV+wfpM2TmMcz3HFHP92NbJG8GPEMbftbt1mOuNW7T4 +O8Mb+a6g9KzSmiQTsXjdkB6gMaDGkXcoAPxZVljMDOE +-> ssh-ed25519 5hXocQ E91gcLfT9x5mioC24Djeu+KS0CIP5Rn+pzsrd1WctRQ +Ou7s3JDkGikOKdJ9aOzzQOhKtrxj52ccuWCWnmCEoO4 +-> ssh-ed25519 bRHVVA 90J6z+GTk6TGV8pp1yfFf5uLklzS0k4T+AT61wUPAlw +u3Jm6knl5366qhQSFbpjocdjuoouxj3y9fQ+D+bjMGw +-> ssh-ed25519 HgW9eA eKu3G+e3gTp29WTcP4sdvTYC/dMgmzNL8IuCveLkjXs +PNIpx90DHxb551Kslci0gxkXxtmSLu4Y6kk81ApXmis +--- AQfRyPbRD5utbB9BIlfo78Hj8hYHA8MtZscv2yfYSDI +A }܀UIX{aPc)ڦ`Z&iSHq=u,6 $uENh4?R Θ́Pdf#B)Fzb5Q>t`ؾ۩iHu1aϣ6 \ No newline at end of file diff --git a/secrets/restic/jitsi/base-password.age b/secrets/restic/jitsi/base-password.age index 6387385..d70747a 100644 Binary files a/secrets/restic/jitsi/base-password.age and b/secrets/restic/jitsi/base-password.age differ diff --git a/secrets/restic/jitsi/base-repo.age b/secrets/restic/jitsi/base-repo.age index 62efb1a..dd2d919 100644 Binary files a/secrets/restic/jitsi/base-repo.age and b/secrets/restic/jitsi/base-repo.age differ diff --git a/secrets/restic/livre/base-password.age b/secrets/restic/livre/base-password.age index b1b3125..6deab45 100644 Binary files a/secrets/restic/livre/base-password.age and b/secrets/restic/livre/base-password.age differ diff --git a/secrets/restic/livre/base-repo.age b/secrets/restic/livre/base-repo.age index 906b93a..6c7070f 100644 --- a/secrets/restic/livre/base-repo.age +++ b/secrets/restic/livre/base-repo.age @@ -1,33 +1,33 @@ age-encryption.org/v1 --> ssh-ed25519 h5sWQA 0fAhNaSgqgsukXEGknGfiTHJXVMYy+6QzQIElbH40ns -/JslO8el7AlXRYgALaK9xpvJ0M6HCJtDg7cpzCCdl6w --> piv-p256 ewCc3w At/hRIKV1X7wGQobH8ujMNJ0JrYqAVWzFI0whinuh1kw -FviWSt4AsDYOov6m4SQ8qZAG6/LdNb2WD/0MyduwZs0 --> piv-p256 6CL/Pw A+N2Bqt1l4M76y1pzsZmi8eG1OwluiLXh7scRi+SLQC3 -q6zohLzE7vFA/R2Hv7i6O4R3e9WIZ5S1WqEuAn4ky+I --> ssh-ed25519 eOAUSg 5TAHNdIe/CzUAKbcu1/UxLhwDpmTqMJ2CUF/ZeA8838 -5LKMgqj7vYz+jqn/uZsyYVtFHX7Wy9Bw9DZ8qbGmTgQ +-> ssh-ed25519 h5sWQA D7bvnK6wY7dUawapaPLj+D3/NHZH11xUvn5e7vkivFY ++chdYCeQQZdXBlmQQzuhJ578omCMa+m6rEmThbcjL2I +-> piv-p256 ewCc3w A4SFjROYWalCb1o+CjWM3yMW3xhB10f9IeTZPM7Kbr4y +QadI80urhGLeic0na1L5NtWUVQuUWoZvlUUjXemYeKA +-> piv-p256 6CL/Pw A8dFN6Mg4CJve3r3BPcwnvWwXSiOstKSDfZ1MXFscsAf +YVvdrCuDZLJIrKbGWiyYznMdfhu8UOixiJRlcMok1jU +-> ssh-ed25519 eOAUSg 7GF70jCMNb+vRR9qEPkc5yVY+5Me2kGV2AcbvK/PLg0 +jbFNu8Ck50Q4ZyNxABtRPL3QWatNEsU4biGhOOHQ8Ks -> ssh-rsa REaZBA -OAurMaCxEPh9UOOLGQIcClH/wm2xTBJCZyBV+nYyTApOIiWUcZ/L8CkMopmxYnwz -OrRpoJcCgtC5Bv3aYACIXAp67QEEz25Uh0Ds2B0pZiD4FkOwU/l1zoqHlc6+6mKq -F6rhNiv2dcbgbuCWLwHNCc4GH2ycnLFg9YzRBvI9hSAI4vqnezWb0xlJRoJ/1mC7 -ZERvokguC6untYd8oTvKz0K+nWO68ot9HiA2WP3Zr9OvzszTsycpNB31YitRdoag -77qBxz5CS7/74QNAxp4wWgSblCR39QKt9wHkenNskNXtefhIaLpTnefdwib5YFLF -/nSVbC7vt8cuAnXUbd+pk/U74Xzti+BukI6Il+zhyaBBH2QBen+OEQqdWeR6ZreJ -QwMAmDNfBxfcjOkz0Xu6Klp7hIq0ss8osnbV/CovNF0L8oCiGGRDKf8GG0bVSK59 -QCNfCJjj9QvzL3h1gYp04m7dzCSoKQRqK8k79gNbmQpsANujI/BN+dBYy5ECw4fU +Gcuz3Dv3TEv4+6e8redMWZKLg1gSXJ2TcfXsWL2e88FN9ecF8rgC/57LfWbdru4c +/NU0U4Xz67n5sbePx0p8nj5xRiTTaojzsE53GmphyQH620VsGB/cu6xvTWXU2FLR +ctKDCMt+qDyA2Q3mFUXde9xdEkUIYKJ+x04rz5YeO/N53ku9wKzGzL1pDKRyXWBs +SE2o+fIyJj5Y5ejmOyVV/Jr05NVHw4IlHO5xEcTMspvkYjjdhbrLl/zhx75/TbhI +or2TywtnhJ9w46i08bpA0oExbGS3Eiyorm8tPKyRt0THfgiZSzScyIA/Q3/HalXg +OHVsxbJcybr1U2pZ+NG1eOza1tJnF41wGkbZu1mB1dMUyQLIkRqfw4xOp6d7tMlX +LIpzrhl+35YhcQK8KB/Xtdhy72HMtZ7KVrDKUN5NDwJRIaMKXCWV0JgsExY5uLk+ +oJYWEJZFSeiqu01zS1r6I6p+Hy7tITyA2uj2/m4Rbhy4xj82/SUVVCZO+c6kemI6 --> ssh-ed25519 J/iReg /OBIHVXQFy+sI+KfYZeoKgdTKAstF0kU4DGGq9M5qQE -bSkyY88hfe0bMRZEQzCbNgjQQmw0DdSashwkhU6ToXs --> ssh-ed25519 GNhSGw MGrs0x3dxaU68oB5uidTe+sPElRX4afm5Joevo6/EQs -3WhL0bW6gGAOOX9tM2jRtxZXegtta8Jq5di6IpbujKQ --> ssh-ed25519 eXMAtA CxDZOf83xlhI2oal6X2ILkMVGQr7tnaPoRD34tPBxUY -sAQAMFkixKbGTbbbiKoostMnbm7hnj/xCaEI6lwB76Q --> ssh-ed25519 5hXocQ DOxA0vLioq6ofQxoSDI+6XMDZJB9PZM4USrsHRxMm2s -5XAv3fAk9DQXFMMRL/3mn2+gPuwKFFkirwTv8A9MagA --> ssh-ed25519 bRHVVA RS76ZDrMHBtsjpLrSHY7BClnx2rgUGExYdAi+3mc4R4 -N/gGnZzXD/vAymo1qZPfL/MSMTddsOs40i2WIlHlkT4 --> ssh-ed25519 HgW9eA ltaAvnCgn6HM5ORQcKbStGLXNIhuDOAUZqilevUfxFM -QxIAptd2UFyiCqkNT84TKmeaZYji62mEYCbzdz6O9J8 ---- 5xf2QILbHKqqDw5X7l9vllHeIBzhnZADNZFJB/IzwF4 -!Lw6/2휒搃D …নObyW/ۋw: d>4dljF>P ýo\^D4Kȧ͝L/zsI+<)XsT׫ј. \ No newline at end of file +-> ssh-ed25519 J/iReg hnp6unw4s7yXjwgftZWBysKKqqkfdJx7UqB4JhDxMA0 +4SdOdqv/87k2hf8VfubJFxhzVU+9KuFGvIPUv5ZlKqE +-> ssh-ed25519 GNhSGw dw9YFlMMhh1DE0foZCKLUlQRbMQOWN62pN8nCY9DAQ8 +YomghjVaiImcJyCvqr4q5DGt9vLQsScCUV3wq9RfAns +-> ssh-ed25519 eXMAtA Y74NTI9nb6WFJuvrgIJlBedUbD34CQ6LMl640pDQoWY +5WgF1BnguhVEJZtklEZbWlNBt/cEJ72v6+bgfMtoBQ4 +-> ssh-ed25519 5hXocQ XUGuasu2EbXdj4CIL3OV3mC0XKCJ7Eq8zqil0pP0giI +GX3jFiYA4XmUB2Dg5xD2MMq4UnN3MSXk2QB8QHiXqDY +-> ssh-ed25519 bRHVVA QDmQd7BktymyZ9Poxj//6CFIeuGLjojV5KGW7yJLUBQ +HJpAkigwlBIqfLWF3Q16/IJ7rDT3k3V6mG8PSCNkYdY +-> ssh-ed25519 HgW9eA Nx2C4Fdf9DV3Z+sJNUK4N7KfyWE49/XRWUwiN2fk9iQ +/eygITXxPjB5PLbYm5C642R5hu+NsHCGlCUtV3+PvJA +--- Ly439GkAzii8DeczfElB865G/nRcnWv9Rr6M1F9KMcc +NQID"<t"4dC/DX H޾"lBpYG38ە]z?Y ssh-ed25519 APVFfA thK758cqteGYd3zvMWNtQvBMIxWrFNqTyhFycMZ14kc -0Y6eYrMGHCg3jP2xVwE8gQQEUYgrKvmW1CRK/8HrCT4 --> piv-p256 ewCc3w A+Mcz+JbARKxXBPs64/fRY+zxE6uuOZJru86yS0wXLbY -1sX5108tQQ1UAE6aoMR0NnYmd2LK7OT6wnw1TKmPBvc --> piv-p256 6CL/Pw A0GorBRF12nh2obMr+RHCcUQNAEQeUc4IO1rPBZdgmLM -CJ5NONPMr9YUb0n2qhWQvk+xLSd62v1NPe+5I2HBGho --> ssh-ed25519 eOAUSg qMOCl4QKSHIZ4/+5zH5M6XogMUTV3QSELKPQM4j1gS4 -7zwUp6H6amlLbWIcOga98zKVlSCPlny/DF5VFhfO19I +-> ssh-ed25519 APVFfA ldkaK1ibVpEM87AJiaeUsM4rr1GSnTwFyHm10ykWhjU +SsLzwu9OuRFtHqnmi94bqKcAAsYMH9qZwQAZpcvqZVg +-> piv-p256 ewCc3w AsWjdLqxroB4yoQ2anvt5vf2s+jb9hUzGb+X4ahIUqYm +4/1SFDzF3qSZmjniwJj0XBG+THjsqFIbEIld1AchWe8 +-> piv-p256 6CL/Pw A/NihbgO5Ga0CMxkaoAGM0Z4fa6vQWsy84tdPrm3KfXR +sbzDu1lnY67pC63fohdRM+8zo0U3wQDUZVl66iw9LTY +-> ssh-ed25519 eOAUSg v+0DV7LDb5pqfTMFnK5IIUbCChS7eGOJIaZ4aFmBcFs +Bd3fnd3+c0F3WsNyDxIs/6w37gOvdZTUDB6B/6GqoCY -> ssh-rsa REaZBA -eLuxDG6bAuzuEWyuFNyon7/D8McmXvVQbB4DUnCO1r2OXavIvfMbWhwcNT+wI/Iw -RJ58kwvk0rpQxl9LIzxs2e6WOAXverlW8ZWcMytr3kYonbfvvyKIYSHeQFG0B8aY -QZkZkmt8lyYXng81KJDY++5ti8jyUlVOgVd0yreNWbGjwOdFVqd23C0g+SfDkb5t -0VvxqeoPVzEgMIHnRccUuCbOSPbX9w5cU78aG1CNkuevY+UVGQhmqi8fKyA7+Cx8 -tgR0AbF+CwGyMg7B/15OIKKLVYKxJj7E4aOf6osLKpaLrtKGmfeYcNbwLb0f3+dL -if2AGJHeGcSCufplrUmAJTHjLP+ZVoD0jv9Tg731oJ+lsmJwqkQKvvbu6GyodjFF -RW6Choj5uZC89NIjCleIeV8N5VrRvMP7gyn0nPJm1EHKfSjz88492m379KUuvVOh -wFfVW2OqIziYuje3iPT6yHBOWj3MUBFfNuZmUOaH/IEQzpnXsOMp+5NR19sdxzIt +JrNMpRS9Mm6pxdjKeS3LzMgyJwHrqhtcXxmNjvkKkwmAhOSvF5fqMYPNaT3YWPob +WVtVeENGKMZxy8BwLpV6Zy++JYclSYTvGOrPsocUUAGrxmn1zB3kLBpnIG4215dE +Ra6ONnIEPP4I7fXMLWn1kcEPnR6NTFACqOqgnpI25B9LYeh+v8QD14rGltAr70f1 +bu32PeFAsfCPGqxPBuUzexRAhfO04yq3uKySTIRxeIC7EHJhFiymtQcB3PcSFpLh +z3eMx01xQNh34mYbNhTW8cUF7bGtV32L051TDlL+gTrL5S3+SybZnSNeCfuAcjdu +BjUwYi6DKur8OLG7h3cSukKXgHjITUb+ka88sl7WpYhrVFnyk9U/VLYbZJ/ARk/y +AGulY077WnAWilI/JP8T1CkNqhZd+LdgxT9Qkx1kok+2CtOZ/UwWX6XJBrRZD6Cn +3h0BRFJl9hJMQJLD/dOTUul/18STmVYryEpRsDuFbxwITD/hzTmcY1BwIjZqNAwL --> ssh-ed25519 J/iReg PCqqUqmX7JPIqt26nsiv4/4Le0Zzw8RK46Muv5qC8GY -6q2oxmxLrdQRyAiKuErml/xIook6Nbx5BMCeNFaCjug --> ssh-ed25519 GNhSGw IRjxeqzzzvVSRIcYhOhZkejiOCq9l3P1sYltk/xiYlI -xRBgaNMBXZiO5aYZn/L/AKFnbiuu3hlDkYV2MkcUA7I --> ssh-ed25519 eXMAtA jH6fgmKMhBMyQ4pctjKVG41n8cJnvUqOw9MynaKP1Xs -tC8yehDvgjIKaM62tn3gld7nzlhvwe/p2t8qJjhil08 --> ssh-ed25519 5hXocQ 9eyLU1e3EHBiIlMEaQOov6MbNLmaz7SEgUhzRwj1X2M -GEWLNNYhMmypcHt4juzTME2bcAQ12iy6tTqZQCKE1v4 --> ssh-ed25519 bRHVVA qB6dlW+Q16DE+bwovrMU9lPjNowzACsStvy8Q1nZ9Fs -GyQwVn71mlzJvDznW7jmbbjlMnc0H4jG2+gMfJawhJo --> ssh-ed25519 HgW9eA oU8JTkoAH3yMOLcf3aKZ2RT7TtGgO0KlMLB2/hXzPXo -Oy8RdMThUlvU5mB+T+zlVBGpMgjwVBo6kU8Y7pekdqk ---- xzdtbFSZNHcOxsvALmpt5SWVTxrkvKeaZF2x2gEpHf4 -Tė_Σ {DE8 h/Ct`3G Ļs:I$.7r6 @w3u9=jn{LxNP5'a,RP2= vd1slcto &m6|0/? -ٙv)!9lbxMtwՕg89`cNKZ ssh-ed25519 J/iReg ewqaECzEHk+svHHPAE2hcf3PiT/qdHpZ/DBNL7rN1mY +5P7CI0i6VNrTMTHrUqRcCOVaqrBgjL7yXq37ier7BnM +-> ssh-ed25519 GNhSGw ejKbBgM5gv3cGj+Ybad8U95nlNoJHbtFOltZ+qlk1kY +4KmDoSQsG5vIN3Aokyas+Kl5xxupIRY5vxrHSZqPSnI +-> ssh-ed25519 eXMAtA 4g6BdicDDpCavW271xrMsL9EWFbLLqwXUu4mIuREQ2M +zn9sK3ne6adi+j1R3VLA0yywTuxlth19HviJjQEm0Dg +-> ssh-ed25519 5hXocQ 9Z10PQ1pWh2dNjZh67HK3vsrDd7SJsLPEk9E3umEmH0 +8ZTriy26LFsl5oW3YEzDoyvlV02Ql3O2r8N8tA1+QqM +-> ssh-ed25519 bRHVVA A5J/CI4egyKQVX1mRQELwoWYX2nwEF2Jo5Rs/8rJqVo +2E03pDcc65kNTmzjn16IR3vuelKp1ShpMk+H0P+qYgQ +-> ssh-ed25519 HgW9eA nsDfhZLsgaDJLPCyy9rulEVAeyDBIKWAHfxR75GbNmo +fNH4l2FaAdyV3De+gJHjbD8em6vE8c0eqx/oVZadPlQ +--- oGDmTJ+sJPvCQAPAF5reqvfPYZzvABDOKBJf7P802vo +KH^.P,cQci3G9nG Ry58!t \E}qQٖ9rθ\b1t*!2T\q:2'2׍~(IT!*zh;7|1hcf' œi\ d7X%\zNS_e@޺^m~b'XJTmOamG)+)5VzucGvVj1(ӸKPW1rEmA",f ssh-ed25519 FtI9pg dt7KXWCcNVr2GWXcMUSWbR9UxOuiyOGXApAPvavjNhM -7DKc1Sxx0Ed6S0VNdOEb5lIyAJ6cw97Qwbd+eT/B3gg --> piv-p256 ewCc3w AtO39THYoOXIvekZ0R6jD+SJaCghO6uSnDrxJk0Ep6WK -k6XnAL33mFTs0RrqbJzBb4v2t0fgGen/vXEYzNb81SQ --> piv-p256 6CL/Pw AxW3Kd2EOc1Jo4dUDo/H19vWz4PWpbAeWUUJUw51ASdL -owvmo5A626WsGuFQf2u5DhvkfyA7KHn/So95qfd1qck --> ssh-ed25519 eOAUSg 440S9H9Mc5DEKriydUHPzm7YM9V/i1pRI2FqBc91uD4 -J29xlSIrmDhFB0oIIVaME3VALnwPdtzXSvTF/DgwUH0 +-> ssh-ed25519 FtI9pg hYPSNUdQrYOCz5Mnu9iC6mtpuWfaVZ04hft35IgneDk +JbO1+Flyqdefp4A0P2blegGfoeSZPKv9iPGrYy4I/Bw +-> piv-p256 ewCc3w AmBkqwT0lhfvLy7twagXE0rVAB9c7/d67pOqeSZeejfh +OPC/s7/ReEgr3SFpuZndS0uzOSx6tx8ml2c9WSJsGgE +-> piv-p256 6CL/Pw A6Ctvs0oOcobui5XV1ZaA6wYh3GcgZw4a5b7mZ3DHzXM +/iERAN5q4PbxXg1qfJU2h30FdrNfP+jG7z0KIoZqXXQ +-> ssh-ed25519 eOAUSg x0e4ZxJafzCL7T7+PJkXyTwEIaU3atELM7EkKP2ZU3Q +aXuoHL4+YhEdvn/ozVbvW2VNB93fhkXzt4pRUpk3x7I -> ssh-rsa REaZBA -DfgDDIFj89v1oA42vHkztkqhAZbZwgG01ahSw61rh+bKy9JgAp9OgFok5isOCYx+ -h5r9d7UJxK1KGjNKY2ZeQ1BbcgnhrhltZ38J3KNf55FDRnHHjS0f4tENZ0Ue2nGR -/ygVM/mtMhTO2mQNBkoIx5V+umEnrbhOvIhiM/ZZcJ0+CGc5fsCe3RYTx8HhlC2H -jve4vX91RD+aC5JqHNmIZbyZFkfWehsgWUhoTixmKUbMiX1JZjazRWQzypQffat9 -1EI/m8M+7Uzfk7uBNvpCfnJK7hCpCYp/4pN8Mw12HKetFqDtlQIeCsAbYbuIYJOW -QHKAOC2YrrGiCxGK+HPt0VIRESPEyI81iRsqrzrVinqxnNvFmQdpwY2A3KcEwfwE -OxKb6u7LuWGBbTydQRsvPMJkrsAEdOL1Y2O2iWAxGE90eXDGkrDtr4IQK0aeAOlO -jdni6mMGldzwRz53YfOP0CmhB82eXDAX6G1Q8CDbS1l+r1YtwvYACpgurtIcqK5n +hy9KWzlv7Scp4rQRMmtF9F/S7+T7CanYbcYD+pi0uAALWcqI572WSJYALDZpxxOn +8Qdfpx3IWh0SDbJJPnopvPwx/uqwPkWIoH9NqeYvKFfGQvtxG1TorW2nKYpmgM5z +Ji9Y0d19nI66Kqv8XqcRWvoLhiIk+JHLi7KQrby7TAcNSdCCR0me9W09lIc2Bz1W +tjs5ewlxhq3L1bLjDxVuNIkcsl7UpiSVzLoNCrERaSSnY1df/ql9xoncN0sb7tin +6RHG1ZA6UthuxysLgj+8ZWm1qEVWZtvJ+5d9xmdKhO5r/3mLYBYogqeajDUQHA/3 +nSrFFbBDf2FYPc1aYSjIcWKff13sYxNCqdgoImSkPO3I4XrM1Dh88hm3yrPS0kuN +0RwCpV+7wf3qLi+dVMsf3y/OuwKoyC/xhc0VR2nBLc3NsdMdRBN4Q/al578tp/yw +C5TnTi0mTdc07BHeJRYOCsFnnoDz3q+aRrmntNr8MMYUr4AgOsPLIASGEkDLwb7+ --> ssh-ed25519 J/iReg PXRTBD7Iq7XIDxEMIRsNYuAymThV/glsIjVe/o0H5W8 -6oVqa0K2qDa+V5864q/8Sft4k+OXMXJv47SuntfsLGc --> ssh-ed25519 GNhSGw yNXA/H8bq5eidNfZBg8+mU4NNe0Ih5w+objTBPiUADU -UlT2818iRsWmSOfLmtQBwZHFCaUQYOln8Fq7dPKOhBA --> ssh-ed25519 eXMAtA LsRY7lV9E5321HAqKUnB1jEdhFzF2jgJymtKW0DaXXY -foRnmzpNhz2g9/v2cyBOHSI52mZ0vfucgqGEfI0YPw4 --> ssh-ed25519 5hXocQ yoBXeEq6yCrxAHVwIgqySPV/uALC2C+CxrAJU+L0ryY -b+yR3cHQMJFM63tqjRLG7MUBWluQLBLOPi63ttyJ/KU --> ssh-ed25519 bRHVVA kU8zNS3J9V3oaNEc9Ueymh49NhBq2HubUHBsJ9cf3Es -EC/R+N0FJ8cE+RMUkV+MI94Z2coleTTis6ppz2/YB1s --> ssh-ed25519 HgW9eA rej32Z6kg+/ybT3eaI/G/YYT0W/Jjh6TINNADwS5OmI -E12o9Ga3duUld32R9UCrE8TLmtNvS43+7zP7fLlLxo4 ---- CPcjXeFZtSsjbQh84rDizi6/+6CM4c0Xtr+5tJ/YEgY -כʹqy58\_~+LPK9I~% -o4JkS4]yD&$vif ][ea@?;9HH@(k3w IcRC^f6+a'8o \ No newline at end of file +-> ssh-ed25519 J/iReg unV0+/bwmgerieFdJr5GAQvkbX72J/OQhEOuHK3+zxQ +mkl1LCqcIZpWahwWf5QUzB1fj7fiphT7yxdUwUsgR9A +-> ssh-ed25519 GNhSGw ATn9fQzicnrkgDyCk4/U143plfZxorkQVmSDQWdSi1Y +FQkMPZ6WRmrLjtwK5OrTLxEFAsJC5CeOV1HJknvLhOQ +-> ssh-ed25519 eXMAtA JTLtCbnw2/Tq1EUQzqyC2TvX5UK/GPEaY839D7e8s2I +Vk6/AAgXU/t9Yvmt7IywN/CCMR2MRBKvauvYIsA34k0 +-> ssh-ed25519 5hXocQ JzTN6O4vaFH64d3SVlBMdLq6+HIpQkWEdVRGt27183A +onrV2qEs1IMUzRXvHU6mKrzw6Ed8HhuAxjTZ9keW+1A +-> ssh-ed25519 bRHVVA K8eP6+O0iJmQ0765n1mtQ7+GJ+RCIDwutSTz4MV+gnM +PkHi3wXGZ9fD3F5pA8WiAKDb4udPciDYZcmdmI/JI+s +-> ssh-ed25519 HgW9eA eLAByQTfT88z0Lk8RZ5/gi9EZioj0gafTHqO1Z4+hAY +hd9Zh4yj6CbIZcIjX44pmM8+I4osskWSHkA8th8h/Q4 +--- makFwfkgPhousBAZvW9PePK7akevTq/Ytkae1XHukJQ +Ho3~#JNWBwjQsIgd+_CⱂR ssh-ed25519 hTlmJA FnbZzrcGe8xckj583o7CDx7Gil5EjS7R333f1MTGDQQ -sGUiPc06MhjmKk7ZLk9Gq0gYYufZWwk2NlmNeE8t4SM --> piv-p256 ewCc3w A+XJ7GRL73rIcMB0bljxvbtOg82ss7EWMVPLgL7+VdTC -H2i6v/HxWS3MsJ/pl5MH8oTdjsCXr5zbpK1RWGtWhzs --> piv-p256 6CL/Pw AnOGrmn6941GPSjMACEPYXa93KGF9B4QsjCiQa/mRk0R -6vRp2PjdBd7ieXl1RcjIWHA4s6vpp3UHYeA9qt3q/Wc --> ssh-ed25519 eOAUSg 03OtZscLFM0KdTwGBGZpPbJLXMGZTsHGTC8twJg/Znk -5DlvRlPf3/+LqUeoxCDuM3v8e2eUjEXv9MwVlZULVPI +-> ssh-ed25519 hTlmJA alw6ITqv/quIMmi0uKzzr8ESah8mzxVdXsIifb/xyh8 +9J9AKrrmu50t1NZHgvbaBMIkZWuXT83sQz3KqeGsAuE +-> piv-p256 ewCc3w AoNh9VwLxpdUYMJRfRcvFp55R28QQVN2z4H+vuGopsDi +sXJ3F0FIZVldJdVVcBLy6KdBCc55zcdpcbgBdvDYTFM +-> piv-p256 6CL/Pw AgILYfQ6gjAR4wx6qJRufHhbupnSFvyPTXDza4up2zoZ +CNBP0MEliMqJdgyN0uZe4kTIBwM2914P6YXClE2VCkM +-> ssh-ed25519 eOAUSg C2CWcPVF3oSE26CJZVsRXBIehv02LH0Ohz+yy0ur1xA +P17q6J4SsggdryZZLZkkC29CmK+1bggb3skRZCHNppw -> ssh-rsa REaZBA -BjpRz/MNhGsd/eWvNuGg2ti6hZQGt5t08sh+KJNtL8Hp9FBvyIMyixOePNUKGop3 -waar46x2Bmxjv7U9Z4Cfaps/dU0zXqACsSDBkFF63XzDMUTSIg4jZk7PEUOhi5mZ -2bYp+p0/zbOI598Tdy4EbCgFKVloSEV0VfYHi5qcPnVV9T2wZ5ImWOZKvTDJi3/r -c/RNYzqFVkVCtLBm9se/pzhjMGlMI1HMUIV9hjNkCFEABbW/7mMOkIzHny699kCE -Oxs8OvUK7QXh1DPKZgG1ai84neLcBCTf8jXMxMdRQehMN+GpQWetQwv25T4Xol3r -DwsfioMAOhY4v6bizYr5pWmQBG0FeOLbcQyxPv0oJxtr1Mm8BYFyrZSLJfEW/EZY -tLsyL94ao0ytoIM4dv2vQYg6YwPHsQNgs9ORlHKO4j6SHZfycDwyCYzJKfXd3MUX -YDUm7CLsm+n+3Z3ztl9r3GUyYfdmA8lc78hR5CiyyWRneZorBdnafij2xwAVf8mC +L2bBz4HJB0zmc9rcNy0ozlEPlxlyqty0Y5CABKK+M3GdLf9uvnYOAWf9XF9vARIl +IlKXVDeOqdPw9oSDcf4Pj+mScRkP7rKDeoQyBChPDknIx46sx+DjaCKdRv5UXy6V +HINevpvVAqTMcOcbXkygyrjqXTt1X3zEgDhQhxhm19b7wZlmzsLLzx+BLGbCVSBG +FVlcv4VFUaUKFLC4pw/dc6LB6f1e/lK2Bj/X3uF//p7HwKGko1Au4E3svbRYM85Q +rmqVwDxTS5TDXyAKxG2GL2E29BRWjTIxuGhtiMX0Y5cX8rYSe7WtrgICqFspp04X +yKrCY6AGK14wAlr7Ml3x1Ihq/z/c7Rj/N/homvjm7lBtTzN+zO5wdP0CMTfU4aMc +tifNvpTr01IlNzH5/lVuxvRtQe0LVTYhEq4mS+UXnppX8O8cv04oLta7p3kaYOsl +QaiOZRc4TD8pyKdamgrcMkoOvUbenqA8kY6BzIKpq1S4np31AMY+n+6T2UiOHiMD --> ssh-ed25519 J/iReg xxzb8jLUNR4BK3GX9bFEo209ewsozfpSe5ofW/SOQns -6xBKSd3hXL3nUAMyupXOAvdBPN3CtSn/XGQ9WQdKcW0 --> ssh-ed25519 GNhSGw eI+BsylNibH2K5GaaFA7faxw7/t9h+ZmAduxDKSAuTs -6M73oR+y51l/kT8zC4or7Mrg9kPfZmDRGEPsVUPXCMA --> ssh-ed25519 eXMAtA tNl+ZSU1/GbHvCNrBK4N5AAwDNlGX5Hjc8FM4xrKBio -unvC8SG3CA1C4n1HjH/HYVhgtnsWgFWetCMZa+XJWsQ --> ssh-ed25519 5hXocQ z5+LFM4PQcP5ni+JmNx+7H011+g/IA2DSTbDfcQWUjY -WtYawH6xEp3mVp4391LxyN/EJ7RkDF8yCUeVS3g01+s --> ssh-ed25519 bRHVVA KbpqkTUR3TytHVkJpApFPBjXJBZNbNIA5RuLdbAvYwU -y8vbDYyX7rSOU7uCkd9PJVbWiqzgcRUyVfHPYVwxagQ --> ssh-ed25519 HgW9eA GC+g/FOXyXEOh3478KK/aLwspik4glZ+Ld0Vis6TsSE -SEmGnzgTLPrXJvoyO3FuqvyrsWKExqpDL44Yk4IKFC0 ---- wRfsT0vnpqFA5KM2gRjHY/JvTWrI5ezjAW059UrUh8I -7cx~l,hcv{V<$ֲ'lH#='-('~[:l/qދΦr ssh-ed25519 J/iReg MF3wIhEFNwszuOh/g1FHCjy+tNpTvO0ETT9H438w/jA +fa/bEKWgs5cSglQ19G8RYEyY2784Yut6QdQDTIKilYc +-> ssh-ed25519 GNhSGw xEz5mC5SBdPJmxHOegmg57RsOvkp0u6WDqM9HVS8Fjs +GQe3HJqRvOH4qluYj/dHcn0vdZkl+QS+ThJb0OhLn0w +-> ssh-ed25519 eXMAtA AVA/RbgmXlpiruS9BJzGnbHIavyvVTErCXNumZE7xgA +Y2LGAdVQV5/XdR/kd+iopgCTJySft606KbdyBWzw7hI +-> ssh-ed25519 5hXocQ +SNldOKhY9AbQHAhCLGSkvH90w38BqC+e7RMvD8DFDE +2E5UhY+APMkH+aPRUCD6JsTVzgG/zQ2L8l/YUZ2yAVs +-> ssh-ed25519 bRHVVA 9gZxkI4x9NhQ8Qrg62Pddd2RPLSj7lbfxp8Ytby8qg4 +Uhoa1q0+JTLpJtI0TsTXppMkaJa4elB0h2pBey/4VDM +-> ssh-ed25519 HgW9eA IizqZaJJShCcp949q1R0HlO4IKDvxByn/48//ZtiOQI +jM1hZx6MB/e1/XeXg4toIz08b+v1TtwPQaSeC3akOYw +--- /ma7bQOlo+wTH1L/fpwPnNa+MRNFNKgrbhHVcV62JK4 +ɿkۭis䓺-'#JU(7c~̤ٽӸY!<1DP^LJ-'dQ/]piw 5ʘzxEmgT}m*L1C \ No newline at end of file diff --git a/secrets/restic/reverseproxy/base-password.age b/secrets/restic/reverseproxy/base-password.age index 9750eb0..3e5e9d7 100644 Binary files a/secrets/restic/reverseproxy/base-password.age and b/secrets/restic/reverseproxy/base-password.age differ diff --git a/secrets/restic/reverseproxy/base-repo.age b/secrets/restic/reverseproxy/base-repo.age index 1f9af5d..1ca77e4 100644 Binary files a/secrets/restic/reverseproxy/base-repo.age and b/secrets/restic/reverseproxy/base-repo.age differ diff --git a/secrets/restic/two/base-password.age b/secrets/restic/two/base-password.age index c120517..5559982 100644 Binary files a/secrets/restic/two/base-password.age and b/secrets/restic/two/base-password.age differ diff --git a/secrets/restic/two/base-repo.age b/secrets/restic/two/base-repo.age index 40642a2..6d30136 100644 Binary files a/secrets/restic/two/base-repo.age and b/secrets/restic/two/base-repo.age differ diff --git a/secrets/restic/vaultwarden/base-password.age b/secrets/restic/vaultwarden/base-password.age index e1cc3db..0ea24f2 100644 Binary files a/secrets/restic/vaultwarden/base-password.age and b/secrets/restic/vaultwarden/base-password.age differ diff --git a/secrets/restic/vaultwarden/base-repo.age b/secrets/restic/vaultwarden/base-repo.age index bad7acd..fa8c996 100644 Binary files a/secrets/restic/vaultwarden/base-repo.age and b/secrets/restic/vaultwarden/base-repo.age differ diff --git a/secrets/vaultwarden/env.age b/secrets/vaultwarden/env.age index 73db5a6..c83b705 100644 Binary files a/secrets/vaultwarden/env.age and b/secrets/vaultwarden/env.age differ