From d0a3b14134e0b37d50862ed341dfb8ff27cc29d1 Mon Sep 17 00:00:00 2001 From: Ethan Turkeltaub Date: Sun, 24 Dec 2023 14:39:11 -0500 Subject: [PATCH] Remove `attic` (#20) --- Justfile | 2 +- flake.lock | 109 ++---------------- flake.nix | 5 - hosts/gateway/configuration.nix | 13 --- hosts/omnibus/configuration.nix | 10 +- modules/development/shell.nix | 13 +-- modules/nixos/services/atticd/default.nix | 24 ---- modules/profiles/core/caching.nix | 14 +-- .../profiles/databases/postgresql/atticd.nix | 9 -- modules/profiles/networking/blocky.nix | 10 +- modules/profiles/services/atticd/default.nix | 39 ------- modules/profiles/services/atticd/secrets.yml | 84 -------------- 12 files changed, 27 insertions(+), 305 deletions(-) delete mode 100644 modules/nixos/services/atticd/default.nix delete mode 100644 modules/profiles/databases/postgresql/atticd.nix delete mode 100644 modules/profiles/services/atticd/default.nix delete mode 100644 modules/profiles/services/atticd/secrets.yml diff --git a/Justfile b/Justfile index cb9e547..2ffcefc 100644 --- a/Justfile +++ b/Justfile @@ -25,4 +25,4 @@ repl: nix repl --extra-experimental-features repl-flake .# format: - treefmt + nix fmt diff --git a/flake.lock b/flake.lock index 0efc4b1..5e1497e 100644 --- a/flake.lock +++ b/flake.lock @@ -1,36 +1,12 @@ { "nodes": { - "attic": { + "colmena": { "inputs": { - "crane": "crane", "flake-compat": "flake-compat", "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1702969472, - "narHash": "sha256-IJP9sC+/gLUdWhm6TsnWpw6A1zQWUfn53ym63KeLXvU=", - "owner": "zhaofengli", - "repo": "attic", - "rev": "bdafd64910bb2b861cf90fa15f1fc93318b6fbf6", - "type": "github" - }, - "original": { - "owner": "zhaofengli", - "repo": "attic", - "type": "github" - } - }, - "colmena": { - "inputs": { - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "nixpkgs" - ], "stable": "stable" }, "locked": { @@ -47,30 +23,9 @@ "type": "github" } }, - "crane": { - "inputs": { - "nixpkgs": [ - "attic", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1702918879, - "narHash": "sha256-tWJqzajIvYcaRWxn+cLUB9L9Pv4dQ3Bfit/YjU5ze3g=", - "owner": "ipetkov", - "repo": "crane", - "rev": "7195c00c272fdd92fc74e7d5a0a2844b9fadb2fb", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, "devenv": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_2", "nix": "nix", "nixpkgs": [ "nixpkgs" @@ -112,22 +67,6 @@ } }, "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { "flake": false, "locked": { "lastModified": 1650374568, @@ -143,7 +82,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1673956053, @@ -199,21 +138,6 @@ } }, "flake-utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -228,7 +152,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_2": { "inputs": { "systems": "systems" }, @@ -463,22 +387,6 @@ } }, "nixpkgs-stable": { - "locked": { - "lastModified": 1702780907, - "narHash": "sha256-blbrBBXjjZt6OKTcYX1jpe9SRof2P9ZYWPzq22tzXAA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1e2e384c5b7c50dbf8e9c441a9e58d85f408b01f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { "locked": { "lastModified": 1685801374, "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", @@ -494,7 +402,7 @@ "type": "github" } }, - "nixpkgs-stable_3": { + "nixpkgs-stable_2": { "locked": { "lastModified": 1702777222, "narHash": "sha256-/SYmqgxTYzqZnQEfbOCHCN4GzqB9uAIsR9IWLzo0/8I=", @@ -516,13 +424,13 @@ "devenv", "flake-compat" ], - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "gitignore": "gitignore", "nixpkgs": [ "devenv", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { "lastModified": 1688056373, @@ -540,7 +448,6 @@ }, "root": { "inputs": { - "attic": "attic", "colmena": "colmena", "devenv": "devenv", "disko": "disko", @@ -558,7 +465,7 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_3" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1702937567, diff --git a/flake.nix b/flake.nix index efbe20f..27d172d 100644 --- a/flake.nix +++ b/flake.nix @@ -6,14 +6,12 @@ "https://nix-community.cachix.org" "https://e10.cachix.org" "https://numtide.cachix.org" - "https://attic.e10.camp/e10" ]; extra-trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "e10.cachix.org-1:/++Tmo/ghEqnLwsQJdXn04c262agRCK5PaPYz8NcVfo=" "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE=" - "attic.e10.camp-e10:GRxL2EezM+0vZXpa9fePFqTM1qstxiV56tc5K3eDugk=" ]; }; @@ -40,9 +38,6 @@ colmena.url = "github:zhaofengli/colmena"; colmena.inputs.nixpkgs.follows = "nixpkgs"; - attic.url = "github:zhaofengli/attic"; - attic.inputs.nixpkgs.follows = "nixpkgs"; - devenv.url = "github:cachix/devenv"; devenv.inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/gateway/configuration.nix b/hosts/gateway/configuration.nix index e036c72..e909107 100644 --- a/hosts/gateway/configuration.nix +++ b/hosts/gateway/configuration.nix @@ -38,19 +38,6 @@ port = hosts.gateway.config.services.headscale.port; }; - "attic.e10.camp" = mkVirtualHost { - host = hosts.omnibus; - port = 8080; - extraConfig = '' - client_header_buffer_size 64k; - ''; - extraSettings = { - http3 = false; - http2 = false; - kTLS = true; - }; - }; - "blocky.e10.camp" = mkVirtualHost { host = hosts.controller; port = hosts.controller.config.services.blocky.settings.ports.http; diff --git a/hosts/omnibus/configuration.nix b/hosts/omnibus/configuration.nix index 2b87f06..0dd6e32 100644 --- a/hosts/omnibus/configuration.nix +++ b/hosts/omnibus/configuration.nix @@ -1,4 +1,4 @@ -{ config, suites, profiles, ... }: { +{ config, pkgs, suites, profiles, ... }: { imports = with suites; core ++ homelab ++ proxmox-vm ++ [ profiles.telemetry.smartd @@ -10,8 +10,6 @@ profiles.users.ethan profiles.users.proxmox profiles.databases.postgresql.default - profiles.databases.postgresql.atticd - profiles.services.atticd.default profiles.power.client.tripp-lite ] ++ [ ./hardware-configuration.nix ./disk-config.nix ]; @@ -64,5 +62,11 @@ paths = [ "/data/files" ]; }; + programs.fish.shellAliases.iotop = '' + bash -c "sudo sysctl kernel.task_delayacct=1 && sudo ${ + pkgs.lib.getExe pkgs.iotop + } ; sudo sysctl kernel.task_delayacct=0" + ''; + system.stateVersion = "23.11"; } diff --git a/modules/development/shell.nix b/modules/development/shell.nix index 500f7c9..75fb78a 100644 --- a/modules/development/shell.nix +++ b/modules/development/shell.nix @@ -1,7 +1,7 @@ { inputs, ... }: { imports = [ inputs.devenv.flakeModule ]; - perSystem = { inputs', pkgs, ... }: { + perSystem = { pkgs, ... }: { devenv.shells.default = _: { # TODO: Move this to be within the `keys/` directory? @@ -13,20 +13,13 @@ export ${key}=$(${sops} -d --extract '["${key}"]' ./secrets.json) ''; in '' - export SOPS_AGE_KEY_FILE="/Users/$USER/.config/sops/age/keys.txt" + export SOPS_AGE_KEY_FILE="$HOME/.config/sops/age/keys.txt" ${setSopsValueToEnvironmentVariable "AWS_ACCESS_KEY_ID"} ${setSopsValueToEnvironmentVariable "AWS_SECRET_ACCESS_KEY"} ''; - packages = with pkgs; [ - cachix - deadnix - just - statix - sops - inputs'.attic.packages.attic - ]; + packages = with pkgs; [ cachix deadnix just statix sops ]; } // { containers = pkgs.lib.mkForce { }; }; diff --git a/modules/nixos/services/atticd/default.nix b/modules/nixos/services/atticd/default.nix deleted file mode 100644 index cc436c6..0000000 --- a/modules/nixos/services/atticd/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ inputs, config, lib, ... }: - -with lib; - -let cfg = config.services.atticd; -in { - imports = [ inputs.attic.nixosModules.atticd ]; - - users.users = mkIf (cfg.user == "atticd") { - atticd = { - isSystemUser = true; - group = cfg.group; - uid = 3450; - }; - }; - - users.groups = mkIf (cfg.group == "atticd") { atticd.gid = 3450; }; - - systemd.services.atticd.serviceConfig = mkIf (cfg.enable - && cfg.settings.storage.type == "local" && cfg.settings.storage.path - != "/var/lib/atticd/storage") { - ReadWritePaths = cfg.settings.storage.path; - }; -} diff --git a/modules/profiles/core/caching.nix b/modules/profiles/core/caching.nix index dbbf535..b8dccd4 100644 --- a/modules/profiles/core/caching.nix +++ b/modules/profiles/core/caching.nix @@ -1,20 +1,12 @@ -{ inputs, pkgs, ... }: { - environment.systemPackages = with pkgs; [ - inputs.attic.packages.x86_64-linux.attic - cachix - ]; +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ cachix ]; nix.settings = { - substituters = [ - "https://e10.cachix.org" - "https://numtide.cachix.org" - "https://attic.e10.camp" - ]; + substituters = [ "https://e10.cachix.org" "https://numtide.cachix.org" ]; trusted-public-keys = [ "e10.cachix.org-1:/++Tmo/ghEqnLwsQJdXn04c262agRCK5PaPYz8NcVfo=" "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE=" - "attic.e10.camp-e10:GRxL2EezM+0vZXpa9fePFqTM1qstxiV56tc5K3eDugk=" ]; }; } diff --git a/modules/profiles/databases/postgresql/atticd.nix b/modules/profiles/databases/postgresql/atticd.nix deleted file mode 100644 index 55c5e4e..0000000 --- a/modules/profiles/databases/postgresql/atticd.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: { - services.postgresql = { - initialScript = pkgs.writeText "postgres-atticd-init" '' - CREATE ROLE atticd WITH LOGIN PASSWORD 'atticd' CREATEDB; - CREATE DATABASE atticd; - GRANT ALL PRIVILEGES ON DATABASE atticd TO atticd; - ''; - }; -} diff --git a/modules/profiles/networking/blocky.nix b/modules/profiles/networking/blocky.nix index 4d9a070..ebb66ea 100644 --- a/modules/profiles/networking/blocky.nix +++ b/modules/profiles/networking/blocky.nix @@ -85,11 +85,11 @@ }"; }; ede.enable = true; - queryLog = { - type = "postgresql"; - target = "postgres://blocky?host=/run/postgresql"; - logRetentionDays = 90; - }; + # queryLog = { + # type = "postgresql"; + # target = "postgres://blocky?host=/run/postgresql"; + # logRetentionDays = 90; + # }; }; }; diff --git a/modules/profiles/services/atticd/default.nix b/modules/profiles/services/atticd/default.nix deleted file mode 100644 index b204c2a..0000000 --- a/modules/profiles/services/atticd/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ config, ... }: -let storagePath = "/data/files/services/atticd/storage"; -in { - sops.secrets = { - attic_credentials = { - sopsFile = ./secrets.yml; - format = "yaml"; - }; - }; - - systemd.tmpfiles.rules = [ - "d '${storagePath}' 0777 ${config.services.atticd.user} ${config.services.atticd.group} - -" - ]; - - services.atticd = { - enable = true; - credentialsFile = config.sops.secrets.attic_credentials.path; - settings = { - listen = "[::]:8080"; - - # Do not change this! Otherwise caches need to be recreated! - chunking = { - nar-size-threshold = 64 * 1024; - min-size = 16 * 1024; - avg-size = 64 * 1024; - max-size = 256 * 1024; - }; - - database.url = "postgres://atticd?host=/run/postgresql"; - - storage = { - type = "local"; - path = storagePath; - }; - }; - }; - - networking.firewall.allowedTCPPorts = [ 8080 ]; -} diff --git a/modules/profiles/services/atticd/secrets.yml b/modules/profiles/services/atticd/secrets.yml deleted file mode 100644 index a612f20..0000000 --- a/modules/profiles/services/atticd/secrets.yml +++ /dev/null @@ -1,84 +0,0 @@ -attic_credentials: ENC[AES256_GCM,data:wNkRc78B/sLRePiuwgrUj+bhMw3M6fpwLI+Pj2gv/ijZFMOcCCofYEEoaE5OlwjBvBGP6VdZOtbjcFcxmCY6orTYYhdQOBw3gjyVIy3CZGnlCr5su85Yv8LFAvgJy9NaoXtTjqogqXNaG8igdh4b9CTf5xmQmgrJp7zrfygFlHG7eQ==,iv:IDxpELEMRZJt69ZpbnPbp/kYFG9vTdoIoEi2vZxvBtc=,tag:ys+us8oYRtvGki4ZK1of9w==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age10539mc6shf02hpa8huyjktdw3nfyavxdg8pt247wwvq4xrv8h5zs8nc0k0 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMLzA4UkpMMnFPR0N4RXBm - VzlVb0hXL2RXK1Y1b1hGWUYycDFkUkt6bXdrCnN1TWRNOW1EVE5HTVdKelg0cENR - RlhGOWphaFlkM3RLcithTlMwR1BSdFkKLS0tIDBlTXVMMTRTdEVzY2t2VDlIQSs1 - MlJidEd5bTZNUEtoTVF5UkNIVU93Z0EKjAf3rKW90f1lmTvmb1A2Id7kskrpqGxW - jHNWmJC/mg7icTQmzHhWs+iPgz2dn6fxo+u/y3xdybZzlK0xQYtVYA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1xgvn6f36rkzmq2kfqx0g2xg90qrpar4hpu6fr8xc3s2kqw6dzqcssnslsv - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoK0p6M0JoZzNwR0VEK1NM - Q1QyQzRKTzU4aVNHSm5GdXVpQ1JTdnpHUkNFCnBXQjRDaHFhejQremRSdlZjNHpU - UlV2M2VYMWpJanpJdTZJUVpObkxOSmsKLS0tIEhBZ01LYkp5b2pNZEthTWFhczBV - YlpQY0xzZW01cllxSzB3Q2VWUmxRTzQK5eSuorVLgzKSLgWpy+tZSScqVIXgxd7E - /HKRc2BMe1WSv4fO8Z9rWGnci75fFhuT5CU39L27MrR+7ZCsWiHfJg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1ex9c847ra3fkwv9qwk85a8ukt9f5jny6rusc3pn967dvkwlpwass56jrfd - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0VVpXMmlPTnhIZWorZUxa - UkEvaFhqVVBzcDVnVVVHTXE4cHplREVRcnc4CkliNmdzWmJOOG85aUZLTnZPZ0dl - K1BDZXozRnFzR0ZKdHJ2ZDAxMUNtR0EKLS0tIGllVDRKYWJvbkd5dWp0TEc3aC81 - U2RvNHNkSkc4NHJxbitQZ3NEalQwTVkK509+5/OoPcb/uZU3mgo1Ufv2zTQKeIuv - Fxb6mBU9V6Rar/CjDwLOyqiKGYKXI0aPJDN1hB0hiIoHY6d0LhMNHg== - -----END AGE ENCRYPTED FILE----- - - recipient: age13ztzxk2f2cklrecwqztmwznvj2qdrjlrpcu6xmc698yfex8puvdqsryrcj - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwTCtrQkVSZFBLeTgveTQ2 - Y3k2MVo5WHVYWUhVN1NDY3plS21mclZuOEhzCnpEdHhqTHNDcWhjZ0JRczhwWEpQ - bGhLVmVLbTM5bEl4R0NVaG1uRm90bVEKLS0tIGpxOUk2bGU3WFJSRUI0bTF3U2RZ - clZZMUdkZTZObGEzUXp5eWdNd1FBSFUKkjTmmcXxwZZD2QEa/r9etlQfQlRmqO6v - mBbauwUrlFtrFeh9ZsmrbNh/m5XbSaJ2phfEbKbS0jlL6ebodtv7Vg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1k5nzxq4ej2u9ls97c2dhlz96j2vghv0assz5g0p4npzyc8c8fqlqld72hg - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2WEZ2cDBRT09lMGJYOWgw - WmtwcWJJMlFkNmdFaklBWDJiQk9Xam1ES1I4CmhsQ09YK0luTjRwc0JLdVJibjB2 - L2ZqcG1qSS9lQnFqY3R1NDlBclVrck0KLS0tIG5pNFRkNk5DUVEzY21rTm1aajVM - OFI5UVFqZy9Zc284bm5QcFdHck1uUzgKsDEV/OC9x/+Ubmx3Qy0DqdCsYaRj3sKr - dBpLZmjTpXPNkoKDMAbl8CqMzXkj4tctvWuvw0maQM79qbBHVlTH3Q== - -----END AGE ENCRYPTED FILE----- - - recipient: age1gkzp905yqkla54l52m4xkqtxpn0sndkx0vh6qqa8d2tu29x8f35q354gpe - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVbHBBMlZEbmRMV0dEKzRS - VzE4NForM0RYOFU5VkFPZ0dobEhpanMxbm1zCmtnRXk1TUJlMmhCSGpQMUtWM2cx - SlZ0ck1CdWFBQWhjUFA1UzVtKzhNNUUKLS0tIHdyc3ViNHBOQW44WUY5SCtIR1By - S01HZ0FvV1Zoc1dTMVpXZHI4VmRFelUKg0k4seOqga+AR5Z/g/sXj8+qvW+G9KUv - cc6PJ9+yn/L9pgotptpRvkxkXBml1PZ3yhVi9deqAQIpzQ0+BDnXng== - -----END AGE ENCRYPTED FILE----- - - recipient: age1c4d93hmawmx8nt8g2sjrxcngfl7qx7y6vwxpqqg7grrkhjen6fvstljgg9 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhanA4UjFSc3VnOTQ1M2sv - RklQbTJzRXQwTHFZYkNUVW4rS2NzeVlqV2hZCm1HZ1ZKTlhlcDU0cUFnR3VEZG9O - TlMwWTlvNUF3Rjk5ZTk5UU5KQ3JiWFkKLS0tIDlNbjA0eExkanN0aG83d2FESEx1 - UStESUpjZTVyRnp6eENJUmxjdG5tRHcKxO8Zv2nICKjzZMOlu/2I86lqW6HVIx6P - 9x5Q7TJdxDyIWw5gsnMEEYTnZjhKqYyFCyBNy18uV/BfPyKTFg+yGw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1vdrdnzqjy9uj34slwkpk9tfnfnn7s7z20m48tel7ezh0svgruf3sjwfsy2 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBncFNLVkFwYVhlMWFpTmlC - aWNsN2svOXVpWWp1SlFsNEo3YzBDd2s2OUhjCkxudUtRV3BkY2NBUnkzSkUzaDRx - a3M0NG9ROUFya0RPZEhSYzVZdmJ0dW8KLS0tIG9iOEtpZnFERGdqaVNlVmM0dUxn - c1RsS3hvNytVQ1MyM0NxSzVJU1ppcDAKpPplzM5ibXKWl6WwqLFoe5tOt5E5F7gh - GLfcqJ7jo1nvxSryL6Z48xe7RYxk1L7mlviFo/QmishK2tJPQRxedg== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-09-13T15:36:50Z" - mac: ENC[AES256_GCM,data:qR9R6ahHbft60ijX4i6QPKGObf7x1N6AykYYlaasSfy0ZU+/pHGQUzQo98Jx1XgSZ6CX0yeJZOn1oR3MrKILNC0CUYTsBol9QPxBxGNcw0brbHmwZYo00E6FS7qZ/zRjVVnbB0jfrAcoRQtTGWp/5/NUghjlo9EzIEI83STonuI=,iv:xlCYX7PU6G9Cdw/0sZga+g6kMPAhfpf95LgJ4uHDE+s=,tag:25+xfVhfmUl8vmxlFPJ9YQ==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.7.3