Compare commits

...

7 Commits

12 changed files with 348 additions and 72 deletions

View File

@@ -33,10 +33,12 @@
# microvm
./modules/microvm.nix
./modules/gitea-vm.nix
./modules/forgejo-runner.nix
# ./modules/vscode-server.nix # Add VS Code Server microvm
./modules/ai-mailer.nix
# ./modules/wazuh.nix
./modules/moltbot.nix
# web
./modules/web
@@ -78,7 +80,7 @@
networkPrefix = "10.42";
# Systemd services to monitor
services.victoriametrics.monitoredServices = [ "ai-mailer" "container@git" "microvm@git-runner-" ];
services.victoriametrics.monitoredServices = [ "ai-mailer" "container@git" "microvm@git-runner-" "microvm@fj-runner-" ];
nixpkgs.overlays = [
(import ./utils/overlays/packages.nix)

View File

@@ -139,6 +139,7 @@
"/dl.cloonar.com/${config.networkPrefix}.97.5"
"/jellyfin.cloonar.com/${config.networkPrefix}.97.5"
"/audiobooks.cloonar.com/${config.networkPrefix}.97.5"
"/moltbot.cloonar.com/${config.networkPrefix}.97.5"
"/deconz.cloonar.multimedia/${config.networkPrefix}.97.22"

View File

@@ -0,0 +1,87 @@
{ config, lib, pkgs, ... }: let
# Short names to fit Linux interface name limit (15 chars for vm-fj-runner-1)
runners = ["fj-runner-1" "fj-runner-2"];
# Offset by 5 to avoid conflicts with Gitea runners (01-02)
runnerOffset = 5;
in {
microvm.vms = lib.mapAttrs (runner: idx: {
config = {
microvm = {
mem = 8096;
shares = [
{
source = "/nix/store";
mountPoint = "/nix/.ro-store";
tag = "ro-store";
proto = "virtiofs";
}
{
source = "/run/secrets";
mountPoint = "/run/secrets";
tag = "ro-token";
proto = "virtiofs";
}
];
volumes = [
{
image = "rootfs.img";
mountPoint = "/";
size = 51200;
}
];
interfaces = [
{
type = "tap";
id = "vm-${runner}";
mac = "02:00:00:00:00:0${toString (idx + runnerOffset)}";
}
];
};
systemd.network.networks."10-lan" = {
matchConfig.PermanentMACAddress = "02:00:00:00:00:0${toString (idx + runnerOffset)}";
address = [ "${config.networkPrefix}.97.5${toString (idx + runnerOffset)}/24" ];
gateway = [ "${config.networkPrefix}.97.1" ];
dns = [ "${config.networkPrefix}.97.1" ];
};
networking.hostName = runner;
virtualisation.podman.enable = true;
services.gitea-actions-runner.instances.${runner} = {
enable = true;
url = "https://forgejo.cloonar.com";
name = runner;
tokenFile = "/run/secrets/forgejo-runner-token";
labels = [
"ubuntu-latest:docker://git.cloonar.com/infrastructure/gitea-runner:1.0.0"
];
settings = {
container = {
network = "podman";
};
cache = {
enabled = true;
host = "${config.networkPrefix}.97.5${toString (idx + runnerOffset)}";
port = 8088;
};
};
};
services.openssh.enable = true;
users.users.root.openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN/2SAFm50kraB1fepAizox/QRXxB7WbqVbH+5OPalDT47VIJGNKOKhixQoqhABHxEoLxdf/C83wxlCVlPV9poLfDgVkA3Lyt5r3tSFQ6QjjOJAgchWamMsxxyGBedhKvhiEzcr/Lxytnoz3kjDG8fqQJwEpdqMmJoMUfyL2Rqp16u+FQ7d5aJtwO8EUqovhMaNO7rggjPpV/uMOg+tBxxmscliN7DLuP4EMTA/FwXVzcFNbOx3K9BdpMRAaSJt4SWcJO2cS2KHA5n/H+PQI7nz5KN3Yr/upJN5fROhi/SHvK39QOx12Pv7FCuWlc+oR68vLaoCKYhnkl3DnCfc7A7"
];
networking.firewall = {
enable = true;
allowedTCPPorts = [ 8088 ];
};
system.stateVersion = "22.05";
};
}) (lib.listToAttrs (lib.lists.imap1 (i: v: { name=v; value=i; }) runners));
sops.secrets.forgejo-runner-token = {};
}

View File

@@ -115,7 +115,10 @@ in
SMTP_PORT = 587;
USER = "gitea@cloonar.com";
};
actions.ENABLED=true;
actions = {
ENABLED = true;
DEFAULT_ACTIONS_URL = "github"; # Pull actions from GitHub
};
attachment = {
MAX_SIZE = 2048; # 2GB in MB for general attachments
};

View File

@@ -0,0 +1,27 @@
{
services.home-assistant.config = {
rest_command = {
moltbot_home_arrival = {
url = "https://moltbot.cloonar.com/hooks/agent";
method = "POST";
headers = {
Authorization = "!secret moltbot_home_arrival";
Content-Type = "application/json";
};
payload = ''{"message":"Home arrival. Read memory/arrival-reminders.json silently. For each item: if it's a task (fetch weather, check calendar, look something up, etc.), execute it. If it's a simple reminder, include it. Combine everything into ONE message with just the results - no preamble, no explanations, no mentioning files or process. Then clear the file. If empty: reply NO_REPLY","name":"HomeArrival","deliver":true,"channel":"whatsapp","to":"+436607055308"}'';
};
};
"automation home_arrival" = {
alias = "home_arrival";
trigger = {
platform = "zone";
entity_id = "person.dominik";
zone = "zone.home";
event = "enter";
};
action = {
service = "rest_command.moltbot_home_arrival";
};
};
};
}

View File

@@ -101,6 +101,9 @@ in
./shelly.nix
./sleep.nix
./snapcast.nix
./coming-home.nix
./morning-active.nix
];
networking = {

View File

@@ -1,8 +1,6 @@
let
devices = [
"device_tracker.dominiks_iphone"
"device_tracker.dominiks_mp01"
"device_tracker.dominiks_fairphone_6"
persons = [
"person.dominiks"
];
in {
services.home-assistant.extraComponents = [
@@ -14,18 +12,12 @@ in {
alias = "house_door";
mode = "restart";
trigger = {
platform = "state";
entity_id = devices;
from = "not_home";
to = "home";
platform = "zone";
entity_id = "person.dominik";
zone = "zone.home";
event = "enter";
};
action = [
{
service = "script.turn_on";
target = {
entity_id = "script.turn_on_circuits";
};
}
{
service = "lock.unlock";
target = {

View File

@@ -0,0 +1,76 @@
{
services.home-assistant.config = {
# Track if morning hook already triggered today
input_boolean = {
morning_active_triggered = {
name = "Morning Active Triggered";
icon = "mdi:weather-sunny";
};
};
# REST command to call Moltbot
rest_command = {
moltbot_morning_active = {
url = "https://moltbot.cloonar.com/hooks/agent";
method = "POST";
headers = {
Authorization = "!secret moltbot_home_arrival"; # reuse same token
Content-Type = "application/json";
};
payload = ''{"message":"Morning briefing. Give a brief, friendly summary: 1) Today's weather for Vienna 2) Calendar events for today (check CalDAV) 3) Any pending reminders. Keep it concise, no fluff. Just the info.","name":"MorningBriefing","deliver":true,"channel":"whatsapp","to":"+436607055308"}'';
};
};
# Main automation: detect morning activity
"automation morning_active" = {
alias = "morning_active";
trigger = [
{
platform = "state";
entity_id = "light.toilet_lights";
to = "on";
}
# Future: add kitchen motion sensor here
# {
# platform = "state";
# entity_id = "binary_sensor.kitchen_motion";
# to = "on";
# }
];
condition = [
{
condition = "time";
after = "05:00:00";
before = "12:00:00";
}
{
condition = "state";
entity_id = "input_boolean.morning_active_triggered";
state = "off";
}
];
action = [
{
service = "input_boolean.turn_on";
target.entity_id = "input_boolean.morning_active_triggered";
}
{
service = "rest_command.moltbot_morning_active";
}
];
};
# Reset automation: reset triggered state at 3:00 AM
"automation morning_active_reset" = {
alias = "morning_active_reset";
trigger = {
platform = "time";
at = "03:00:00";
};
action = {
service = "input_boolean.turn_off";
target.entity_id = "input_boolean.morning_active_triggered";
};
};
};
}

View File

@@ -23,12 +23,10 @@
"automation arrive home power" = {
alias = "arrive home power";
trigger = {
platform = "state";
entity_id = [
"device_tracker.dominiks_iphone"
];
from = "not_home";
to = "home";
platform = "zone";
entity_id = "person.dominik";
zone = "zone.home";
event = "enter";
};
action = [
{

View File

@@ -0,0 +1,58 @@
{ config, pkgs, lib, ... }:
with lib;
{
# Moltbot - AI assistant with WebChat
# Container with browser support for web automation
virtualisation.oci-containers.backend = "podman";
# Secret for gateway authentication token
sops.secrets.moltbot-gateway-token = {
key = "moltbot-gateway-token";
};
# Persistent directories on host for backup
# UID 1000 is the 'node' user inside the container
systemd.tmpfiles.rules = [
"d /var/lib/moltbot 0755 1000 1000 - -"
"d /var/lib/moltbot/home 0755 1000 1000 - -"
"d /var/lib/moltbot/extensions 0755 1000 1000 - -"
"d /run/moltbot 0700 root root - -"
];
virtualisation.oci-containers.containers.moltbot = {
image = "ghcr.io/moltbot/moltbot:main";
# Run gateway mode, bind to all interfaces in container
cmd = [ "dist/index.js" "gateway" "--bind" "lan" "--port" "18789" "--allow-unconfigured" ];
ports = [
"${config.networkPrefix}.97.1:18789:18789" # Gateway/WebChat
"${config.networkPrefix}.97.1:18790:18790" # Bridge
];
volumes = [
"/var/lib/moltbot/home:/home/node:rw"
"/var/lib/moltbot/extensions:/app/extensions:rw"
];
environment = {
HOME = "/home/node";
TERM = "xterm-256color";
MOLTBOT_STATE_DIR = "/home/node/.moltbot";
CLAWDBOT_STATE_DIR = "/home/node/.moltbot";
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = "false";
};
extraOptions = [
"--pull=newer"
"--network=server"
"--ip=${config.networkPrefix}.97.60"
"--init"
# Chrome sandbox capabilities
"--cap-add=SYS_ADMIN"
"--security-opt=seccomp=unconfined"
];
};
}

View File

@@ -103,4 +103,31 @@
'';
};
};
services.nginx.virtualHosts."moltbot.cloonar.com" = {
forceSSL = true;
enableACME = true;
acmeRoot = null;
# Restrict to internal networks only (LAN + VPN)
extraConfig = ''
allow ${config.networkPrefix}.96.0/24;
allow ${config.networkPrefix}.97.0/24;
allow ${config.networkPrefix}.98.0/24;
deny all;
'';
locations."/" = {
proxyPass = "http://${config.networkPrefix}.97.60:18789";
extraConfig = ''
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
'';
};
};
}

View File

@@ -1,70 +1,72 @@
ai-mailer-imap-password: ENC[AES256_GCM,data:shEEPVXXUwyKpqkZgvUifdxd4w==,iv:IgGyuaJLHm7ARgpzKQFUa4CoJtgxgYn6drMXaQqfG9A=,tag:PFjvzSk+l9+M16inz+X+uA==,type:str]
ai-mailer-openrouter-key: ENC[AES256_GCM,data:kJ/ujzpPep5zTv3j6ZKG2N2JaDl6Qi2e1Kz3u7Eu9aXYzziFnBcCIbru6usuKXuC1O7QhozaVemeirthUCOqFV4lzRk8cQsN+w==,iv:dngoIRY/Rr73wbWIl6htCO4TWqMdGt2oxHZS9lT+nFc=,tag:oTHu9yuDl2zTYhjNbRqmow==,type:str]
borg-passphrase: ENC[AES256_GCM,data:VfSwMgBHxETZMUXeEXnvQbRnf/C9Coq2IgrJBUrGsCAqWIvBqioBMTS47/fDPElj2sacn6su3v7vFSNVacf/u1X1+jE=,iv:OC4h9/kD0B1fd1EvBrAb09lu/0mLQcCwV3/gJLMtqDQ=,tag:NaDPQE3bg4eP49mSN6SdPg==,type:str]
borg-ssh-key: ENC[AES256_GCM,data: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,iv:12jhIp7FXTaUYGwh9JtO4EEnz7ps0D2wQgVnXWeeWzY=,tag:IeGpZIvOlVtXf7rp8e612A==,type:str]
ddclient: ENC[AES256_GCM,data:5TD+zbq8gbfpg0zL+Q/rZAM6/UWpdoQnWGUzxffEHNY=,iv:yOYlurCmeFpck81MT3tYmcVwSLH4Q+h8KvWAR56NGGU=,tag:XUxGcSOnn4xWHfpmj9FfDA==,type:str]
filebot-license: ENC[AES256_GCM,data:3Z01llfp3EovHTcOeALZvgoF9Sg9+ZTuSxeb+U5D06+uwl9QCM0Gl9FJ6iwt9gWJTkMS19FMHmG6smpZKVb11GZUFT3D8yTavu9AqRumZYBW6tPR8Q/WHGRSP1kUD0BLL3M3qBlbipqg7XSW4qElGKmyPCW/eswEXnhuIhcBf1wJ9q36WqQuxtOzRLhGi3S8ZaMdfQ8EdGTsePRuYA8qAinuO9G+yejQfzhrHZ5fZhcbTPWlKMzQt+q2m03N0A7Yf6DMuWujmdXbMX7FgRVMvaiz7cCgsKVQQOzRwEVbnivA+3b/BGTY98YJZs2ULKH9gMtnjqt9Pxc4iQVnJ5lUdnBXrsYcU2JVeKhMD3/h9Ds7P5P/Xzv63dvFAdQfJtMLeSvFr2+zbLL3n/1yeamtEZq/9vXs6Sj1Gerrfv/3y0oJbxo7mdlMEZ5hdkFz9m8LZ+b+G4StcWOR8I3fxKoSzXOM2SfmFQ2qeJaIaO8NfhZ6bwfsTZtevZksAeF/MY8hAAUJc4FARV7y0n6X3p5PC/iok1TrtIXOlgzMP8UVZCytDOUztqvpguag4/QpvkAZ0aOQ8ohXxAdzF2jW513beWjN1DGCUDsIn3angS3C80ybp8CsG4NNZBFsW6wL2XcmX6nHaXA9YTRLg3neIXFNcHSnRKHGZGdGIKpg5zeHZJeoN89T4YokUxSw8709F+Tzm5zowNAvnw/a3tQHCpLzy2EoS1MYeFnl5ReuRlitYjTwvZY/Zl9gMI5IGNlLGaSbW6G3r3Vkjtz0XlX/NcD6yk6usM2w5HRUaAaM4uUWvIADTcWG+IVVFgXVVRpdl8eC/4jWf85/naQEHNPch5PmRHMWO8br7iamZzkqODL/iz6UQzEUROydcCvj2KaCKrg=,iv:n/o313QaIZjmp0RJvGw/x24AGh+ZaLcMnyrMdFaugJg=,tag:flPEv7y9UEObPPSkYSwARw==,type:str]
forgejo-mailer-password: ENC[AES256_GCM,data:BK1hLTsz1GtOEHWnXeM8WhFtnUUm5PLFYNlEwTHQ2FjWNU+e244eFWj3P0xUkbXPF5poVUiMOD74LXVLbmlEQm8s,iv:VVXV7awaChr4UUKNwVMrK4MYA2NPcg7PsOEIYu33EQg=,tag:eTcguiaujYGoFf2Mim/TOg==,type:str]
gitea-mailer-password: ENC[AES256_GCM,data:jEj/pbIwJbgjlAJT/C27ZxRopzE7btaBeFV5Nnqzgwqyf/EZO1k257D263jUZX2NWmuB/jMAY8IYc8bO1BJtYiyB,iv:gPGILhy4FFDfqeq762GgHKBoBdCFnZqcLRFtxPIafAU=,tag:gzgDv5WcXGCJWlnqOpkhzA==,type:str]
gitea-runner: ENC[AES256_GCM,data:skZDOjcPFNEEYWf8IEK1goF0r7Ei9K7A9f+qdbqnv/zi/6pF7Ol2wEe6knmcbMUG7NPGg5LETqsP2/ifi0Q7TZO3aFq/cIY4hC2FEhN6mgEd2oWj8H9BT5Fop4IwCQE1a2pF36njmooEs7q83ccnQTmo7K+k2a9jrS5aEVN5fw2H75cppjoc5JSur4Z9oET/BJpeM7KhXBUui3Ebb0fD38WJItWOEXNGhyFZqtsyPFRcgJpUYejBnXo5Y08jCBMNwN1lQwl+1y+FpzJFwXGrfdQ=,iv:ossCQKu2Mg52k5UN8wHDJdC4A9+74X02LeblgINf4qw=,tag:eNekPZUC56Lf4BTax3lhgg==,type:str]
gitea-runner-token: ENC[AES256_GCM,data:6+0h+au4hg0s7XCWsHxlPls/oJUJadph0yG7BVgt15p9UFQhvyEUxIv9vqc265M=,iv:evHWbZz5/voZqKudTS1D+t/n9cSUTaYbv0JCoOUQuiE=,tag:4XMMBuIUPpvxq7iYgDnEyA==,type:str]
home-assistant-ldap: ENC[AES256_GCM,data:imgkUpeBrOG19uKCrb7f3hya3HKqVFiGKXodnb7iMom3bWWtqEQDusJtUssQxPZDvpCszejRfG/j7UZ6iob6KA==,iv:reORLwrkQe0e4c01v4//g/xBU38hXZuv7F2L+TGALVE=,tag:U9KDtcraJsWXSmVuK6xxEA==,type:str]
home-assistant-secrets.yaml: ENC[AES256_GCM,data:xR+HJgS7maPQS3/9WO+z7IKJ1aJG44MhQLBZvciyCgNpyxp17YbKaTnrt19URIWFtbgWqacDgn16GB6vZfBTsf6f3NdPsLVAV21sHr2jAXogfiZds1Db2TsBrfTpUn9ygycQaJwU0D/nkzJxxDJfegvzTYZeiTsn7Gjq2I70+2rOVjpNwXfWQbxNvxB2ywoo1Dg52Bu0wXauprZYGYt84bGg9ZFXCsLFCE4p9fNWRiZKaH7E/ugGxyF07QdfEWGS6gfE6c+/EsHM8w==,iv:wpmbJTweNQfm7fuBM3eyA6CnNL7+o/J/4bEGl6my5GY=,tag:i+VJs/LLVCx+NNEUBOmZHg==,type:str]
piped-db-password: ENC[AES256_GCM,data:6kzLGlwXvr5TZUwKZ7v+ypB+VLDshQv/vKpt/uE1E31HMrK57PcS+pHrK/U=,iv:EWSfx3PBTg3JHGWt31dPi620WZRt/HqYI1KijY7/w24=,tag:xBV6u3NByVaq4tnflmb+mg==,type:str]
pushover-api-token: ENC[AES256_GCM,data:CgqZHBAFOrzTmdwmWTYDJQ7ri2Z7PRzeMzcfD0Hc,iv:5xkiTei/6sr978E2QwQVmLswJEmSPWmfs/RSyB+D2Rc=,tag:vy5GRtAyQA7mLyePau84cw==,type:str]
pushover-user-key: ENC[AES256_GCM,data:L9E5vCh7lAWG+WMoJSV6ralPzl5yeBDSk1kvYmlq,iv:gOetcV9E0uTzeEUoDbswKo9zXvAk9GpoFg/A+TeGY60=,tag:q82CO6mfS+n9q8TfuvXX5Q==,type:str]
wrwks_vpn_key: ENC[AES256_GCM,data:o0v0AZYBaClYC1w5rNIjrnkORILZ2o/+Z5nQ3MTJgHPvvnZJ5AIORuQ4QDUmpAA8VhMivn5F3EKiZ00nBDW/Nw==,iv:XhvTRwDSfseRaUgJ8lbcL/QnaA/eBEvTByLoJh2PeXw=,tag:GLS4eGETG9Q2W6tuW9EXZA==,type:str]
wg_cloonar_key: ENC[AES256_GCM,data:iAyabwyNKEy1VrsXgAPMljxXYg6CQv/n6DzJrjLtAPDO4VbFRLSj82ln7V0=,iv:8ng5RD/hfKVeOx5aGDwilkKJQ60qJbLtgWXBiE3dqb0=,tag:zmE3BO5490U7UdawQ6i/5w==,type:str]
wg_epicenter_works_key: ENC[AES256_GCM,data:JehIfUz4Bi9mNf7nZZufcVf8FxH8MLNFKSJJ+E0/I7rbh4thzUbIjYeLmaI=,iv:KyBToeAMX1jwehlmCi9zi40+RS18RAYExpAlGL4lf/0=,tag:K/o47pmCsqjoGWmGeF+DVQ==,type:str]
wg_epicenter_works_psk: ENC[AES256_GCM,data:kq4LLsNBP6fm7lhU2OS+kUZy4xRjq4hBpT8Lgo/dFpWb/FPL/qWobVG3nDs=,iv:Qm41W1zbSnml8l0yu8yjpE/OOHttNan29gngft2v0P0=,tag:t2qjuZnarRK+9BlmAjXclg==,type:str]
wg_ghetto_at_key: ENC[AES256_GCM,data:FaI5/1P7pXUEA2/5kLiGheK7f99/ntCUNdC3W3a23M1uhNYVGA0AXA+OIXk=,iv:V7KHwsIMewJylTPOXOnSQMkI06w6U1vXecBx/NUcyg4=,tag:gsr4vkqOlN5pexhyycWquQ==,type:str]
matrix-shared-secret: ENC[AES256_GCM,data:qfXA1eFLyFM4hIk5IwXc1zfWVmwvTgUNcSJDYGar0L9b+cHD8kM0qEr2DsPkDcy+7DJNldK+tcdgkCV8GA==,iv:XqwxLRs3ADyjmmKVKMMsANGhGzTg7PXQNiYnrp+WYFo=,tag:duSgoaxqm3z71jGfP9lCoA==,type:str]
phpldapadmin: ENC[AES256_GCM,data:oDgmCm38ZEhcpOvyY49jv+7FmikzrN2WCxJ9i5wvOTvUFblz1pVSe3/qm0VZ/IqdbudTpoOHIc97znAE129fPPNGbd3prY3v+dXn5JpUhcSuBT4QOf3aXVUlPzUVgTXt9E/Y/ASX39dPXGWEDt/XelXHVkgQAHwAt4XFSx20Ph2b1x1s1Gs/WETZe1Dyl8y4TyMRn4TuGYvm1l8iob8RLGazCk5XOGL+0AyLe/0H1vTKZN9lu7S/VH6612tDQxVJf2grzmZu1t8P9QBVgFxpmqdGsudMMeGoO8ajOWkgu2DUziZc0ul+PNdDdPThpetV6jjcZ8qJ9bZsbbDadZC8WWmKt+P+WPfE,iv:IUhwcZez5ROJuiKynSmfvI7j5iLF4arJokt6Gs10Xhs=,tag:MnVgO7JyOetB1j2ZZtxLLw==,type:str]
palworld: ENC[AES256_GCM,data:ZEf4Qw6FiHQwgWJAvX/oy90rJWffjwqqu9aqhvtzY8BmffhGDDPc653GEwxBEMRdBBVot+puxYkHA/WvQgPb1FaU+qXmAkclw9ayNcxqm7Ra74thV9JAseNH6xuDycWD0mNNEF6IRjsiB86JpeOivjrZeZy5zHSieMx01u235szmR+j/qX+QOo+E5NyVNPyIIT1LiJ3MpNPLltzNfiAfuDMbT+2VHC3EzU5BxxrXJ6iY9nRvDLoLOznfGG63eNxq4xRH4BL7kp0Qv4a8JlQlV9rfGyKqcwWH4FrRVNP/1xdT2Q+9qBHlnSafY2sj0UXI2FGvbwhuHxFZ/OSVwohe5ag/xtCVDgFE8bKaKPyXl+qgR9gNvwyAYRoOv1WDQxc4MkzJIBchPGLA2L5RFGZddByOUAR4LsyqvC6n8jjU19dSFaEGWSJDF068Szq2/dWdAl19Edw/nTvfRqVnJSM2m2tf5F1kBBM/yrtJrzDzmTd/wDwLEfhbO0PyktWjltjrrEzqxlaLeIYDKwx3+vlDLn+7rxaHZAHiwshGGYgW9Yxf0Epb2+o0dNgJ6X1+v+vbeWfgyobLklA7qKvodoEvAHLGsW9YicURNNjy/ERwA8ojSezfEZ6+pRhrk5s5HUDtq4b5tbD1FocPYXZyhSlIIqc02FGWJnQQamooa1hTnABYRDz0DtFudLHvRDFnUei4v827nr97y9e91GC21Q==,iv:DtA27Ksq1pGMxlq3UJ4HxYiJC4dTjBJD/aRbDIijyNE=,tag:J0kvm+khW63qfmHZwXzyRg==,type:str]
ark: ENC[AES256_GCM,data:mwIyAXNT6rAEoxyh+kbTnTlZMgbYlRUzAKHhbI8CG7AdG5l1gNhnnAfcIPWjx2Y+VAwL6XIRJL18FCxCB52UHMDqLpkdn4/pf4gaJ6zLzLuHBNPGDtLB21+frderjuVbOMxwV6Dx946clgIHFA/FY9ooKOknS5K4mNQm7wyrTUJQ38shyRMwbbpPA9sQOK41XMkaU0Axdpie1adZiN+Vq9ikwf4H1TglymPeXvIypEwWN0iJXaHwr7CKGDyWixYAjUz4VwfkeNVfyR1u,iv:3pHjP5CZLM5xULs5oSk6BlCEHccqdrrVGLZctYSb9eA=,tag:wLMORvSvdcb/If86vZsXXg==,type:str]
firefox-sync: ENC[AES256_GCM,data:osI5nogy+LQQ7KAECZlJ2cO2eZ5lz40yON6kgW9ROmicpuukr7+9R7jURYNZg2ETNMrZpK0bSK6zWoe9hlcwtTwVz815ocLU+o4rdUFpUjE36a0+toT9AWhwF0K9RVwITK6A5nIW8TADH3RaGZI6PGQzrjn9F1nMruo3gn0h1Gv3R4mT1ySpZxc4CV9zyKE=,iv:ou78yVK/d9X4sKSmSp2s/WhRp1TCe+adbK52He5qVE8=,tag:FJgLYpS3dtwku4Vs/SvXUw==,type:str]
knot-tsig-key: ENC[AES256_GCM,data:Mj201Ikwl6VuU8cBmwRTJbApOfCwIYt/g0dZL8kYDBoLuUNkkRygO7HB+vQ=,iv:vDjQ2Of8/u4gJHZD+brUeGcjWSv3psAYTUp8FXGVDaw=,tag:7IBISNf7RnV99zYAKAyTpQ==,type:str]
mopidy-spotify: ENC[AES256_GCM,data:oZag4Uyhk7Lkd2awfInu0bABKB2aB9ZxgQ/oOqJ5QJ/HEQO6ysWVBodu2MF2PPBe13Y6zv3HAnz4DEi1rDNBRwxRloyAwSAnB8R1uTuIh0fnJ2lr64RuT2+EermmhVz/HoypCnKTlFad39d16cRCEIy3n7cYnbG3,iv:xZAroRKaKn0xuMieUWcs4KdtRyVbuxm2HaWLV5zMr/8=,tag:i0kiytOZhVXKmSvF41T/Og==,type:str]
lms-spotify: ENC[AES256_GCM,data:1GPYCleCAkqkctywo6QTTLCBv4nq1I+jGXreYXfYZX3X9qdDjBlGuQyIIzD/krspUg5iYm0m1z6CEkKZQOeCs6IUv7Da+iMV1Kte3/nosWpEqYtYeC0kIw3wV9RtAIsMCFADj9W/w97NTMjebg4CZdmqVjI8coFDEN9dKqfMWT5amsC+emH2oO4k67vA7lgBBhL69Wgi7YAC2lSL1EVvcestWSzVcIHWucH8VI7CIKXJOLNzPD6hsKoQARroo4N3lQZ/dTpd1A==,iv:7Ukq1yPXeoTTmFroXL6sOBG76INPqynKyrbBQIv1Y+A=,tag:KY2rfZrqUhm2xBSsjHRWDQ==,type:str]
ai-mailer-imap-password: ENC[AES256_GCM,data:gLSr5s/9YGd8DOD23k/MGZU58Q==,iv:ELdtCuD7Geofd9ElapMVX4UZ0gZgTtVvJpaDmY2NUq0=,tag:g4/ENc7/0PyUvY4VSg+mqQ==,type:str]
ai-mailer-openrouter-key: ENC[AES256_GCM,data:2y9JyDBYzo9Tcx+t8rrr/TleS9Lq2D6jOVSCnm99DBMauJ1QlfLIJ4zXpX0gebxGb8BPA0jBYnJdNQxHfjvYJVmnG7+qIw7zCA==,iv:ytkagoqtrT9kGqUFo6xrXNJp4LKSO6UNGjWZemCg2A4=,tag:0OoSoYchvMUYNUi1MclWOQ==,type:str]
borg-passphrase: ENC[AES256_GCM,data:ajkDfsz1sLcxcM5VEsU8z8opB4qLXZr6BdOc5IxX4OKb/8cckd341+mXk431IWuN6bLpd1XmINimLRLin9bnb6y29L0=,iv:w8VsAJrbkBLIjR8o5L3L1l6xgsLEa1cdyEAVqfCE8y0=,tag:PvhBSrp4n9oyqskekEDBQA==,type:str]
borg-ssh-key: ENC[AES256_GCM,data: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,iv:XOQg3GqMhWAWJdLgcw6wLi/Jw0KZp4YpuoY5MhzizoU=,tag:2AHG2lyRClCa96qBZM9MLA==,type:str]
ddclient: ENC[AES256_GCM,data:bB0gOu82+124M8d+AcTrhnaexZn3IRx18OM7JkdXpdo=,iv:o7pI+mMlD11TVK7dpf1pIKLWZjFoJE0BUW+FWB1CNkk=,tag:2eiyrhFAfCRwh8kx+ox6VA==,type:str]
filebot-license: ENC[AES256_GCM,data:twfY90M2Qq4T0B2yXwFw1hW94JIjCsgXDtXw+sjJxxCwn3t3A7cil64jJ4cjSFHf7gnT6/ijgGVBh70+DzurSI5F5XhIg9vpl+NtNvbvNRwVfO+tvBgFsDpmhZ4iAY+9b4uJFSF3BRHF6cNfK7imRkQCrNLBxxrRKdL3TWqWrSyz8k8OCs9oVHXUTLv1qkdcOn8R0a3c9CM+u1/FA3d7wFVAhdgj8T7mubbBAtv4CJFrU9Qm0KZSx1PpRFrwjHTIzLL1on40SExhQLrKMzQs/Abv2+p6QeSAMWRFc7RKuWOyQUF+Cti+a7q63DZn/IlOUeDvdnjzqtv6xTdh2jcBb7zujXgkkBOvo9PosF4hYL5LMpl5IKKz67lVplo9CHiDOWDdjgfel331ItVJrPnwQFpv0EanzjyWC98/WVjOrLqAK+zXsayDrVpYOGGAiCmBe5ucJSy7xQV/z1qMQxVDqw+zt6e2HLz4zfMBWLTzxtOjX/eLSk/omcrpPx+wDWjXBjFJtcLHvTtdq3nU8i/a7XFCKsywu9UkyShqaYj0zS3+pg4GkolcpohH9c/fQTX1HFOdRXFgMoRd5pgvhHE3aAGXr83d+Euvdo/NuKnQWbU6XYWeOwJLRevayoACd8luIAB/gm+1lTJux0Vjxj6VEbDxJEXIqL7C9tDF2ikfYcrMytCrA/ZcBRJujIBLoOpCTiFhbHjT6F03T6Np49qOxYRIHSA/GaZzGHhBpb7srZVsSi5qhTfOl+EiiShsgmZjhse0lXoyNWBllo5Dy3E9vB26d2QL0lEI30kqrO4XdgaLtZuCC4lWP/RxHXbYSah1xm5K3T8z454mGBRHJqMHrCMEhuk1NHdX07xLbVeGM8qnfX9y519hzQEPSf6Cmz0=,iv:wWL5EcM25VSjsAB79FO5lv+8/q5JBYd34dhIyyjJiuY=,tag:MyaQAWslwW3caXE/XiRdNw==,type:str]
forgejo-mailer-password: ENC[AES256_GCM,data:anUrMCIKbWCqNSN5HJKjMaqhlXVT+QsKfi1YdW4sDKACzL9LpMbdT4cThr779QDSvGFhbRuTysEs0jEQjDUdam00,iv:pBlGfyuPbKzp+QXHlR3eZpvy6Uhcj5rM3T1rx47P+us=,tag:lCcNRj7xo90kx0dknRU4Vw==,type:str]
forgejo-runner-token: ENC[AES256_GCM,data:HPn7kdxG570G0R74oT8IhGb+ZgIOgiqzio+GAPBXuO1Enq5ygm9xsFPeY+m7kBM=,iv:Sc9oRZctOAe9JEAy+JotKFFErMA3J0lc+0S6N1W+MGo=,tag:PY8G6SasJgpZUP25CP1r1g==,type:str]
gitea-mailer-password: ENC[AES256_GCM,data:ahsBBVjmUse9VrZOGQ++3C4WVOkFHJdTPYg3b3PGowdHheZkoSe2uEeKmnflDPHGD+lMtFoLAES18pIv8G2/tDAr,iv:QADR4/YZ4ikJskcHwfqiGvnCKB7WG4VTDtJkVuNaho0=,tag:E8WSmvw6IwLa6CxaVu9GhA==,type:str]
gitea-runner: ENC[AES256_GCM,data:eoGF7AlQqGWUQT1mtbgGFhloDd8WJp9qcc6XNohWz4oLS3Y3hdx2hcBL6VnF/vgtXZOHLZ9Bib3JFEzViYDf1p1gouvcfsK/4hKNfsoe5rswKvPRb3m4jDJnuOUf8JCFoh5XYBjCH6X9EG7WHtWTzYprRJ9EzMLwIHUyGULT2BmfLNHkEBDkfPffp5Rh2Kc/d2VpGM/qBDkDb6eDskiXC0UeOHfPyIyDsORD9bWx+1YYiUu1S7fpLD5nlN0JW3eaw683yvczNsgSoR1DWl5/6/I=,iv:UtRDVC1TATS2I0wWXHfOrfgFTJpML9TS9AN2sXGqtPA=,tag:XhDdZl66RRvxGNWYK8iQTg==,type:str]
gitea-runner-token: ENC[AES256_GCM,data:7z3aE/HNuZ0H8wsc/cy5ZiX0cBjtEUYPU7vabkh9AXgOBd0Gfv+bCyrCzvN8MyI=,iv:VYfJw/g2R5Unok+e9/wJjHS4gYNmbF+yxoRzyHsm8iU=,tag:mLwUu1GSWcq7vzc9PEJKWQ==,type:str]
home-assistant-ldap: ENC[AES256_GCM,data:P+yqFcbfqQvgzNj3wu488HgTUFd7bE35cQCpe2nWUQ1SqsXVT4+Q8i+WlnpWaxLAP0QlWQqKBzqUJiU3/k9PWA==,iv:VjlAXLAs134gopU4oaKaPoHfTKoEK5SUlD+IuMw+3hQ=,tag:G0RFhr4AOXbhCSJPJA35Kg==,type:str]
home-assistant-secrets.yaml: ENC[AES256_GCM,data:naM/fFaLtlRWEkVaCkfUa1RvdYK/pJl3mREGSI3QA+3vqOGRj46yTDdTvBhcdi6hKRatJr9HJMj229gyJSneUUFIb1cz+rPyrXnIxBMl9fsjQfBF8s7YoZy1UJxO8TIrdBkgKPKg+olk8aoR2jkafEwix96g8JR8C3nqJF86JT+LgJ4jeoPDBLUG3Ae01fRNkhKWbo1JK3RCp61m/cR6Mp9H+EbgO1bQ9puRCAXESabEwF/TgcQQuv56h9v1glU9kqfe602zOzyUxuUOo1VB9+lRCiAV462vtZ99kKxIvRbNWd4PQ0xoPI5j7mTkXIpxZSUkrIsXdrbZuAYvHERD,iv:KycHSWt6nXdf9MoRf7cNWJgQ3e3JYK6gbJhSnHu3/2Q=,tag:QmiYIF1FYjDa3I86KB9oMA==,type:str]
moltbot-gateway-token: ENC[AES256_GCM,data:TIw7yqHbyNLdka0PHCrX1UNgK+PYj13sjJY9QoyMVIuMvFhFh1Fg9I8vTqD5/AWCypkcmmQullx3t/rOU/NI3Q==,iv:fkZn4u81Q+ZdEBM8l4YVhDVpAqdLEMFXRQMuZ3mdeC0=,tag:/ZFOiNCvI1holTkOtvgF9Q==,type:str]
piped-db-password: ENC[AES256_GCM,data:JM1ZyHOhYDo+fgiVRrYB+iF6ITL+hSpVY+h/xVH+aP85HEoaF+Ryo3iFxpk=,iv:iM67fueJ1ebGF79Mj/6YH8mEDc6uz0uTUGsKF43xhAI=,tag:oPBws8hO0fmS+o859RdsMQ==,type:str]
pushover-api-token: ENC[AES256_GCM,data:EBdqKj3ac/H9vYWdMWBKuRo18ucuAZHXEiS2LNLW,iv:vIx2/15QgfT14GcYFVdUcsNEk3On5nZ8jbqeP5fFwG8=,tag:sR+j0iqjbMPaFePWVRID4g==,type:str]
pushover-user-key: ENC[AES256_GCM,data:/dKxdB/eM0MtNSVcr4NYGv7tw1Cvkge8p/HcWv/+,iv:RzLuLyg+2KSGH9UW2495KeKEyiTo5OzMWtlZhgg48uw=,tag:2q7rAvy8bWyLPLNONmagig==,type:str]
wrwks_vpn_key: ENC[AES256_GCM,data:8LmRG8yVFfMTwgRnT5dQg5H0b5Yaz/fM15l4TsaVaEQ0PZsSHY2PvVacv+6iZdDZOeyVZfslg+12dCD5OicN3g==,iv:QGRs/d8HK77PwJRpGFu+7ciX7sqs8ZV+3KEh2BlHZ/M=,tag:EwebFPtI4TfAR7b9ps7vJw==,type:str]
wg_cloonar_key: ENC[AES256_GCM,data:9FgI8sAGXgn680jhzUvWY1IsmcuGfk2lPalE5xWN7iFi2KnSbj6inawwJmQ=,iv:qahuBL2U2ncS4SPUPYNJ4Eqaq4hc2zkgVAiyF7+0jVM=,tag:Ony3Fd1F08Dxy3fTGmp2sA==,type:str]
wg_epicenter_works_key: ENC[AES256_GCM,data:2gtqs64Zzz3Uy7RPWHszideTtzooA3YMaw4+WfmTxBbQNKREaeySV2+Vdls=,iv:sE0CRkgz7FCiH3cWg3ozzgjEMjQ1PxSm06wFKqqi/DY=,tag:DkgJISsUh0v2yIGZFVcQzA==,type:str]
wg_epicenter_works_psk: ENC[AES256_GCM,data:gl/6kg+QT+y3InIcx6OcVlEckhyKYzDvCFbc62CjFTLq7pCDuNbAMSpLJFA=,iv:0QuR2twfIMuyhT11tblvZ7A6BHqBJzZcx4IprTVlqw0=,tag:oJlLXnsy8w1Dcbs81MGsjA==,type:str]
wg_ghetto_at_key: ENC[AES256_GCM,data:mpKsGzoWz8U/v/aZdN+z/U4z9kzlSo6IRK81yEkGjrOqhc4IHEuYe6U6I1s=,iv:qityQlwmZMo+Dst48hGhegN04cpMwyB0soeWRiZiVZI=,tag:uBtl/jdXF7BihNfIYlqJ5w==,type:str]
matrix-shared-secret: ENC[AES256_GCM,data:IyeA3VvLhgGzEpTrQC85MlK5ngrPMvw/GmQhk9mWQ58NJsC942t8LcQO4AGMQBtrq17eLv6Ke2rOuoxlRA==,iv:zLKhiv01ViSH8dN9j3XJA520KdgBFQWO1bo/cuJVDuM=,tag:fiQ4NWhr+TtNN+AbGAtjxg==,type:str]
phpldapadmin: ENC[AES256_GCM,data:Xv7G0iCfuPG7rXWfddgLV2Ztftwh1/lCY1KU+hGJDSGxbXKMkjThS9HL8+2BkOwHr46YVp0JHtxEcK4dxOQ/QTCF0xU6eo92dneXJ8ZyPe4UVWX+3x26vp1iOEpaDqL5n55FqKX0vJHffJBUS0mBu403fkJS463Mgyd8i9GPYBGZrGiiiApj49DUqA4bKdnxZMfOvY1SLk5wLfoY10uUuWlG/hwKrp3y5EkyQdUuD43kyDUMG0Zcka5ovz9TFGCQqGERWWnasOlduYTlR057h3w6TKi/I4wupbp2IHu+hyvrRtkM2/EcVPXpvWgEE/i+EFto3ku/Go+L5yjahJoJEhog0oIsZOg3,iv:26JI37tNe85LM88gg/AOoTqmSPjXD4hXbePwSJQrqWw=,tag:pFwr+73n5s/cGFwNnBlLsg==,type:str]
palworld: ENC[AES256_GCM,data:ihtdcEXcqiSr2RqsYreg9HlYB9SVkPdNTDThZTU390Lxu8SfNkbruYmYAALo8H8N2nMX83FAyuLGQ0OHlN0qSPzroK8QVUF2oI+JAcyjMnKB/gqhLMMgr9UN+72X2/3K2OwH+rY873uiBVAVbTBtfOJzDGDCgINERSjVtyw00n1Wxzlz7JWti80b8Hdilpg6LZj7VshAZf19s0VWljxz/drGBHCetWLn9dCop5Q00Hqd7dC4rn+efVelL0M7OT8KiGfYyoUL5cQhGb4ihYXa5+QuvIazm6C5hoQn0Ou7PFQGitB13gziwTu/OXkZeNLm4+xuayr52G3Min3HwzEtiGVP0DtYJmx+ONUOal/scZXuhkC1fjtkIdSQZi3L78CKvvkxQz6VGXi2gWxeZ63fvxGEitiEhE4JG1XwERDQQup1OneKIeelNqiQKSaYmQe3nJjn8lrFW+TKoj2hgFHw9u2xH4Qad2HcsJPiz8w2MdwBVj5H88vBSBWGUWyi6D2cxC7uaJ+qEINzjkWodgdUfD+OyPrRqQcuB6geRgadYpmpr+fqH4sIbYg31GfUgXtEfCxm9muAywMzhhmEq4173F2JNTYHGJG+R+2CoMpw9nJSidQJNaSJnZRPpNlShmBbgPt2rvqrFVXeKpaIpk4OjT57U+vlV6OzP0x8CnYe77cspCntm5VcP5lzqTJ+Xn4AZWY8gPolQM87VZ+oOQ==,iv:7M4FSofk3eYlLKuVIdxL49g4bwTF4ju8omO0PLMnZVw=,tag:5E9q+as6oLdF++dapuG6TA==,type:str]
ark: ENC[AES256_GCM,data:M3ztO6/LUCD6Zik+g1SuKf+2ne4ZSDaaD0R/kWX+qwHJZ8Scfzku63a8qAfytfICQ/XhTEF+f6s5pxTkiN1mgPMfdIda73d+Rv2yeVTkdgsamY9kTrTx9v3wZHiNyUvQM+IjNUje2CsF4iivMzyJhIF0112qYH7bMuvbKydHO5EQw4WPBonIXfLC1vd5wqAXWgyuQmvHTwHLgTQXSLiKbP/MhoBrpuzQtNM479VjMNVy5FpCf8+hl9ffj9MEcsORCB/hbG7HT7tdkP4w,iv:EU0ofqpq6qDCgwc9wrI32o1f20bhIASVcymYSuUMy2I=,tag:tvtVedgFpyosA/kMsxIGGw==,type:str]
firefox-sync: ENC[AES256_GCM,data:ctJxQDELOxkXJAJusvwGT70jShSr2o+xtAFvX9EuWe5DxfXrXeUVdHo1tELp8kofPMnYq1dMGDvj0iBNzK6MPQ75jeehZSO+RVyeRQopEmIJUOOFKR/goCeP0gcTOkuKmyr1p01OBjUTIp1UWvcsY6QC0ZHjF602WsmEZ+KeWw3uBnR18+7dA5tAkvoy1O4=,iv:/eVCI11oCbRxuhQpX3BEgwJCaoPHPTBE0s1XgVT1rHE=,tag:USu3y/CGQlliVJzeloCtQQ==,type:str]
knot-tsig-key: ENC[AES256_GCM,data:JXz7YJGgxoEJV9KiaaaiDgE50cVcZhOyXmknOxpV4zdgximUrM+TsNXmd9k=,iv:hhOThVcAMWTwp0bqC+7JMDS6O1iZzpE50AxvDB0sy2c=,tag:IAdZlLxgNjACBZxKXCrh/A==,type:str]
mopidy-spotify: ENC[AES256_GCM,data:/InQ6bFDZMyP2Np6f8zOh/Ssdgr27tcrwaOZhodR7Gagau2RQCJ8QHYK42x8P/3TEDXLbR2umySv48cOa/XtI8CTQaPAttfw++11QLIaXGfiiKgw4NyjNAAnhB+qlvXBDaLrGyk2PuDcPBkXm1x87hh3Rtou0Wa/,iv:35drh5LsdQLhd3v5VfK1IeVOeTRM29PdZSY/dH9b7ZI=,tag:lqkiE1rUlUq3Ym5sl5Nsog==,type:str]
lms-spotify: ENC[AES256_GCM,data:7yiuiZc6/65ppPjzK5ngt6DOvFtnD0HRgKca+TfsZ8rI0CaNywVZceW1lA0v6l9a4FJaOcMegNIs+2cNa7BkVpia53uFRL0ikHTDyI0nB9XLIhmbnzlbGSJ26MMeczJNS3J6rEX758BcEXme9pAvEmSWUga/GTlRcjfuFkvbToEpbVe6oEhthtnf0kucH2Yr/7ETUOMJLaUfb8NhvUUt6+BOb4zy52cXRBmB+IWo1qM4djx4L15ESP7MAo7iah83lktyyJgn5g==,iv:Y0mWmoW5xxlKDEjX7NIFG36AhTfO8Yuz9nqwwvK/s9E=,tag:pQl6V3q/DojdqmJuMZBJHA==,type:str]
sops:
age:
- recipient: age14grjcxaq4h55yfnjxvnqhtswxhj9sfdcvyas4lwvpa8py27pjy2sv3g6v7
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzZGZiWHg4OHRENFZUR0N1
L2UwdTc5RU1RRlZrZitxNG1aeSs3eEJweEVjCnp4NjdnTFlPVGE5Z09uQjJyL1da
MjN1UGdwdDM4ODNhdVVtMmhlTDNuNEUKLS0tIHhhTUpjbkVDSEU4d1plM0dCSy9J
OFU0TU5hZW1sdzdudmRkRzRKOVZrb3cKa27jKzE608GlCCT0RW9caAaV9TN5kes6
xqcj6s2CPa6LeMC0yMfeN2bYDPGXtEGUStzG0hXwg4pvQliBMtht5Q==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRjRJU3ZXYk1wbndIRTRV
WmNTY1BxdTdtMThwbnNNYmVwdlBVV21UeEhZCjFpY0VMWjZSdlFWNjFkVjNrcXVY
NGIyR1QwOWYvbzA0bjBGdVljYURJUVUKLS0tIG0valMrZm5GLzVHL1ZFWFR6WEE4
SFZidDhhTGRWZ3N1OVRIck0zdU44enMKcvt5966NSlt6heJmmOk0BRHOZnimLzi+
EPD1lnQH/Pq56Bcb+aFY4qymUwWov3TbshVBhh7CTiNtF8OSkgoEsw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1exny8unxynaw03yu8ppahu5z28uermghr8ag34e7kdqnaduq9stsyettzz
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2cUdxb0kvNkdDeWVMYmVJ
L2xlY29QaTd6ZFY4dCtsejhHN2s2anMya3d3CjdDN3FqajlzS3llWGhVK1A3eVdE
RjFuZmVBdFROTXhzZWduK0RVRWQyT1kKLS0tIGpzekV1OEJ3cW5Md1BhMitncnBs
OWUzY1p1dndFWjBTdXNOSEZyUjhMNzgKzewnYGETh0NSUad3p9s49JQyt0JHV58Y
eni6QDJ/ruQao2d2xBhwb4koGbzSUPQ2ie0syoOfMrxXYmu76bCb7Q==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBNSthOTgzZUhCVjBVb0tn
RnM4TWRPZmFvdzNMVUJuanlXdDZIMnpkMng0ClRrdHRNblNQQTRSdkZ0dzFWQW83
azA2UkdqOFFxTDdTOGJEdXhXWkZQSWMKLS0tIGdyRndDOXd3MnI4cDAyRmQvZElW
Y25yZXdwQXJ4a1NGbzFlVi9oMWJOYVkKjMFhePSmIyDjjzn9y5wJN2yEx+88KGhM
W2W3iUGBjLOhnsUdNzDtrc5mDM+OH6jckvAz3UQpAUBtEaf+TUv3VA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKNVVrZzV5dDlWeFJINkVj
KzFDUUl6OGRCN1o3eEhGdGdjTHdGVWZld0hJCjI4dWtNZUltb0RqTGxoT3JONC95
YXgraDJWcklyYUluTWZlU2pSY3NGTUkKLS0tIHFMYUJKN3h0Mm4rU1J2MmRCdjky
Vi93N3JHdi82WDRZRXUwbFQzRlJmUk0Kha2OzeHtJo5sIVqR5S0Wcpkp/nmo0s9k
WNXEtj8qPvtR4Ji/V7P6BdwGmtn+Yr4zbN+CamHkOjR3C62EQbXZSw==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBib3l5NVZMMWlVbEc1Y29N
THBXTmt6YVpnMG4xVjVNb3BJampuUVJoY3dnCnRMNk5wQnJzcWVLS0IyUk9ta2cv
U3dVWVJ1Tm1US2pROHphOGlidmxUK1kKLS0tIGtFdUpWdm9KMTVLS0tUdjBMZDlY
Vzl6QVE3azNtQm5IblVnMnBadkVCcFEKSbU+++fmAfh5oXPnjHbXK9XYDoLbtn9Z
qREcR1NZjTliJd5jJ8sgMMxDKo6+ml6nOsRLqyCqITllJpgFzSLe5A==
-----END AGE ENCRYPTED FILE-----
- recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEODNlS3EwcmxFN3hvTkVv
UTU4OFVIZENTbFc4dmlkSk5Gdk1qK1FySTJnCjJWR2FTYjZ1dDA3QzMyQyt6RW1C
UFlQZkFrS0QzSldvQjdRbkdLRDJNa3cKLS0tIDZTa3NXUks0M0FOdm0xSHBuSzVp
dVdIdXVDMkEvTktYWFFDak5WSzFSWlUKJ3y82O8e/z0Yag8vP6z/SSjExcVQTyvU
OPLHYcg5sByQ75AT5GBA4ZMF7M8EH1cP2QL7X8u4SeHDrVbMTx7d2w==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2YzIxSkEvUHdlL0FYcDhm
OTlTR0ExNVRPZzVTdlhFUWZ3YS9ncm1ObWw0CkQwWGZyRG5iN2FHNk9lVnpvUlFt
eTJKbzJYbXBuSjZwTitrRWtERnJyWHcKLS0tIDRZZU8rTUxCQnI3QkVhZ0h6WC9y
U1BDd1V3M1VnK0dqamVndGdVUysvbDAKPipxKNbjkE5VugEvKxt5If1iFules5ul
WLH7rH8M7R4uTOufBomXAqx3vMxxaCqUQlfbqhUkN7AT8vDPt5gqFg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-01-26T22:13:01Z"
mac: ENC[AES256_GCM,data:FuOSimEEfiyjY0oBzkaDcEwYhQZCyNiQYXPJxKFmybZ2eH+BKRoydtgMpCnOumCHHOH8W1N5HO7Ls7JSieAcx1MrFPXTkIaseUB+mQh69k42yi9FJ3rus2u1uT5KOLCDantE7HhlBCuEOSE9qoCxeda8Zx9210gXPt7QfgzkXds=,iv:39xgMDM0Y7nNF1tDN7N4zwdu0dvfL3Ss6yH5KS+Udk0=,tag:0u8crcNalWIyBc0WKxXzkQ==,type:str]
lastmodified: "2026-01-31T13:59:03Z"
mac: ENC[AES256_GCM,data:Nr7KPjlCuzWE4aAZj1MqD8Nm5TsC5FZWBpc9qQJMUOGjQMHYqwZU0fttRcY5Ik6MIH7+f+lPxHyRqqoy9ufYOqtAs5+fTDIgTGpYsBqN/MYqFLtwqAqOKoM3M+q0V8zmIotA13MQR8UxCF4WXCg37vwWKFKbNXlilpGOMOr1lHA=,iv:cjtfFHhqelIeNM7Xh6HIOJuQB2QzFp/vw8LcZujo6c0=,tag:Kb78AF9dswbO/MqjHDoQRg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.11.0