Compare commits

..

14 commits

Author SHA1 Message Date
b7c225a9cd
feat(web03/gestioCOF): passing in cof-prod branch
All checks were successful
Build all the nodes / hypervisor03 (pull_request) Successful in 2m38s
Build all the nodes / hypervisor02 (pull_request) Successful in 2m50s
Build all the nodes / build01 (pull_request) Successful in 2m51s
Build all the nodes / hypervisor01 (pull_request) Successful in 2m51s
Build all the nodes / storage01 (pull_request) Successful in 2m39s
Build all the nodes / vault01 (pull_request) Successful in 2m45s
Build all the nodes / web03 (pull_request) Successful in 2m36s
Build all the nodes / compute01 (pull_request) Successful in 3m8s
Build all the nodes / web01 (pull_request) Successful in 3m13s
Build all the nodes / netcore01 (push) Successful in 21s
Build all the nodes / netcore02 (push) Successful in 21s
Build all the nodes / netaccess01 (push) Successful in 22s
Build all the nodes / ap01 (push) Successful in 1m16s
Build all the nodes / bridge01 (push) Successful in 1m47s
Build all the nodes / hypervisor02 (push) Successful in 1m59s
Build all the nodes / geo02 (push) Successful in 1m59s
Build all the nodes / storage01 (push) Successful in 1m59s
Build all the nodes / build01 (push) Successful in 2m15s
Build all the nodes / rescue01 (push) Successful in 2m26s
Build all the nodes / hypervisor01 (push) Successful in 2m29s
Build all the nodes / hypervisor03 (push) Successful in 2m33s
Build all the nodes / tower01 (push) Successful in 2m32s
Build all the nodes / vault01 (push) Successful in 2m36s
Build all the nodes / geo01 (push) Successful in 2m42s
Build the shell / build-shell (push) Successful in 48s
Run pre-commit on all files / pre-commit (push) Successful in 51s
Build all the nodes / web02 (push) Successful in 1m41s
Build all the nodes / compute01 (push) Successful in 3m13s
Build all the nodes / web01 (push) Successful in 2m50s
Build all the nodes / web03 (push) Successful in 1m50s
2025-02-26 09:12:02 +01:00
97e4ed43d5
feat(web03/gestioCOF): email config
All checks were successful
Build all the nodes / bridge01 (pull_request) Successful in 3m34s
Build all the nodes / hypervisor02 (pull_request) Successful in 3m35s
Build all the nodes / geo01 (pull_request) Successful in 3m36s
Build all the nodes / hypervisor01 (pull_request) Successful in 3m37s
Build all the nodes / geo02 (pull_request) Successful in 3m51s
Build all the nodes / storage01 (pull_request) Successful in 3m30s
Build all the nodes / rescue01 (pull_request) Successful in 3m39s
Build all the nodes / web01 (pull_request) Successful in 3m50s
Build all the nodes / vault01 (pull_request) Successful in 3m53s
Build all the nodes / ap01 (push) Successful in 32s
Build all the nodes / netcore01 (push) Successful in 22s
Build all the nodes / netcore02 (push) Successful in 23s
Build all the nodes / netaccess01 (push) Successful in 34s
Build the shell / build-shell (push) Successful in 42s
Run pre-commit on all files / pre-commit (push) Successful in 54s
Build all the nodes / geo02 (push) Successful in 2m0s
Build all the nodes / bridge01 (push) Successful in 2m2s
Build all the nodes / geo01 (push) Successful in 2m4s
Build all the nodes / hypervisor02 (push) Successful in 2m6s
Build all the nodes / hypervisor01 (push) Successful in 2m17s
Build all the nodes / web03 (push) Successful in 2m2s
Build all the nodes / hypervisor03 (push) Successful in 2m14s
Build all the nodes / vault01 (push) Successful in 2m19s
Build all the nodes / tower01 (push) Successful in 2m22s
Build all the nodes / build01 (push) Successful in 2m37s
Build all the nodes / rescue01 (push) Successful in 2m29s
Build all the nodes / web02 (push) Successful in 2m32s
Build all the nodes / storage01 (push) Successful in 2m42s
Build all the nodes / web01 (push) Successful in 3m13s
Build all the nodes / compute01 (push) Successful in 3m27s
2025-02-25 11:37:27 +01:00
0558b48aaa
fix(django-apps/timers): avoid socket suppression
Some checks failed
Build all the nodes / tower01 (pull_request) Successful in 1m29s
Build the shell / build-shell (pull_request) Successful in 26s
Run pre-commit on all files / pre-commit (pull_request) Successful in 23s
Build all the nodes / rescue01 (pull_request) Successful in 1m54s
Build all the nodes / compute01 (pull_request) Successful in 2m35s
Build all the nodes / vault01 (pull_request) Successful in 1m51s
Build all the nodes / web02 (pull_request) Successful in 1m45s
Build all the nodes / web03 (pull_request) Successful in 1m40s
Build all the nodes / web01 (pull_request) Successful in 2m14s
Build all the nodes / netaccess01 (push) Successful in 20s
Build all the nodes / netcore01 (push) Successful in 21s
Build all the nodes / netcore02 (push) Successful in 21s
Build all the nodes / ap01 (push) Successful in 32s
Build the shell / build-shell (push) Successful in 22s
Run pre-commit on all files / pre-commit (push) Successful in 25s
Build all the nodes / tower01 (push) Has been cancelled
Build all the nodes / hypervisor01 (push) Has been cancelled
Build all the nodes / geo01 (push) Has been cancelled
Build all the nodes / compute01 (push) Has been cancelled
Build all the nodes / vault01 (push) Has been cancelled
Build all the nodes / geo02 (push) Has been cancelled
Build all the nodes / storage01 (push) Has been cancelled
Build all the nodes / rescue01 (push) Has been cancelled
Build all the nodes / build01 (push) Has been cancelled
Build all the nodes / web01 (push) Has been cancelled
Build all the nodes / web03 (push) Has been cancelled
Build all the nodes / bridge01 (push) Has been cancelled
Build all the nodes / web02 (push) Has been cancelled
Build all the nodes / hypervisor02 (push) Has been cancelled
Build all the nodes / hypervisor03 (push) Has been cancelled
2025-02-25 11:37:17 +01:00
34197a21ec feat(django_apps): enable logging by default
All checks were successful
Build all the nodes / compute01 (pull_request) Successful in 3m5s
Build all the nodes / hypervisor03 (pull_request) Successful in 2m10s
Build all the nodes / tower01 (pull_request) Successful in 1m48s
Build all the nodes / rescue01 (pull_request) Successful in 2m8s
Build all the nodes / storage01 (pull_request) Successful in 2m10s
Build all the nodes / web03 (pull_request) Successful in 1m53s
Build all the nodes / vault01 (pull_request) Successful in 2m17s
Build all the nodes / web02 (pull_request) Successful in 2m11s
Build all the nodes / web01 (pull_request) Successful in 2m22s
Build all the nodes / netcore02 (push) Successful in 20s
Build all the nodes / netaccess01 (push) Successful in 21s
Build all the nodes / ap01 (push) Successful in 33s
Build all the nodes / netcore01 (push) Successful in 43s
Build the shell / build-shell (push) Successful in 44s
Build all the nodes / geo01 (push) Successful in 1m32s
Build all the nodes / rescue01 (push) Successful in 1m33s
Build all the nodes / bridge01 (push) Successful in 1m41s
Build all the nodes / hypervisor02 (push) Successful in 1m42s
Build all the nodes / hypervisor01 (push) Successful in 1m43s
Build all the nodes / geo02 (push) Successful in 1m46s
Build all the nodes / build01 (push) Successful in 1m47s
Build all the nodes / web02 (push) Successful in 1m28s
Build all the nodes / storage01 (push) Successful in 1m54s
Build all the nodes / web03 (push) Successful in 1m31s
Build all the nodes / tower01 (push) Successful in 2m10s
Run pre-commit on all files / pre-commit (push) Successful in 40s
Build all the nodes / hypervisor03 (push) Successful in 2m25s
Build all the nodes / vault01 (push) Successful in 2m25s
Build all the nodes / web01 (push) Successful in 3m14s
Build all the nodes / compute01 (push) Successful in 3m24s
2025-02-24 17:55:20 +01:00
b524b96fce feat(web03/gestiocof): timers
All checks were successful
Build all the nodes / hypervisor02 (pull_request) Successful in 2m17s
Build all the nodes / hypervisor03 (pull_request) Successful in 2m12s
Build all the nodes / storage01 (pull_request) Successful in 1m57s
Build all the nodes / rescue01 (pull_request) Successful in 2m2s
Build all the nodes / web02 (pull_request) Successful in 1m50s
Build all the nodes / vault01 (pull_request) Successful in 2m1s
Build all the nodes / web01 (pull_request) Successful in 2m11s
Build all the nodes / web03 (pull_request) Successful in 2m10s
Build all the nodes / compute01 (pull_request) Successful in 3m14s
Build all the nodes / netaccess01 (push) Successful in 21s
Build all the nodes / netcore02 (push) Successful in 21s
Build the shell / build-shell (push) Successful in 24s
Run pre-commit on all files / pre-commit (push) Successful in 26s
Build all the nodes / netcore01 (push) Successful in 41s
Build all the nodes / ap01 (push) Successful in 1m18s
Build all the nodes / geo02 (push) Successful in 1m44s
Build all the nodes / hypervisor01 (push) Successful in 1m50s
Build all the nodes / web02 (push) Successful in 1m54s
Build all the nodes / hypervisor03 (push) Successful in 1m57s
Build all the nodes / rescue01 (push) Successful in 1m57s
Build all the nodes / bridge01 (push) Successful in 2m1s
Build all the nodes / geo01 (push) Successful in 2m9s
Build all the nodes / build01 (push) Successful in 2m10s
Build all the nodes / web01 (push) Successful in 2m18s
Build all the nodes / vault01 (push) Successful in 2m21s
Build all the nodes / storage01 (push) Successful in 2m23s
Build all the nodes / hypervisor02 (push) Successful in 2m23s
Build all the nodes / tower01 (push) Successful in 2m23s
Build all the nodes / web03 (push) Successful in 2m19s
Build all the nodes / compute01 (push) Successful in 2m45s
2025-02-24 17:48:00 +01:00
5a37cf7d64
feat(web02): Switch to django-apps for deploying kadenios
All checks were successful
Build all the nodes / ap01 (push) Successful in 31s
Build all the nodes / netaccess01 (push) Successful in 19s
Build all the nodes / netcore01 (push) Successful in 19s
Build all the nodes / netcore02 (push) Successful in 36s
Build all the nodes / bridge01 (push) Successful in 1m51s
Run pre-commit on all files / pre-commit (push) Successful in 24s
Build the shell / build-shell (push) Successful in 34s
Build all the nodes / build01 (push) Successful in 2m11s
Build all the nodes / hypervisor03 (push) Successful in 1m39s
Build all the nodes / geo01 (push) Successful in 2m11s
Build all the nodes / hypervisor01 (push) Successful in 2m13s
Build all the nodes / geo02 (push) Successful in 2m19s
Build all the nodes / tower01 (push) Successful in 1m44s
Build all the nodes / hypervisor02 (push) Successful in 2m22s
Build all the nodes / compute01 (push) Successful in 2m43s
Build all the nodes / vault01 (push) Successful in 1m59s
Build all the nodes / rescue01 (push) Successful in 2m20s
Build all the nodes / storage01 (push) Successful in 2m26s
Build all the nodes / web02 (push) Successful in 2m14s
Build all the nodes / web03 (push) Successful in 2m24s
Build all the nodes / web01 (push) Successful in 2m31s
2025-02-24 17:47:13 +01:00
6dc90315c5
feat(lib/keys): Add a function for nodeless secrets 2025-02-24 17:47:13 +01:00
8e39d6bc1a
fix(django-apps): Place the bracket correctly 2025-02-24 17:47:13 +01:00
78f32c1b0a
chore(meta/dns): Add a webhook endpoint for web02
Some checks failed
Check meta / check_meta (push) Successful in 15s
Check meta / check_dns (push) Successful in 21s
Build all the nodes / netcore02 (push) Successful in 20s
Build all the nodes / netcore01 (push) Successful in 29s
Build all the nodes / netaccess01 (push) Successful in 30s
Build all the nodes / ap01 (push) Successful in 31s
Build all the nodes / geo01 (push) Successful in 1m33s
Build all the nodes / tower01 (push) Successful in 1m32s
Build all the nodes / rescue01 (push) Failing after 2m12s
Build all the nodes / compute01 (push) Failing after 2m20s
Build all the nodes / hypervisor02 (push) Successful in 2m21s
Build all the nodes / hypervisor01 (push) Successful in 2m26s
Build all the nodes / hypervisor03 (push) Successful in 2m25s
Build all the nodes / build01 (push) Successful in 2m28s
Build all the nodes / bridge01 (push) Successful in 2m31s
Build all the nodes / geo02 (push) Successful in 2m32s
Build the shell / build-shell (push) Successful in 23s
Run pre-commit on all files / pre-commit (push) Successful in 24s
Build all the nodes / storage01 (push) Successful in 2m34s
Build all the nodes / vault01 (push) Successful in 2m29s
Build all the nodes / web03 (push) Failing after 58s
Build all the nodes / web01 (push) Successful in 2m18s
Build all the nodes / web02 (push) Successful in 1m36s
2025-02-24 16:16:59 +01:00
09ffafade0
feat(django-apps): Add timers option
Some checks failed
Build all the nodes / netcore01 (push) Successful in 20s
Build all the nodes / netaccess01 (push) Successful in 21s
Build all the nodes / netcore02 (push) Successful in 20s
Build all the nodes / ap01 (push) Successful in 58s
Build all the nodes / geo02 (push) Successful in 1m32s
Build all the nodes / rescue01 (push) Failing after 1m36s
Build all the nodes / geo01 (push) Successful in 2m8s
Build all the nodes / compute01 (push) Failing after 2m17s
Build all the nodes / hypervisor03 (push) Successful in 2m17s
Build all the nodes / hypervisor02 (push) Successful in 2m19s
Build all the nodes / hypervisor01 (push) Successful in 2m23s
Build all the nodes / bridge01 (push) Successful in 2m23s
Build all the nodes / tower01 (push) Successful in 2m22s
Build all the nodes / storage01 (push) Successful in 2m23s
Build all the nodes / build01 (push) Successful in 2m29s
Build all the nodes / web03 (push) Failing after 56s
Build the shell / build-shell (push) Successful in 25s
Build all the nodes / web02 (push) Successful in 1m37s
Run pre-commit on all files / pre-commit (push) Successful in 24s
Build all the nodes / vault01 (push) Successful in 2m23s
Build all the nodes / web01 (push) Successful in 2m39s
This is similar to extraServices but without the partOf, upheldBy and
wantedBy settings.
2025-02-24 16:03:01 +01:00
80ede4b1f6
feat(web03): Do the migration
All checks were successful
Build all the nodes / netcore02 (push) Successful in 21s
Build the shell / build-shell (push) Successful in 24s
Build all the nodes / netaccess01 (push) Successful in 28s
Build all the nodes / netcore01 (push) Successful in 28s
Build all the nodes / ap01 (push) Successful in 33s
Run pre-commit on all files / pre-commit (push) Successful in 25s
Build all the nodes / build01 (push) Successful in 1m41s
Build all the nodes / geo01 (push) Successful in 1m46s
Build all the nodes / storage01 (push) Successful in 1m52s
Build all the nodes / hypervisor01 (push) Successful in 2m7s
Build all the nodes / geo02 (push) Successful in 2m14s
Build all the nodes / hypervisor03 (push) Successful in 2m23s
Build all the nodes / bridge01 (push) Successful in 2m38s
Build all the nodes / tower01 (push) Successful in 2m38s
Build all the nodes / rescue01 (push) Successful in 2m43s
Build all the nodes / web03 (push) Successful in 2m42s
Build all the nodes / vault01 (push) Successful in 2m42s
Build all the nodes / hypervisor02 (push) Successful in 2m43s
Build all the nodes / web02 (push) Successful in 2m49s
Build all the nodes / web01 (push) Successful in 3m13s
Build all the nodes / compute01 (push) Successful in 3m20s
2025-02-24 15:33:42 +01:00
2e9afbfe8e
chore(dns): Update redirection
All checks were successful
Check meta / check_meta (push) Successful in 16s
Check meta / check_dns (push) Successful in 16s
Build all the nodes / netaccess01 (push) Successful in 22s
Build all the nodes / netcore01 (push) Successful in 22s
Build all the nodes / ap01 (push) Successful in 31s
Build all the nodes / netcore02 (push) Successful in 21s
Build the shell / build-shell (push) Successful in 25s
Run pre-commit on all files / pre-commit (push) Successful in 22s
Build all the nodes / hypervisor01 (push) Successful in 2m0s
Build all the nodes / storage01 (push) Successful in 1m41s
Build all the nodes / rescue01 (push) Successful in 1m53s
Build all the nodes / hypervisor02 (push) Successful in 2m9s
Build all the nodes / bridge01 (push) Successful in 2m10s
Build all the nodes / geo02 (push) Successful in 2m12s
Build all the nodes / web02 (push) Successful in 1m46s
Build all the nodes / tower01 (push) Successful in 1m53s
Build all the nodes / build01 (push) Successful in 2m19s
Build all the nodes / geo01 (push) Successful in 2m22s
Build all the nodes / hypervisor03 (push) Successful in 2m29s
Build all the nodes / web03 (push) Successful in 1m57s
Build all the nodes / compute01 (push) Successful in 2m39s
Build all the nodes / vault01 (push) Successful in 2m22s
Build all the nodes / web01 (push) Successful in 2m39s
2025-02-24 13:23:31 +01:00
34b22ae119
chore(web03/secrets): Rekey
All checks were successful
Build all the nodes / netcore01 (push) Successful in 20s
Build all the nodes / netcore02 (push) Successful in 20s
Build all the nodes / netaccess01 (push) Successful in 45s
Build all the nodes / geo01 (push) Successful in 1m28s
Build all the nodes / ap01 (push) Successful in 1m32s
Build all the nodes / tower01 (push) Successful in 1m36s
Build all the nodes / build01 (push) Successful in 1m47s
Build all the nodes / rescue01 (push) Successful in 2m2s
Build the shell / build-shell (push) Successful in 26s
Build all the nodes / storage01 (push) Successful in 2m8s
Build all the nodes / hypervisor01 (push) Successful in 2m16s
Run pre-commit on all files / pre-commit (push) Successful in 30s
Build all the nodes / bridge01 (push) Successful in 2m20s
Build all the nodes / hypervisor02 (push) Successful in 2m20s
Build all the nodes / geo02 (push) Successful in 2m20s
Build all the nodes / hypervisor03 (push) Successful in 2m22s
Build all the nodes / web01 (push) Successful in 2m6s
Build all the nodes / compute01 (push) Successful in 2m36s
Build all the nodes / vault01 (push) Successful in 2m18s
Build all the nodes / web02 (push) Successful in 1m57s
Build all the nodes / web03 (push) Successful in 1m57s
2025-02-24 12:12:10 +01:00
9395a96337
test(vault01/network): use netchecker to see connectivity looses
All checks were successful
Build the shell / build-shell (pull_request) Successful in 29s
Build all the nodes / tower01 (pull_request) Successful in 1m27s
Run pre-commit on all files / pre-commit (pull_request) Successful in 26s
Build all the nodes / storage01 (pull_request) Successful in 1m41s
Build all the nodes / rescue01 (pull_request) Successful in 1m43s
Build all the nodes / web02 (pull_request) Successful in 1m33s
Build all the nodes / web03 (pull_request) Successful in 1m32s
Build all the nodes / web01 (pull_request) Successful in 2m0s
Build all the nodes / vault01 (pull_request) Successful in 2m4s
Build all the nodes / netcore01 (push) Successful in 19s
Build all the nodes / netaccess01 (push) Successful in 40s
Build all the nodes / netcore02 (push) Successful in 39s
Build all the nodes / ap01 (push) Successful in 1m6s
Build all the nodes / rescue01 (push) Successful in 1m38s
Build all the nodes / hypervisor02 (push) Successful in 1m43s
Build all the nodes / hypervisor03 (push) Successful in 1m47s
Build all the nodes / geo01 (push) Successful in 1m51s
Build all the nodes / build01 (push) Successful in 1m51s
Build all the nodes / hypervisor01 (push) Successful in 1m52s
Build all the nodes / bridge01 (push) Successful in 1m54s
Build all the nodes / geo02 (push) Successful in 2m4s
Build all the nodes / storage01 (push) Successful in 2m3s
Build all the nodes / tower01 (push) Successful in 1m45s
Build all the nodes / compute01 (push) Successful in 2m14s
Build the shell / build-shell (push) Successful in 27s
Build all the nodes / vault01 (push) Successful in 1m52s
Run pre-commit on all files / pre-commit (push) Successful in 41s
Build all the nodes / web03 (push) Successful in 1m41s
Build all the nodes / web02 (push) Successful in 1m47s
Build all the nodes / web01 (push) Successful in 2m24s
2025-02-23 09:48:37 +01:00
51 changed files with 762 additions and 642 deletions

View file

@ -40,6 +40,8 @@ rec {
mkSecrets = nodes: setDefault { publicKeys = unique (builtins.concatMap getSecretKeys nodes); }; mkSecrets = nodes: setDefault { publicKeys = unique (builtins.concatMap getSecretKeys nodes); };
mkRootSecrets = setDefault { publicKeys = unique rootKeys; };
machineKeysBySystem = machineKeysBySystem =
system: system:
rootKeys rootKeys

View file

@ -303,10 +303,12 @@ in
]; ];
script = '' script = ''
if ping -c 1 8.8.8.8 > /dev/null || ping -c 1 1.1.1.1 > /dev/null; then if ping -c 1 8.8.8.8 > /dev/null || ping -c 1 1.1.1.1 > /dev/null; then
echo network is up
${lib.concatMapStringsSep "\n " ( ${lib.concatMapStringsSep "\n " (
{ interfaceName, ... }: "networkctl up ${interfaceName}" { interfaceName, ... }: "networkctl up ${interfaceName}"
) userVlans} ) userVlans}
else else
echo network is down
${lib.concatMapStringsSep "\n " ( ${lib.concatMapStringsSep "\n " (
{ interfaceName, ... }: "networkctl down ${interfaceName}" { interfaceName, ... }: "networkctl down ${interfaceName}"
) userVlans} ) userVlans}

View file

@ -13,7 +13,8 @@ lib.extra.mkConfig {
enabledServices = [ enabledServices = [
# List of services to enable # List of services to enable
"cas-eleves" "cas-eleves"
"kadenios" # "kadenios"
"django-apps"
]; ];
extraConfig = { extraConfig = {

View file

@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{
imports = [
./kadenios.nix
];
services.django-apps = {
enable = true;
webhook = {
domain = "web02.dj-hooks.dgnum.eu";
nginx = {
enableACME = true;
forceSSL = true;
};
};
};
}

View file

@ -0,0 +1,66 @@
# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{ config, ... }:
{
services.django-apps.sites.kadenios = {
source = "https://git.dgnum.eu/DGNum/kadenios";
branch = "production";
domain = "vote.dgnum.eu";
nginx = {
enableACME = true;
forceSSL = true;
};
webHookSecret = config.age.secrets."webhook-kadenios_token".path;
overlays.nix-pkgs = [
# Required packages
"authens"
"django-background-tasks"
"django-bulma-forms"
"django-translated-fields"
"loadcredential"
# Dependencies
"python-cas"
];
dependencies = ps: [
ps.authens
ps.django
ps.django-background-tasks
ps.django-bulma-forms
ps.django-translated-fields
ps.gunicorn
ps.loadcredential
ps.markdown
ps.networkx
ps.numpy
ps.psycopg
];
environment = {
KADENIOS_EMAIL_HOST_USER = "web-services@infra.dgnum.eu";
KADENIOS_EMAIL_USE_SSL = true;
KADENIOS_FROM_EMAIL = "Kadenios <vote@infra.dgnum.eu>";
KADENIOS_SERVER_EMAIL = "kadenios@infra.dgnum.eu";
};
credentials = {
SECRET_KEY = config.age.secrets."dj_kadenios-secret_key_file".path;
EMAIL_HOST_PASSWORD = config.age.secrets."dj_kadenios-email_password_file".path;
};
extraServices.tasks = {
script = "python3 manage.py process_tasks";
serviceConfig = {
WorkingDirectory = "/var/lib/django-apps/kadenios/source";
};
};
};
}

View file

@ -1,190 +0,0 @@
# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{
config,
lib,
pkgs,
sources,
...
}:
let
inherit (lib) mapAttrsToList optionals;
host = "vote.dgnum.eu";
port = 9888;
python3 =
let
nix-pkgs = import sources.nix-pkgs { inherit pkgs; };
in
pkgs.python3.override {
packageOverrides = _: _: {
inherit (nix-pkgs)
authens
django-background-tasks
django-browser-reload
django-bulma-forms
django-translated-fields
loadcredential
;
};
};
pythonEnv =
{
debug ? false,
}:
python3.withPackages (
ps:
[
ps.django
ps.gunicorn
ps.markdown
ps.numpy
ps.networkx
ps.psycopg
ps.authens
ps.django-background-tasks
ps.django-bulma-forms
ps.django-translated-fields
ps.loadcredential
]
++ (optionals debug [
ps.django-browser-reload
ps.django-debug-toolbar
])
);
manage = pkgs.writeShellApplication {
name = "kadenios-manage";
runtimeInputs = path ++ [
config.systemd.package
pkgs.util-linux
];
text = ''
MainPID=$(systemctl show -p MainPID --value django-kadenios.service)
nsenter -e -a -t "$MainPID" -G follow -S follow python ${sources.kadenios}/manage.py "$@"
'';
};
staticDrv = pkgs.stdenv.mkDerivation {
name = "kadenios-static";
src = sources.kadenios;
nativeBuildInputs = [ (pythonEnv { debug = true; }) ];
configurePhase = ''
export KADENIOS_STATIC_ROOT=$out/static
export KADENIOS_DEBUG=true
export CREDENTIALS_DIRECTORY=$(pwd)/.credentials
'';
doBuild = false;
installPhase = ''
mkdir -p $out/static
python3 manage.py collectstatic
'';
};
environment = builtins.mapAttrs (_: builtins.toJSON) {
KADENIOS_ALLOWED_HOSTS = [ "vote.dgnum.eu" ];
KADENIOS_STATIC_ROOT = staticDrv;
KADENIOS_DATABASES = {
default = {
ENGINE = "django.db.backends.postgresql";
NAME = "kadenios";
};
};
KADENIOS_EMAIL_HOST_USER = "web-services@infra.dgnum.eu";
KADENIOS_EMAIL_USE_SSL = true;
KADENIOS_FROM_EMAIL = "Kadenios <vote@infra.dgnum.eu>";
KADENIOS_SERVER_EMAIL = "kadenios@infra.dgnum.eu";
};
path = [ (pythonEnv { }) ];
in
{
environment.systemPackages = [ manage ];
systemd.services = {
django-kadenios = {
description = "ENS simple voting server";
wantedBy = [ "multi-user.target" ];
after = [
"network.target"
"postgresql.service"
];
serviceConfig = {
DynamicUser = true;
LoadCredential = mapAttrsToList (name: value: "${name}:${value}") {
SECRET_KEY = config.age.secrets."kadenios-secret_key_file".path;
EMAIL_HOST_PASSWORD = config.age.secrets."kadenios-email_password_file".path;
};
StateDirectory = "django-kadenios";
User = "kadenios";
};
inherit environment path;
script = ''
python3 ${sources.kadenios}/manage.py migrate
gunicorn app.wsgi --pythonpath ${sources.kadenios} -b 127.0.0.1:${builtins.toString port} --workers=2 --threads=4
'';
};
django-kadenios-tasks = {
description = "Background tasks worker for Kadenios";
wantedBy = [ "multi-user.target" ];
after = [
"network.target"
"postgresql.service"
"django-kadenios.service"
];
serviceConfig = {
DynamicUser = true;
LoadCredential = mapAttrsToList (name: value: "${name}:${value}") {
SECRET_KEY = config.age.secrets."kadenios-secret_key_file".path;
EMAIL_HOST_PASSWORD = config.age.secrets."kadenios-email_password_file".path;
};
StateDirectory = "django-kadenios";
User = "kadenios";
WorkingDirectory = sources.kadenios;
};
inherit environment path;
script = ''
python3 manage.py process_tasks
'';
};
};
dgn-web.simpleProxies.kadenios = {
inherit host port;
vhostConfig.locations."/static/".root = staticDrv;
};
services.postgresql = {
ensureDatabases = [ "kadenios" ];
ensureUsers = [
{
name = "kadenios";
ensureDBOwnership = true;
}
];
};
}

Binary file not shown.

View file

@ -6,7 +6,9 @@
[ "web02" ] [ "web02" ]
[ [
# List of secrets for web02 # List of secrets for web02
"bupstash-put_key"
"cas_eleves-secret_key_file" "cas_eleves-secret_key_file"
"kadenios-secret_key_file" "dj_kadenios-secret_key_file"
"kadenios-email_password_file" "dj_kadenios-email_password_file"
"webhook-kadenios_token"
] ]

View file

@ -0,0 +1,29 @@
age-encryption.org/v1
-> ssh-ed25519 jIXfPA miVq8rZazx0Y0NYZklZh8ITlY7fOTwbPsAPcHwvJ3jI
Vs0xx9ulk2++7+DfD+HqhISSvYMtuSJIs9zyGlnW8Wk
-> ssh-ed25519 QlRB9Q z5TQpHovWNJ+Dq4GEcPfByMpTcTojIamJbU3kNKlmHQ
U+ZFJ/0TVcfo85xAWYqcnzpMfU0KcY8QJ8jqWlyt1U0
-> ssh-ed25519 r+nK/Q l5oBCnALC2HSoszpawrJZZUEFHjjGwei4Fd1Y+f7OjI
PLgEu00ItWIbT3ZSNioZ3oXwBBVQTD/wf8I8akEDNWs
-> ssh-rsa krWCLQ
2rt9GmpSxUJSArSOlXKQscrApgLLIWuTo/IXensBP1uCnrpLl4IdcpEJNTs7wtZq
h4OLCaLDoZvB3ZT3k+CXXXeBqLqz1DdBGo08RgfcUADTsm2Z9LsEyLo0GtHGEFjw
m1r/VF8githDxaEK52+znr1FG8CE7+DBQAU9ZydhKKjjFS7ckDHw0qFXyGqpyWk4
KnL7FGPX2z07V3nwauElDbaD1LLt0xHhqqEjmiRskhE2UU6q35IrLyKFHC1VHsFy
ItsONTu8lDiqXSi7Z5b5Iv+iAWWTtt/glTv3WFa8u7CIahuZIfemr8NzjD2Z+Vxh
yOEqBKyVgz8sFh1U7CgxCg
-> ssh-ed25519 /vwQcQ dcnBNyypzMkxHwh76v7bKhGckPjIOL2vP2aDWhB8WxQ
tTxcMXcLrFhD7u2xTOhsjWErSiCOfsVIDZgJldVePMw
-> ssh-ed25519 0R97PA stdF6UFkWDCwNUAv+aAetpku7O9XRvtaxafCjok9yhI
gXVXcwlY4Xue9WGk+WlByXvSgMju+VWKTBTXIngWYvE
-> ssh-ed25519 JGx7Ng e+Ux4HK63pAM4scQCi4wHTUmo28z105Ok59dlki0OS8
ulkU6zhXNpa3OswEC005BZ/YIExPysg25a4/O60fcWQ
-> ssh-ed25519 bUjjig SEnDWloeuVgCGLUJNvsBL1HPYJGBSBhqdDngkQk+KiE
MYL9SudJNuFyS4Inaod2Xxldi3d/kDwlIT9rVWs8vFc
-> ssh-ed25519 IY5FSQ TO9BPLBwdlqyKXOBiohCzfZWrTDwqhLjZYeq9rZgH2c
7Hqrqe+A3wg11H3wg9Cd+6F7mDwsLpzoh70sba32gCw
-> 1DV;-grease
9Ul6qKgH063H/HI1op+Gyk2+JRUGHwRG/SlOPTAnvBtq7xEy7yrR4lblBK8bcJNY
lwmI4xOokAnIveVaPS8SAig
--- GpJyGpk3QxJljiR6FZw8hdX0dXvEAIPZEZpL6oorLcM
}­o÷ÕŸ¦A¹qç ™Ò™ö>áp™€M Õ¬Ía“ zþƒÍT VVƒvI«f®<17>!>µ\Ö-þèÿ

View file

@ -8,7 +8,7 @@
services.django-apps.sites.bocal = { services.django-apps.sites.bocal = {
source = "https://git.dgnum.eu/DGNum/www-bocal"; source = "https://git.dgnum.eu/DGNum/www-bocal";
branch = "main"; branch = "main";
domain = "bocal.webapps.dgnum.eu"; domain = "bocal.cof.ens.fr";
nginx = { nginx = {
enableACME = true; enableACME = true;
@ -50,8 +50,7 @@
}; };
environment = { environment = {
BOCAL_ALLOWED_HOSTS = [ "bocal.webapps.dgnum.eu" ]; BOCAL_RHOSTS_PATH = "/users/guests/bocal/.rhosts";
BOCAL_RHOSTS_PATH = "/var/lib/django-apps/bocal/.rhosts";
}; };
}; };
} }

View file

@ -8,7 +8,7 @@
services.django-apps.sites.gestiobds = { services.django-apps.sites.gestiobds = {
source = "https://git.dgnum.eu/DGNum/gestioCOF"; source = "https://git.dgnum.eu/DGNum/gestioCOF";
branch = "bds-prod"; branch = "bds-prod";
domain = "gestiobds.webapps.dgnum.eu"; domain = "gestion.bds.ens.fr";
nginx = { nginx = {
enableACME = true; enableACME = true;

View file

@ -11,8 +11,8 @@ in
{ {
services.django-apps.sites.gestiocof = { services.django-apps.sites.gestiocof = {
source = "https://git.dgnum.eu/DGNum/gestioCOF"; source = "https://git.dgnum.eu/DGNum/gestioCOF";
branch = "cof-staging"; branch = "cof-prod";
domain = "gestiocof.webapps.dgnum.eu"; domain = "cof.ens.fr";
nginx = { nginx = {
enableACME = true; enableACME = true;
@ -100,6 +100,7 @@ in
KFETOPEN_TOKEN = config.age.secrets."dj_gestiocof-kfetopen_token_file".path; KFETOPEN_TOKEN = config.age.secrets."dj_gestiocof-kfetopen_token_file".path;
SYMPA_PASSWORD = config.age.secrets."dj_gestiocof-sympa_password_file".path; SYMPA_PASSWORD = config.age.secrets."dj_gestiocof-sympa_password_file".path;
SYMPA_USERNAME = config.age.secrets."dj_gestiocof-sympa_username_file".path; SYMPA_USERNAME = config.age.secrets."dj_gestiocof-sympa_username_file".path;
EMAIL_HOST = config.age.secrets."dj_gestiocof-email_host_file".path;
}; };
environment = { environment = {
@ -114,6 +115,7 @@ in
GESTIOCOF_CORS_ALLOWED_ORIGINS = [ GESTIOCOF_CORS_ALLOWED_ORIGINS = [
"https://${config.services.django-apps.sites.gestiocof.domain}" "https://${config.services.django-apps.sites.gestiocof.domain}"
]; ];
GESTIOCOF_SERVER_EMAIL = "gestion@cof.ens.fr";
}; };
extraServices.worker = { extraServices.worker = {
@ -124,6 +126,26 @@ in
SupplementaryGroups = [ "redis-gestiocof" ]; SupplementaryGroups = [ "redis-gestiocof" ];
}; };
}; };
timers = {
rappel-negatifs = {
script = ''
python3 manage.py sendrappelsnegatifs
'';
startAt = "*-*-* 1,13:17:19";
};
rappel-bda = {
script = ''
python3 manage.py sendrappels
'';
startAt = "*-*-* 2,14:17:19";
};
manage-reventes = {
script = ''
python3 manage.py manage_reventes
'';
startAt = "*-*-* *:01..56/5:29";
};
};
}; };
services.redis.servers.gestiocof = { services.redis.servers.gestiocof = {

View file

@ -8,7 +8,7 @@
services.django-apps.sites.gestiojeux = { services.django-apps.sites.gestiojeux = {
source = "https://git.dgnum.eu/DGNum/gestiojeux"; source = "https://git.dgnum.eu/DGNum/gestiojeux";
branch = "production"; branch = "production";
domain = "gestiojeux.webapps.dgnum.eu"; domain = "jeux.cof.ens.fr";
nginx = { nginx = {
enableACME = true; enableACME = true;

View file

@ -6,6 +6,7 @@
dgn-redirections = { dgn-redirections = {
permanent = { permanent = {
"www.ernestophone.ens.fr" = "ernestophone.ens.fr"; "www.ernestophone.ens.fr" = "ernestophone.ens.fr";
"www.cof.ens.fr" = "cof.ens.fr";
}; };
}; };
} }

View file

@ -1,30 +1,33 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA HF+w4Kuk7Wo2s94SeNxAB3zFZhKNn1fPabJhUK/xGH0 -> ssh-ed25519 jIXfPA w23oZwRdOmR6ZmJ/u1UVJX3aDjvFlP9J/0DX421EzTk
KY5tknNrICYq0HTfNRX760OPyWPJ8B4Sasq8BjN9a6k GwBhoK4pLMph83ufQSh/DaKtDsQv2Vc/31kN4ahx1O0
-> ssh-ed25519 QlRB9Q OGcCe/S1aIQckJGzt4Wz+DFebTZpNV+YCevnVOPDMXQ -> ssh-ed25519 QlRB9Q bx2P8KY31nlurmjEsq6rOGz4RivuubPRr/pwJi8vZR4
keDckjD4Vjhj3gmQnW0V8nJ1Soubkhb9WP28fsanhMA pHUYj6nCuQfv9Y6oJmLqmIWw9rSrb7YgFIGh4/DDBxk
-> ssh-ed25519 r+nK/Q lO6xwuhfQ6gMlJzFBF5J9c2elEg1J3leAt5x1uTYGSk -> ssh-ed25519 r+nK/Q xX3R7A7Pq+l98C/4rDzZfLa5IyoW4mS1RXCg8jmCVBg
HQG0VQXvn72CIOqe6FRGrSX8TIa7sBB3cOZZQzXBl8w pZZ91CQNMfv+A9nUGM7FCHt79YsEIP8SA4UZ7NmIYyg
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
pvF18GVS3dHr2jiss4sn00UqVVM2f/6BmkpYMgAVQ3FNpgnimQGsgCssuBo3Hjrc JSYdRpvAP/pb8v9Rviw+DcwTGmlVbes8LNW/Hjjc3eKNYT6f5TR56Ma0C+ZXA8hC
BTO4v2U6cQ28LTUsruWdPhRChT0zfGRtx1QIn0tPzy3XKUxjt2XkBeblxtLhCHmI BiEoDyvV631v7jf1NQENWgOrx8kIaMlJyJlndEUviFesoUXvBsrRVxZkPo9+q8gm
muQ0yA15bP+aQfZn0dE1Eb4krw1unKWE4f82L/BQ5Y/i1P2rubhyBhBoQRb6atHv 2jx8uLxRlq04fIh39YOcxayNPU6ZE0k4iV5Sv8bgNdPPsiSDPEcoGh4ptB/L7PqC
S2EWBafaNr3orbFl9FPMjhWW3WZX/zKJxlu0saN88I6ZU2967mdR4PogMpL9iqST qa73mSskFsWLMdkhlF2PmobhFYBbJw76ekctHK4enABJR0wnpw76MB/1xaRysO0Z
atraraA1jG6mR9Ojloyrf8FG6wTlplDlZk8Sgtg88FD1iHMN1q0DQv1LwRoD3QUa cE1yXy0TKPeQ6tBs+TgEbWPdjs7q2cCe78Cx14ob/bDTrSxn1VXxlTSEa+jZ8ES2
ywIn9MABMufNXQ+jm/DQpw aRJM0RnnbulZJMu8vD+ztw
-> ssh-ed25519 /vwQcQ 83MxgOJhIBBGU6IRcTQPtxtyR4MapAxhdKT634w/em4 -> ssh-ed25519 /vwQcQ +etnXlMmCofk42qEtdvIZyzpdGPTUR44Ur3rNiYpqQY
scNxodN5j1HXOIPCB3glvc08Gb4wW9gmZ5gkWMCbm4E +h+hNOOJHWXi4vqsBDudgiQ3BPHVOA1bl+R4d5zCs2g
-> ssh-ed25519 0R97PA LBFUS7zx26+rjiWqVwQ4UBqRxr+3Sx+j+GGrRaBbz08 -> ssh-ed25519 0R97PA VuTnbuLdQANqvVDvIEOJVFWh3IgOKLHXROxSCx5E0C0
fnFwvJz36SiKnEoJr+0+enNVcT7wduZUrYe7bWhyxfE euVIt58WGFPxL5IgE0Stce7q9MaQCLkWOGpLyxhszJk
-> ssh-ed25519 JGx7Ng iXjAn4Y7+yHASx4ZbIrvFffLzgX52DbQy9hIcTScHAs -> ssh-ed25519 JGx7Ng /1DGw0uUQ99aDlw5AdNIKZNZbRSXoxCwJZU4iotnMVA
6AJZoV33mBryiCaquKTAkw8yB1NQs38QlG2p4LIcoMc v9B+dF8KmmVLjYh7IT61p757x+CeJQ0qY+kU69Ced3s
-> ssh-ed25519 bUjjig 0cqMXUVHqhyYhygR7meIyWRr/c7H8ZGB5eO7tTHhRUk -> ssh-ed25519 bUjjig tvi0aragAV8TvSAvVVYwgAe4D/iFPy8Hmo5BFIiMigc
GYKKGB02ElJXpObmBJKF4Bvoswd3o83vvVYIHIpDprg ixKZkBQDFDoM3ntd43TPb5gzQmJKiuYHuPRvh+wlLwg
-> ssh-ed25519 VQSaNw xHhzKnYeKxrN2MJz84v7Mjg3Nh69UJ6Q/eAyVAvC3V0 -> ssh-ed25519 ZIo4kw 4mpL5GIsgcXQH3+DTwo1wBO2IGtwqYX71sSj3HRTUD8
/bvauGesQw9/tl4DhCNFY9Rq+qWv12O4TcqzdxTCWzk FyiH/fpn6rFmw6L1nbxqnlEQwHdgq2kacvkl4dDSpDA
-> T:){{-grease NuQ <}vLGT% -> ssh-ed25519 9/PCvA rwGsoEUqcUK/bj0wpo/2GIcPgJPdUCs/y/0MacBXlTQ
0JSFYPMWs6LXpWacfiHNdwqvs/eHecFwj6cg0eLZEQe96shxy8/WSUBMpgasKufB 4IRzAh7PgafkdUGOoUnTFZwQwpupt+09tNCuMQPtNow
Nc4tpfiOVWVRGm4arhunwJ+1sgg37X35PWde89Qpg5g -> ssh-ed25519 VQSaNw if6Cp0uuuBCn5/sIEhhiD3Xa3MGOgxNhpA5jk/sNaxk
--- Y6N6GuCpRLdD25EWW+05qbUAadrT3z2Pzc5golCBHJw tZLZbxe2EswPA2DOzm1XILWxPJOfvtQEBb3J/g7gOdg
ßNê¯3'8ú³€@/¨0,zWêS¦‘ï;ßñì)§e<C2A7>ßÉïèÞí -> p0A#yj-grease
qMjÏŒrçHBÇR2šš E2H+d­% ¶Ò–® GR/rBHQQMBRnEs3FdKUmaxDXNLeZuXXftbiAi+6dzv4SsZoJ5oqi4UKivc5DYLfO
C8GywA
--- XSYpA1AoDYYWRAjVBKAfn9s/nI7d6hE2j57BKVdMQ5Q
#žSõ/ éž5Õn%´ªžô‰w9EŒ­¨¦TüMƒýP»?â…œ¡˜(<28>PGrj4$*<2A>Cû èü8´‡¤ô¥Jpt=H`Âî½n

View file

@ -1,28 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA kBFUMktUZ09T8ujSXHRIo4OIWxIiwysmRv+UTiH+02M -> ssh-ed25519 jIXfPA EsnCV2WNHwC5zZpIqMiOnpixioiS32MkPW2gvPW0hlA
TvefF7CMKZIASBYaVQA22PzLr2rgZ3i7Q8ENBOmpQmI SdJ0CVIn+xIw851NfAVq2xi4eyIkjE5OBSjWjmXMbrA
-> ssh-ed25519 QlRB9Q 0R2BthIX790DAiL36WPOemUa04tOnN0Drpg6u72j7UE -> ssh-ed25519 QlRB9Q pSqgkPUwNF0ahPyz+bRXfnJqlhiis8+JLtGVXMJFkGs
nFGbwKZvSXo0SpO8AMfAGcZkphcXhX+GoFxYwadNzwQ gEovHZ0L9Hf0FxITH7Pw82GmtpSry9AttmYyzOget/g
-> ssh-ed25519 r+nK/Q cs+vGq5RzK/AogpcGjRG3KZjl4fp2Ghhv2ngHjTdvlE -> ssh-ed25519 r+nK/Q abHRhq9gLkRJZnW16AkJUNkuDkFx6ZEgcfcPKD7qkl8
AyXbgDlQbe3HurX7lodUrMZyRSWADSFWmTndnHjh0dY TZOo2qI9wtTr5EFyLa7XwcNu9t4TiBTjYFfDcXF5WzY
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
AnU8JBZXw8xIHA3L+220wCHwddC51Fx+sQx58tYsFg7eVH1NM2PKUr57a7+0KlxH NiW6aPN5sW1w8AWe66x5wkyJTYPnPqlmPdwkRMH62Z9rdRGoplPaThh46N1F7iSN
TkIDMUuBotY4QPA0tzv212wnWaTw9ddV+T+Xe+l7JNyurCQRj1g1gWP3NLYIyYFC R7YfTRNy/xcSq612Wf1PbEGtcaEBU4snLwBUMxzgCEf7lLebnBFEv+wM46c6M4Vh
i/eXHg3XxByQG1BfBSL2nnUEiy6eJ2bLMFsJ9P6baB6hpdEnoFIuGdV4Bg3k/KGl sRHm7LJP4EIFtC/OVi4Po3AOxnzWie6sgMtwVO1dxA92F52ANJm85+S9v4LyKf6B
Zp+Q1a7Ov0l/G7sRCw4WLQtq59otI2lxeKRSonCqSNOmDXyZBr82GMr/BmhebtK4 3j1CTlQnST4Jz+NFR1lIWkAzawQkrObj1XNw0JjAH5cCFPNX8KJwGPPtRaw6qdE2
h19K+EXU+Ze57lUf2kDCe0b4RSHbSGU1T1fSEMNcXFV0952r6zO9YClTsQeKl+ev NN6boxJRuw015LFoT2REg8hFUj9mvKi1CF7zzAorlU8U5tGsTzWopFaz8sw6uw1e
1O7xqUhcRXgFUbDYRjTsLw hnLDEWU79TB/Ytc9mk+VgQ
-> ssh-ed25519 /vwQcQ AtEImZ61sgC2OzZvDldY7ttRf9I5+zmL2I7hZkmBoTY -> ssh-ed25519 /vwQcQ uGDPoAidrjD4YOahlB14fECk3q7JYAgK2U3AwiTZp3Q
zQiLX4L6t+jZqzAJmN7iuRTeadD1jbs3E/NZZj/25UA VMBSpbWgh9/+vNsxb31DztSAmuXQ2OT8PhGY8e5oEyg
-> ssh-ed25519 0R97PA JVheI/2kfdkqgM5Jf/py32lyYLtWjpmcx4zkHYMZl3g -> ssh-ed25519 0R97PA dneC7N5KN3lOt+tf+SBVHac5PiFuzah+kxPCL7taES0
z/+qXmvziQo8yZ6f+2y5XVDv6d/uAghCVDQ9tpLXt54 2ax/oATQ3RCZJrwa6rhRFjP/Pb83SE/K/JqzkDe4q5s
-> ssh-ed25519 JGx7Ng 41ZgklG6LmM5Mk6BkGWAf8N3j1safWPBKBAHKN2EQG0 -> ssh-ed25519 JGx7Ng e+gbiPqeQvqH5SsMLtJjO1Yamqf/T3zMx9sZP/lE1WM
yOiGIHkyoMFI6NQMLCZavCaz+qxAy9jhf+vctWQ2z4k ZaLKy2fNia1FOO/8McmHLCTs7mU02UhIEcfnWR8Rmo0
-> ssh-ed25519 bUjjig 0o9QkwuPZPOl/db1sQ9YL50DL1uyZqQ6ICxMEIupQ20 -> ssh-ed25519 bUjjig YG96Anu4XdeqjveqgPKBg9DXRgQWzbZyqUh4zyp7NW8
FwFbAYzLUNwoAQNcbcwWckhqRSEicQTe4O4BMK7wHyg XOW98Ncs7wa8+J7bdcni1BTvi0yt157YsqS37SyE1UE
-> ssh-ed25519 VQSaNw iaWBGmaWmBxMJILFyob6CyVXyY24edPtT2itTQGP7xM -> ssh-ed25519 ZIo4kw 0bsqX9eZWnobso+67zX7mv4NZHN0iLJgREpEAjsSog8
EGmCuYElC5EgwqXtcXLAy7nNFt75Hl/gAehvfh+0sgg chztA4fSI+l/hFC1JG/I8csRjW6nRL5nD8H2BIvKhtc
-> /Wa)P<iw-grease (;ag_e g#LM+oA Y n(M-1K+. -> ssh-ed25519 9/PCvA u1TmEMmSAY01VT5KSkHIeGZyFR/AjO04fbdaQMOzWUU
lWfOmA KgNuPOluctxdmyoRQKGhxzUdM+lJYijOTZTppx1x8Ig
--- k01yU9ZR8KIyG0JEfcYoP4iBlvqq7J676oPfDLpbvfs -> ssh-ed25519 VQSaNw y6+jgJvBopK1AkLk+FRsd1hOKyYhU3udCmpSqH73F2Y
ÎD—èŒ<C3A8>Ptáçø4Õ•?6”N|ÐïZƒ³åM/œqo¨[ÄNä qZyA/Fe6kxaIaYBtEWdIt69phdcpPgPr6hvHslYGZV8
-> ~Ef{]c0-grease ]bzX}@u' 23 } pjfN*GE
cHkSTFWSdWHGclY
--- 9GRqhQV1hb50rv2MYPgyJBP6eEm5KQUEUNqJnMMMx/0
j ·!½DÚ'×­(ã°<C3A3>!³€É݈ço&Þˆo) ü½Ô~Ñå

View file

@ -1,29 +1,33 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA hAdsxHTIT08JvDQGzY0Vz+Jxd48Kw3XNpf6TEjiGiTc -> ssh-ed25519 jIXfPA iQr5+V3ESwwPQ0N5TWvKPQllxl51JbvY1pQ/LWFoGRM
hZgLRBDGwpfIFMhTRExY6JJ0poJ+nqrBK8Fy3ukINFI mmPi5TEsoKaqqCNR9wFOW9m/ZO+LybILeAr0IltAA6A
-> ssh-ed25519 QlRB9Q AyfmPVVcb9WVzrbyh2KdPQMwPypQ0uq3q6kkPFcMyjw -> ssh-ed25519 QlRB9Q uWG5fTIkrcvoZPwTjeUIvUBb9SSw/tqLVXQ5EgPEpA4
S2h//+6MMnUiBWrznI/1+qS83Gw1vpFmU8Hlma40bdA NxUobR435SRYhgtfqeL4nCTyBimMFQDeHkv1EXxyeW0
-> ssh-ed25519 r+nK/Q 741XzH0HZf/y8HR1AQIn+qgn0+L+2kcdPsepRcXx7w8 -> ssh-ed25519 r+nK/Q mWebzwprS5rda66lWzpTXkeLBJ1cQr92jt1IKiGuhmI
5aNoPnRTYHB5FTXipQV+8C/s8t1s5/ZF9PwnJfYy8bM s5C7BIJioGzDafwDDsBBEy9FfSDLhVI8loGPMI59ITE
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
HhSOliN7XQZngyyrJ++S2JMBytkPjSt/dEUlJNbJP5n6HY5H7QKqd9rsc4LLu/Hz O0u81IdCYXC/caM9tEUD21d06Uq+AEaUWauHd3T4uBzx6k8KxZQsXL7FlmpyHMQy
BXKC9T3IVeuabMPNOBhE6SiOUejGv/txbMHPMdPTCju6JL4wP/2gqIK696kP62pL jWKX3lni54qWZqyGi3AVBWwrdT3C59vAUUtOPsR9BdhuETjuNhUVgOQhfygbpNTP
CAS/cOZXrHS8etEFkpqSuEVquNIXbivXNHEwFMH/GkNut0SCpafvQHrN1wZdveH5 Z+1xv/H+6iY4iaijkneUqjO+Zf8XzNiBjV1jxAEgVSMAYfYi2IUKaNGfTCxsf7z6
rp60R9ULzTzS3ztjEomAt9gWN6s7CtqZEozCMExPTXSW+OmBJprY+/Ae/uxeKZMS FbcOZiwKffzF9ml3jRbi0zacy2YfBVA3HLtr0G2konocqB2blx0yQx+CUN66vODT
x6pscBbZSEazZ476sZCWKTpeej7iFlSrIvLfkwYn9PtKqmaInoM/0F2thkqpVPkZ Dg2Rvjvxj/UILT6DHfhSEienmIyRVcEV4FMyDRAqVnSWvY+5rQu7Q193lsdwxu1V
/pcg11dUQpXJdaIiPEowlg imAsspRLp7cLTHO13E7HEQ
-> ssh-ed25519 /vwQcQ m01BxY0nPTfcW0D/iFRbCNbFFp+lE/XLW315aPyNbTM -> ssh-ed25519 /vwQcQ D7UkEEde5wt6JLVwgw09YpI1jda5PpseNb3/oYXeuxY
hiKCfZH9k5GcUAkCJ/+x5V20SCeql8031lOge0Y9WXk mAyubu6vZt9WGQz7LN66OFLysMJnggQM3Lzp1WL2WIw
-> ssh-ed25519 0R97PA oGfUKErY65Jd0ZlcVox/HXA3itOI5KImRqDwH+UR6XI -> ssh-ed25519 0R97PA KELROPFrMKhwm6qZa3pDGUwL46djU6KXuEvvJdvPVTY
32BtXjqImmG6TjUKoDU2QaJiMxldZdZoAP9SKPfGuHA TLnuP2JD9KWnJyFG/TniJ7SZA8MwEGWRm/slgexr6Ws
-> ssh-ed25519 JGx7Ng FJCtkG+Ig5dC+ftTClgrKtIt/D8s9Dr97eWObbNEZDs -> ssh-ed25519 JGx7Ng frq2JO+UyHShB9/ho6SSO4gpm1x5gsT/FWNcce4FejI
i6tf7p5FDsdTZMJuBNmcTgVnL6eQDZFkjjH7AaBakqE 0yjxhYvLi6BJCV04liQ8EUfvd/QQDfvQW/+69k81SLI
-> ssh-ed25519 bUjjig mOfri52IdeSNAawjBR5rhvL2eZNlVOwYK6u1uHv98xw -> ssh-ed25519 bUjjig V8kyKJYS7AEddNQ/A1dDofL72gZhQx8S7CWXXDhO11M
nx0Ko3omL+OVq3JHuCIacYfjn96kb78IgyvECEGq0G4 70GSlCUdlM1C2TtWO34E/AeP6ESA2q/2hiRsG3yKa5M
-> ssh-ed25519 VQSaNw gEQeKOEwwR8QlykdFlo7iqrsmhemiS02v8Kfx2ER9Xc -> ssh-ed25519 ZIo4kw Q9v6Hj82FPt0vOADqZZvrA1C5zw5Xi54TdkWFQhY1GY
jpAEZx64/AXpA8HahtJq9OdcZYbqIFti5mxaPztvul8 /bbWn0eVMOcKMuxhSlHL5YNBAdNGkOEWDtKFbXfl5kI
-> $5-grease (y&6%5f< -> ssh-ed25519 9/PCvA umec3ZH6etHJWPhH350dg89jPisIen+g+V1biOk8uQg
YSrHrNaXa7b7Ivv1yVP3idg8t4iIdu5NX3hzczFp64bY7Bjp/g7jK+bWnDG26ryd nrkdFNMpVaeYmxaXh9f5ZBwxjdPoCbbB0NMIGP6rgJA
G+fhmUbFuDj8ZtXg6yk -> ssh-ed25519 VQSaNw jcBuMSisYemI6teXpAXmIfzmkCnQRUhzR02oIED7mw4
--- YmnVS7kPp6h4pC9u28A32/xh67NwhIXwB1dxolI1DCg mRPa20AN2KGqp5Sh5rxqMbTLCd6N3eNNNKRzu1TrBN8
.¼Zs‡…n} ®ì,èémõR€ÏêeÞ)¾bOª¶<C2AA>îնܷ†m8¼z£RyúìT/¦@¿CÜÝôW™¨F5ˆ?<ð.[Ö†r¡Ó[°M -> ;yNT#P-grease bzX
MQVFOK4d6Iy4B1TtfEhvVM1nNBec24na1BPH++gbZE1n1dHxyy65O998u1oVml/V
3PBkae5UTR62Hm/2oSTih/TIfGRSzT+MrjxzkRAxsWFaS+wNx3I8J3/kXg
--- cevd2eHQSfWzGNPVrJB3XVoqxblBsDQEKKQn2HtbFBc
¾‡ÃŽÌ¿ì +^FdÎÍ<C38E>†Õ^yGx·í$åF7 <öŽT»¶˜.ƒ0µ ³ºOÇ'“â9ÕŽIxÕ³³ï_ŠóTÎŽ')“†<E2809C>Ý

View file

@ -1,28 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA 1sin1+7rRTxNHtJZcKabCjoOU0YfBiAJqi2kvY3BlkU -> ssh-ed25519 jIXfPA BPmZDRfAOk4XKTzCbDP6g5A5rBkiPT3XYNJ7VYi4zDU
YfIeM5b3dAQ9d7EzOzncNKSl5fMupNMwrB/IcwToREs hpR40ckBN8fDmn1zJ1gsOIPNAL1nQQSjOykfC8Wmvlo
-> ssh-ed25519 QlRB9Q ZxQUPfdo72dsQGxeM+x+s1zDijaO0sbbIjWaCC+VSSs -> ssh-ed25519 QlRB9Q VR4c0MXH8TqfVl/jt1H+c7N1YZxforsbwfUdbaftwgI
HQEDQIm1V9XrbR+lSrk0g9snE8FHyXLutU686MYt+yc P0ID0YN8g0q80gCNVy8/CesgfyNM8Hgju/YFBNNc7i4
-> ssh-ed25519 r+nK/Q R9F6qGCrR6ytSzHB9sh6t96FTfcLEEiecA2osmY0wyk -> ssh-ed25519 r+nK/Q 1LnsAqB3OHqlvvaGxYZFvU8Oa9Xvjrp01sUDjVOO8Bw
jxPFGAzRb4uZ3b6B5bWXntEDbe2JOr00c1vF/IQI5LE Z4N53ptx9ezp5Z0e8wglFN9YsTC2Wx+xcyWphqEN+SQ
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
KRmb1/IpTys1spfn2sgZx2TPw07qOW3sjdA0oM8k5hv7wPmLbsUOv9uIuLFIbZ1r uLQNwGSU9U64PTg0FB+C0NbM50mCsPY7QZTOe6JU45KRB6QaxMPRFTf/XoAmKd6Z
nLJ/Dx8Ld5rW9TDQs9t6DbhR/xlPepYiv7U52PER3mhg1p7iuhrPJ6EwS0KOHRLy LiwXSODmuufSqBHT10ORDC20VHVY/5jE0OwDbO3PQNMOxSqlbDDrD6HKONESIvwt
zI8FG01oA1SP2tSlPBai7UZNyzZ2okmoUoxu6jQK7mtBcXdLR2skiheinKHlq/wl +xRK5QvALr9qtOUQIRdIZWR62IfJpeCHsw/GAuyqGDoQiY35QXU3+54RImQXbdul
rpMtpew6KgVJAEayyNeIcDnp5WEjtVcNKnniCcP3h9V5n77lm2AzXq/WJnJpBu8c 7EcZDkuPORUN5mLkcwD6Qal3LlsvppvuzbiMoM2Uf+V95l+uye4b60mr3tcuyu50
wXLYkRjWypU5AplYTpwtxsqJERsS0mUb2XvU0k1YLz2kCOKAXrpYyVBC4lbFLpO0 /j9Kw2bcw8/3mRxvHHIm12VkWJ7RxOKh3ZyqENOovCVAjTFjFg2WNaTQgjQyz6Q2
MQjmWiHkhDa1MXU4aQgJvw u/Y04YgwM20W+RfZVwy0fA
-> ssh-ed25519 /vwQcQ 2HiN86X7ZXYWXnazVTwIQkpt/ZDbtiKsRrF5z3YqXik -> ssh-ed25519 /vwQcQ VBfJjQvfTB2egyV6ROWec4PHogtHvA/NwDsTIAghEyM
EkN2GGF3yLhEg4AJ4BLbg10MRLwgouupPT1+etPofXg XCJUP4HyX3VTPcJie0UlCckTb6xH6t2UtRnYy8iAiVo
-> ssh-ed25519 0R97PA v5XSD+W+rhe8EnUSnmD8WrgU1g9QNjQPyjTHn5UApX4 -> ssh-ed25519 0R97PA 4XLCUKQqhwcSNlGPPux5x5SaQJngLXtxnEzhvZnaYFs
7NkCuZSsFuAgRw/4wn2tbUZeJa4NYd56vVeBk93gpsQ i33YipEo+eCmsPXHUSJUSRcVPy0icME7p/IHfsfH3v4
-> ssh-ed25519 JGx7Ng CwZFH3ebpUl88dzzZmddH7qdz3FN9HcKBk0Zs9AsBCw -> ssh-ed25519 JGx7Ng hwjq+ArsRBw5hzQqWjdiAiYcgdKtEnOARCW8bKx5WhU
G4+Gtj99hFC0KkG0LG4X4R/rHMNjSpZpq+LLF7Bfsrk hKTFWUBIEL1yA90AxvP/zKCzslhX6f+uKBbAiONyKRM
-> ssh-ed25519 bUjjig OcB6mzPc7dW6CjZ2NNsS4V+cMuEaZkenwZr4hPr/hk8 -> ssh-ed25519 bUjjig eN6ZA6ZFTAvw6ybUhpULEliCF3ylYolKoc7Q4qNb9QE
U3+oAftt3xZvgwCI1LJJGIpDEhh5oHBhZ8oNbfxkkrI irRbRPuK5DbNedgrl1zdvlsekKbr6uTrYQSZToUnuPs
-> ssh-ed25519 VQSaNw +huOn0zIxqVGRF6BiBMLX+GSwfKRkd94A1RmAKiOBAg -> ssh-ed25519 ZIo4kw YC9n67JcDrrXEvCxScfic1XxAp3p+FhMYs5f+gwMDiA
Sx/lHGANxHvrrWO2rVmAhDBR7JlkTai7yebIVB/aUrQ mpQSeWFRedr3N0NVx1mZIfyHvYBSPlvSkX4aS180qO4
-> 8TlZ1zJ-grease WZg[ -> ssh-ed25519 9/PCvA 9z1Q3HCLVVGoCRs/o95lPay8tpF3AkQCsTFoH6pYPVs
jSsrK4vKjW3OCBxgFCU kLQufNXzg5Ilhu+AnXg0q7O//cG99k6XUQFfeV3xBpI
--- /6TA3mHmrjQNkG3Di4XDUH6eCC5cbwaS8v0/81pxwm8 -> ssh-ed25519 VQSaNw P5JHIXN0XRL76iZ2D9h9qIszcJ4iU7Nkl4loTEAk9yg
ù„ÑVž…þX&˜÷Ô¤<C394>ü|ñÁ]0ê‡Ï$b)ò?ÉóŠyÕ ggCMz8DLzprbo26Pg1EPmsDVAD9TxNq70N3pve3SdgI
-> 0-grease F:o
uui5Q+g
--- 6FFZScIxri+ww/0vzMlzRMdyiFY+wP7E5b78FK1XTSs
ネXメ -<2D>=餃撈卲$g゚棚S艫ナT@*暈ー瞠<EFBDB0>ニレ4。

View file

@ -0,0 +1,33 @@
age-encryption.org/v1
-> ssh-ed25519 jIXfPA OokbMT7prPJZJjF0p6QIntLClz6D2sMUbe01RUW3BCI
hI25+2VNfhSLlXbJpvlU+Jv2SnFHOONDHU69Fb5X1AA
-> ssh-ed25519 QlRB9Q pvt/09oGgvlSl3KnJ5WjE+Eg/xD0eZNuenoz/e1SBFQ
ijatvoxkfVhiRxBDV4Krns2LKf9fcZgFe1JqmQ6FO0c
-> ssh-ed25519 r+nK/Q 3INSyjdy/Er/v5H9x5lqePbxq9z4O7jKg21J5sTvJxI
Pr5Qtf6v1ubDwB+OcfaUFKnoVAQrdWlf1QVfmXE9XAY
-> ssh-rsa krWCLQ
lEqyOxr41HNiNbuj5Yfrk0bVyfmCCIFaRR8ooHRQt2zr/Xs4DwWuuLjaReigbcTD
hunJFmsGO7A0kcsREIJ4PED6bIfNqau5H5iNYByVS3u/wpiFIrdMpotvcmTrcvjv
VU6Hd8t3EPBUWr0mFYk9pySve1rjtVatt1B9dIVQoWBfSy3NGTIuzINs68Xq2gF1
p/cUNor1kAOWm+tVJca/lthne/iulZF8+WwLOvaVM3OUS5Nkhe7tGAZ4xMoJ99UR
X8S9PSq6k+FTaBIse86/awGqxsG+FMCQ2P0KQRcQ3Jw0gaglhMv1BfeLVkQBqV15
X6/OD9QHft7ZJqp5bA1lbg
-> ssh-ed25519 /vwQcQ I6wGOkDkU4zkhGi9TzQTSpt/lKcXsvMQqQL9R97DbX8
KRdXPF7341KetuDotzj+CbzH3QvYBOUZOsuRs6fpvMs
-> ssh-ed25519 0R97PA fzovQHEruBaBn9nbKv7GpBAZFDYqhUTvhkF9WRqmEAk
1QKpz96s6bymkJJvA4Xiph0/76UM2VEiSEy88sJCzSg
-> ssh-ed25519 JGx7Ng wg04iyuGrkafjDFJR8CNYx65TItIV4O+l34sWirjdEU
x8Cd2YyQbOn53zx/SDRtxtj58S5EV7Pv5cb+2wW2n64
-> ssh-ed25519 bUjjig 8AxapWt5E4GIz4KRFyPN0IcUVPzlnvFoO1vPWoYV5Gs
B26oR1JGchThFOTe+op6cN05mp80wF3FaU360fneGKs
-> ssh-ed25519 ZIo4kw WGuR+yNBVfZ1iJB0LRjCHWyFaxiEGiIqXu++1ZI3mVE
FD3KcCScrbCrNindYkbf26kWMXCtpasHIoe+5Vr8RfM
-> ssh-ed25519 9/PCvA YSp6DaDPkilW1Brvxbjo56fffGL+zfilYjtsQKC7aiY
Y48wFLNgQAgFnKz9mV/1vVRUZ6K3xDgGYsQ/lhCjK04
-> ssh-ed25519 VQSaNw U874flU9cCoV+PECaYS7M9L93kjGej6618YTGfhfnng
T+azIdtKrZll5R66g95lvUsTmO3HI96A8PEJGqi8J7E
-> {X-grease l2'
fnV77WKZsp8DjL9aKhnMBmmbMoqj0c+V4i65+Omn/iCwz8rbsZoURxiiwN8cF157
yCV8MaGVMTBFBvL73h3Sjk7hxLI
--- TNaYRXelk5PNioHcYqgPDiKl89pF8zh2L8hdJagRsLc
­TpOdE¬H¢öšÖèp[&¬‰[€Õ¶VC~|·c5Í þh9

View file

@ -1,28 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA VBCHEBE9YkosDntw4AzwbaFHbELym9LJ+oxQObZBzzk -> ssh-ed25519 jIXfPA 4hjU0on/SxbPxirYIlpFSJBRjmO7S0QLPx4unF6hfUk
vAdwHKywgVzWDupA1PmzQUOmlbaIWK1BnFk3geQ4FKM KwHoWosU33Q9DwOjg/6IlR84EsowxRPH8OE44c5wJAk
-> ssh-ed25519 QlRB9Q AJ/c/fKpFY3JMC340o2hyseh/j1LY1+Dt+XzIc3MqVQ -> ssh-ed25519 QlRB9Q krNkxhJc6YaWiKFECX6b3vrd3L2P57Mw0/78Wr3TrCk
LBfTk6L3lZxqScbdczn7JpadvnhgCMJm5ngodRTLhNE UzxrrJcHKUUyBcxnT49T69fUJkwEZlvT9URxg68yMHU
-> ssh-ed25519 r+nK/Q +4i0mhlT3xpV5YZB67djkWyejam8GkZWfOtktuuCalY -> ssh-ed25519 r+nK/Q gqDzS83j1Borr8LCP+JlV6GjVyL3aSegvQbpWzbxLTs
AodcJXApJz2IiJlisepnNrZPQfLiGdfczNjFttadatA W6t7d8ptDk+BalumIrGpgKIK4a/6PDQjx+px/Ke74T8
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
jy6jHhW4KzttqdsaB/hF03ROMYygraudW7Pya2OzBRdi2NceNOK4lYBUwHFa4fGj gGtH4clOsmZ29CpK3zLvr08jXo2PaOWjhtSy/7IsqwPcgIlqfnvC57jkmxLo+R7i
ztPP2htJkKXeQlZnnZQFcI1pL26HSJ3wf+aRq3wJqM+QVLzHsJbmWTxnsHyjQQhZ jnvJW36vj2Z9+zdyh8R8r/bjq+obM3YejNa63CU2VUWfDMXJ6cLbH+4cvApjEHwW
2D36inLoJaXlHeScpivyC+zphXhfwRqNqoMF+vHHErNaejcd9HSjIT5m8+2BKukX bU7JpA42rIuBa1yOEfwCBeGZSPejn8SE8IGVde83lidHyDbE5w11tM1uZs7p6g+p
QCXHHUktR4m6Rvb8ruPyz/amxFOCUCqJBFtgXJu5YiQ+Ddse536JTT/so2ej+uw5 iFAmOkJvMfeL7IySfSgKrbLArvyiJ4kKLKnq8GogbLH9K1NoEJX8AgCWW8sbl53Y
91yDAevF7A5mh5FN61CQUth1GG/zI5augw2CZnHnZ+v7Om/k/eLStfoOZNEkK40j 6atYFVEoBvXpNIUBUIGbIFCxg95K8t4pTLT4NJtBYPSfVajMvgfWxYb0llaP9vcF
9TxqJEwCq/GXm5TT7P0ggA pXlLJXmK9R2mbUXi7q9KEA
-> ssh-ed25519 /vwQcQ RQ7rg384QaVj5MVNicokltcQHq+TAcptHSCcXYttvTQ -> ssh-ed25519 /vwQcQ lSlAg8d/doQev0BY20FIer1HPabfU9S6xiraYkUi1xk
tOW+gjt+v15v7Wm+6t5KUE5Dyt/rBBOI2/iZTKe2y6E X5VeZeE4RBb1BmyCsUeCih+Jza8xEMtXOEorbxc3B1A
-> ssh-ed25519 0R97PA BtTIq2S+RzVdlCiwgfq/EbTvnyMQB4lpvrhGVYYzvBM -> ssh-ed25519 0R97PA kMMyu43xgEhvu2EQradSUio0OBPrlAHbAICkAgwZCE4
7be7fOant5YeXECI03wCHs3fCoffewtiAFccj3gLvkQ 5FKRscx1Pwbc2vU3P7PVeBI8H/b5Quu1kBYkBhh7+ZI
-> ssh-ed25519 JGx7Ng vDty3aWPomDC8RxsDtqMDJjov/rmVXq8keag5vbkZ2A -> ssh-ed25519 JGx7Ng P0S73HUrNcAPJytI06avYJNmzb4hEau1MKZYThIAV0Y
dPcVXs6FWyzB4Hu/kOhU3covn9WX0X3xSvZb2Qs1Dns VD5nM4kNkBQ0ZG4tVAHEZIGgkt+CnM4ww0QR/pQIwWc
-> ssh-ed25519 bUjjig 07l6L0AumSs+4aPeL5t7xcf/WNPmVpmjYBlJOdNGczY -> ssh-ed25519 bUjjig P9MW9urFRjMwFZeRTQgKKLcc8gYPcKTqRYNACheuClw
sh34ZcXDL1R8NxhHWpOrMhgItWFSLFrLkH1Wu6EuXJU i4d6i6UZP2hwUa/EKGCU1UFYJZSz6mGjE7o3JvkhpCY
-> ssh-ed25519 VQSaNw 4e9ahu+KLQmjpQ5iPtpCN1GnYfq8VgxfYUiFJvNe9W0 -> ssh-ed25519 ZIo4kw 3z0osjGyfGZOZfFEG6T+oEi29zzOKVPhnwiPvzW020w
eRcbLfNLoFcQhKj1AEfsNKhV+cNz9sCH5iEON2eSWLg 9Wb+jrkd51SQeKN3O8OUCAdUQUldAGFe65m11/mnal0
-> :-grease |_6] 8 ik7' Ih'Sm1z( -> ssh-ed25519 9/PCvA qPVRQCMWfsiuBSP0uvatMcLKob51pau5r/DwZGzq1TQ
BL/IA5FVNaAa+cgAj5DAI4GjPvAI2J4E/yqfSx1Sifal3QdClazL86cmhKg D9K6jGpeEJWUOzoA4UUN8AHMw5V04DeCwWfMV5QNWr4
--- xvetQPUwoScpbK37DKgs4Z4C1D2nwW4ArN3kvLG+h1s -> ssh-ed25519 VQSaNw t8xP6xwwZ4a0JHQEB9GwpVGUZ8v2FLBmhK/61wLGm1E
ãKè¹Õ4ùÞFdãòŸºÌG`%iWZw:GÙ/ÙYÇžPXkÿàâr+ ‰ÿázï¬zr=ƒtÑå04Y^J { 3PZztuUXXj2rIwHGsuXUE4MB312n8346/ItQRpZDfxk
-> XH-grease b# H& k
MkWCQvMT9aQ
--- nV69zhB/4Jdx1PcW/pQwquuKqhV+AV5+fwo31uyLigE
ムR~晋・ ソ;<cニマ薈dq@)ミ<>гjォy:<3A>=<ホSaCユr銚+Qd+キ;dト豊svヌ,L、Enィ゚ヒD・(ゥニo-

View file

@ -1,29 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA sm/tSFwOmGkQpURqhy9wfXdREiyrlzbAdqIjYWwEW0A -> ssh-ed25519 jIXfPA kLeGA1GrLQz8oC2ughSKkAZlSOE5FB5EaHCkWg3FtD8
flk7NB7VQpTuBAc57Vt5gqF9ZT6y9EguRYyvbrLjCis +DynFsHlO+mQqye5NhBBLghGN4NSvChMaYXecMFSB9w
-> ssh-ed25519 QlRB9Q mJByrZUZ0XXzP9MAYy8BYjmn7ryXIOnh4MPjovuql3w -> ssh-ed25519 QlRB9Q yy7I6++wiMC9xDBxyRqKyigrVfEZWuDtTklbjlum+j0
F4hd1PJc9un5Fy1s2B4LJRKHYif3ijGCpbNjAT2ZQ7A 8pI0hrygKrYtvyEvE/m/VYgutJZ6mMKjFks6JkeIfYM
-> ssh-ed25519 r+nK/Q FUNJ5xSccM/p87zWZkPgV9/EtbxvXMUXxrhFB3tgSCs -> ssh-ed25519 r+nK/Q xDOAAqSWFSvcaNqJeXz0S5O9G55GJcom6IjZiuuFdXs
WpQUc4gGWYCQqzlINHJngZQfzm9SbZix15Shg9PvEzk Xbseehe8YvEWrtXw303pCLoxOJyj+ej1A7/XuRexU0g
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
aXm5L4n3CyT29X03h7FIJm2HgWO566FvmiHu4FK1v/MDk+Zc54Z6MKUwZ9R79/gA netYNZja5O0asbYGRQpTUfPSvo/g53Q2IGLU5Fx8b8fxEiIA3AQwaZg1wzgzfSfU
0qtfaWyJPIR/PBPNNSs+ohCuWjq9rcwXK1VG4hryGmPBYn/tJ72esH2IOcfKi+qx SpSLydASjukWl4tGuQYQpVXMCXlAPTREnsl3iGf8JZGBRyc4GuVx0cCXV3LSmH9i
15NM1QG/zAAVk81z4YgEK+tM0EFPb+rhFwCYP/6LHGm9Q3DR00GnvogQ4xtqib0c He1/Y7fKaOpfoYQkWsjMDpYufiEZTtBSiRYTtdE1XySqyQtsdd/gkStk5AJui6v1
v4MObUycsLwT13EfyQ+BUEUYtnvR7uiqLeR6cK8zuv6oZuGkNymMNxM4VfekRiqt DhILi4FFKzXiikO8ul1/zmLSFyg8swz0VJ9vSFAK+nP+R4SasXc0NdJLyw6Vn7xF
FLW9I0uksyUQ3wHCgy4HaNvOyyMbZGu94bPKswQSpw4b9p17sr2IbisMqt1ATUtC +DR7gzHG3WUP+9c4LWY8pbfLvcwe5/caFtzXONU0jV7itOMpEnyDmcjfUAT1SJ3O
lGD/IfxG4RQekRlb4zbUlQ ZaxS0JpWYEacqj/kNyPoEg
-> ssh-ed25519 /vwQcQ nST2EGjIu9dZBkZtAVuwDlaE6PVminESMe8Yl3KpaRQ -> ssh-ed25519 /vwQcQ lv1c6xd9Lj07MsJ9ErRGma/WENDa3DKFU0BPfRMtzA0
GCaGkuXws9IKVzyBRKdY/AYQbjnHjFLoBkTZ0OYG8tA VFonRj0kvHwr9+2FnI9LK0Z80HoVPLb1fv2piPhcMC0
-> ssh-ed25519 0R97PA wPo6NKiibzu/JtTsb0UuYzcLSNZwSX5HxuqaVZq+YRo -> ssh-ed25519 0R97PA 0xVsflR1l7Tr+RxHYJDjV03cBtkN5HEPXWYCce2DMyE
WBDggGViZZE7SdCdhSNPnt+Br4SuwzYH2e4MOxC8JPw F6p4PO4TbGzkO4dB9UOpkpS9wLAXMM3ev0kQc/ZvkoY
-> ssh-ed25519 JGx7Ng XElqI8fmr/W4l0EBfJz9ocs9A7rqdC9goHfJcn2mByM -> ssh-ed25519 JGx7Ng dRXolBjmNvpmqhhdck1a+pHET1md/YnDLGsOgaaWLnQ
VUczeT0WgKJ8bj/PSJgYky33K5fNNtVRoRzas+GGfHw VS9uaxn/wH8jxduz5z4BmpsxngG6HydxPVUMLugC5Co
-> ssh-ed25519 bUjjig 3XJ81o40O3UzmBn/ID1FJ+iF4GoJDgtrVNHKyYwNNSs -> ssh-ed25519 bUjjig jYoJtlMUe11fZbly2pM9EPmyeN+xdCaG3TDBGn69rBY
T97H8FT7G5SB/aQfojLt/j6i8sCVJkbpL8Nd1f4V7ks sFAEnPFVdt+qwi0qb4S047UqMk1CWwU/EKbEbE5cm9k
-> ssh-ed25519 VQSaNw go/NCCzU0IzLgH0xEJP8SNeJ3i8C7PImiaSdY2KsyQg -> ssh-ed25519 ZIo4kw KPlH0SlnaO3ogLRvDqX2eWYw2BvoyloO3IO/3G5MGy8
W6FaBHUNkwqj8xKUOtBfUfUgVliD1NZmG+bAOWwv+bY CMjejAw9296aBlesgbem0fo954acGE+gZPVh33WS6XE
-> _-grease 1X_* 'y -> ssh-ed25519 9/PCvA /35Q4xJQiTQn4zDBdqvNOsM40y2kYHuTNRU0P09Yeks
qYXfi/2Gr/JQ4B05upJ4KSBwGKEg7xxnG82JR51QtzWwT4zX9r0MgLand/y/DEUF bLGA6lQxuMYN2onRsbfS4tWBXLAVFIHvZ+S4D+V94NE
jdyrCSlbbL/DFFCGXcv+C0BStLqnrUlUK03s8bU -> ssh-ed25519 VQSaNw WaVOWg3OPNFjkXxGWfkjPn5lJmbpRDLskeU/HgL/4zQ
--- ghr3+3NT3IvaUcDErgYNgaNqJTW7vTb39QcTuXZvjSI K8Mhr65Z3loFyO2NTRQYwFkTyOvNG1Usf7POx7UBcQg
/yñ%¦Ùx9µy¾»drÏÑ3©}ˆeNÛÒÞHlÇä´<C3A4>š-ãºú¸ŸIÀÙý¶^Ÿg†úÆ—Ç -> H2k-grease 7n+C e'fuzViT #w
bUaQJ25Xi9g
--- cwW+MFPovm31sU8S3DqMm0NzulVqOoOZIC4NhZgXBdw
2Õ,.súr¸§¡Øhµ³š È´úÁ[* 8òyIzK`¢Çi7Y·A«ýÕ0ÝÈ:H,

View file

@ -1,29 +1,33 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA Ya0ezvnwZBJMO6K3WhawZnbNG4P2CYejb1WtpPhXvwY -> ssh-ed25519 jIXfPA Mj+RSpweX+puapfgXwuaUu7BrEG0pJj+Xiadmgf/KEI
NuGAvK7fLUR9IhiWI6KTph0uhtvgNe5BWWFHDOT9XBs SVMs6gtNgL7PzB+C31EhrRWhPYWx6o/zJKud7NtVpQA
-> ssh-ed25519 QlRB9Q kNcid7FBFyrYMsoEAVHcmo9KYKkhpM6U1+DX3bqutFQ -> ssh-ed25519 QlRB9Q a8TA5GfNMxx0SffG51n+Zr+huoXvm+rfDZiPG0cBazs
WMg/YJ4bkkztenjYWODhO+vkcKGaSYnI7TsZ9lkuYkk lRct7Cr0cfq98WzV/TmtFCfKjHTFYlYCRWsIBwWgQvk
-> ssh-ed25519 r+nK/Q qbnmIjKpxW/M35IS+kQBpiPsJpxdAacWr1oUKKHAXlE -> ssh-ed25519 r+nK/Q kFeJYAAzpIvp2HQNuZym2U6BC5oh9CfYoUcnu0dViiQ
xGdpIOy7LfTSJ+5ZZPCS7I3n6onHca7w4tDnIKYIMNU T0Y6C+/xNj1/NRDrgyPho+JF2SdlA4BpJXoxobtV9IQ
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
0rYhCERlMqhTgQeB+9sb/MhAYL0Y7EI8tAcEvGqfHNzNxTcMCyP19zhBKRzTeEss GSgK4NUuQ4rZgfYdVOtLydkgWspFtceILqTTWHGVDLxT5es+Iid4ccO06mBWi9p7
gtkeYZ75DtxzzNtgHve0dyfNHuA8/jiOVd02hcqjUbuxBM7DF1hlYWWycc8ZPcNa LUJYEeFhKExMS+oFa/AG3eCpsqsw4Bq62joN98R7KCHWm3fbL/H2sfmB6f1HHyIj
odR5GdfdfoB8DmWz43zeVHK123/KfBKS1wvhoFuQWdfqBS0t541ywyCeCJ3frrx/ BUoPxeJs6NDO6KwqJS7FnUzYq5dm+uOW7KdkhLpr4kjaSG2QlCpL0GtMPoy9wO8S
ZszFYBW81ABKcIvNoh41EHz6izCpiFiG3jAbgC94v4nQZEKb7Z4ReiZc2/1BbDNO 4NVZFO8oS7hHYx8eBInSj5hNv18s2f/MW+yR9VYOnvME81qhAWWK0R6GG5R4pGgw
HzDepXvX0AHmbNJovjHe73AfmSaCM8ZkXoftOHri3bKKbI6i7SGWQsYRKTki5nuX RbNeMXpn25LZMlF1YQNGVG6H8qwHw+9pqJfsnSeiYou3j6Mn79BobpGo41wqC/61
PO5OdT8CcxD5BR+jRw1A1g WJwuloeUC5m0CLburddxOA
-> ssh-ed25519 /vwQcQ EZ3gzL6oDYEwvvd1IIgRlXZjSqndHHN1NDy+OKJ2hls -> ssh-ed25519 /vwQcQ d6l740FopulLX0/HlPqhy+qpEZUbJ1zKmXfWq0wr/m0
FJtGY9jPWh1mIVbHcE7pT7iKHBxFPj3nZWayONkMyGQ 7AaAghPmeCpKhzXtTL3WygI28xNfevpusy31KRT5g6w
-> ssh-ed25519 0R97PA VrmvX63CtSSMr0REOz2KsEob18GlGzy+c8Fhzqce5mI -> ssh-ed25519 0R97PA TWlkPlYgaFQm8yDwv/Jot/VVJerPdA/ZkF7m4vsB4ng
aaVG2dPvP1j4Ovy0KajAMOL4+POOkFckOUKK/JhDFAU FWaGESJf+1l2bhIOyJ3UiSE3W/olLpsMgQ4Xph7Gy+o
-> ssh-ed25519 JGx7Ng 33tYHZbrAewMIIGH2P+MNc5XgFBTqDUu02YCQDbHT1Y -> ssh-ed25519 JGx7Ng 6wBbc7hTwvvWu7pJ+cKx8dTvUjRgBt30h1GU+ctVSTo
5TUDTw4qTC+sL9t/WIGIAZvW2cFLnq3CGrT3rjS+aII Mz8VxcpxZr0lbk7P0sA76CY6OhQuCHlOXn7ZMeYA6j4
-> ssh-ed25519 bUjjig 7gzyEL8mZX0lblumEu3WDJ293m7T5Fl0f117qBFIwmY -> ssh-ed25519 bUjjig qnkM/4TCTmP7XBpfS17I5mKq62eIdROnOle920ClmDc
qgppZdyZQpCU51///+sbsIEscG8RIHWEOvxYB6xf3C4 LxrWclVdyAh+iHrJGvviyZiboZDuq9Sy1eDjJDqXO4w
-> ssh-ed25519 VQSaNw sSsmV8dovqEWBcJ9zhRj4PbGTy3u6C3UFBIxXoALolA -> ssh-ed25519 ZIo4kw sn8wK7TX1viq7lqVkCtyV/BRaLnfFH/PNYZyJIYsSkU
wdXzdDiOet65BeWO9b5XoV5HDKW9HJrImXxoIOUVlpY gLqKABolumlpG4kX0j+DXqE6ItqXb0USFwCeofxPg9I
-> 1-grease ){ *) $*f -> ssh-ed25519 9/PCvA 5oHC6vK6B0i7xOE/X3K67QkEvJNb/ANIOrTsD4nJo20
47XqkHGvz6t7tlrZf2Eg8X3Dep1UypCHdf5j+t3wlv7CQEiJ6WY8H7fmbdrCmX/a vn+DfR3JEuT4/iwJoYgO5U6skJTjPSqNhMDgR8XO2JI
6hUldJj/WjY -> ssh-ed25519 VQSaNw AOGX4yvO4+goAjFeS4vrUtBvKcIoYqZtAinPEQL5uic
--- nwZIzSDPV8Hne6CHgkwic5kcQdNhilGsJwqBv+axmDc aanxEX57O66Bl6hCeiUtSuRPiECeO1+RB3Gtiy4mLwo
É™x ÚSúÅn<C385>Œ>q¢õ<C2A2>ð”~·vë=­÷Œ¬ÔËF¾9=‡ê [Å Lº3Ó"³ÚÓ£úÓ C¸XªÉ¢Ì_æNäoÛnz˜Ÿ™²Â¸Z*Œ -> jb1$-grease :|V57:Gk LbZ`
WDd2sM9ngrVkA6IV1XlsFVIM1nJup9Po/5FmNtO0OgAfrRUAiUBmY8cgMpl6V8o/
mRKo7HprZ+kloHVuJO+XqgLnGMuJb1GPEt/Z6PV2AedrWwF8Qw
--- kfO6xPGkAx+2canLeho9W6j7Wim/BhboAHQVPeEuDbg
ßµdâ—>dvC¢ßGzqo*<2A>B .·éÖÌÍ£oÔö._.Ûq<65>u?ŒªbÍ4<·ªÄ®ú¦õ.E˜ªã×N.=Fuóä´Wf$¦>ø*

View file

@ -1,28 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA +BQa+ugqdPjEBvYYb8Df6KQdZDV/TJCkyiWOJWHIjWc -> ssh-ed25519 jIXfPA DOvwE74iP3OrmsTCdOtRzX5wzulOrKWO27V/Js2gQWk
ziO4pJ0aQXqsb+K6SXdRSraD1ep77KA5zlsTqagfEYU lelv6pqnAIMMA/q6T0M5DJjw8GduaVZSFVxafb3KRwE
-> ssh-ed25519 QlRB9Q yv/FQjy7w1Fu94QCS22gkscscOwL2oPvDjyR5X9Igz4 -> ssh-ed25519 QlRB9Q JaubhHgX/Td97DNgU2VjjKdHExtVg7uiBcIp7vtcBWM
X9RC9KBrUX7yW5RiMZy1XT1Xf5QvDE6NgbULRIO7M8o nLpFsH+Wct+fOuAiJzmb3vxg2mGNo+KP598LD7q+E0Y
-> ssh-ed25519 r+nK/Q TS4qVU6OePZ6oVN7094eOOo5jnxRK2dmExK1VubkWVE -> ssh-ed25519 r+nK/Q /eiCAg3tmw91BtrWaYw5GQ0yUgctzv7umLw5oyu+XXc
6iQmmQKPFHJnY9CHD1siBlh8lUOdpSl6y1rvTmIHS3c 6qH2S2w0KXh4e3VfYw1dDbsk2qHdxxFlYGxKQuqZZUM
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
ySviPzr0CLb9Bp1UwadeHxFCnLjDYXeJtzXY8Bv10POO4jPHaayb37XSTDdMvCNw KEpmxnfHmqfeB+1g6YAY3Dh49Vi0fb/St3/nm9MBC1iXXg2Z0AZwxT1mOewZEPzl
1TQcB6TwO7KYYC6L+YNAs9OGM2zL6PoY8mLwAFC61GpLsYX5QoP/5oWsPzBP/+ZS JeQBxxtgLltU3MpkGHmOZfSbQ5fANIleRqjWX4khHtquXjYoUEgCzBbhBz4rgaRF
oRb0eWNM70dOXIPr0xbnt3GMVOH90Br68ilUHt0abDcRj8s/ZlSRpG+wUXFtBhHu aSbsu3PNEUTEJykE7eZZOc2R4K2xJoPTCvc0qXBJYNqhjg3aAZ1y+mSspf9JUQeK
teXXoVilAZe96XOcuGIzgytqLmQWSJfP6pn99MVMxChd12h2oLFAJIvHQdPwYakd NwdLXZRNbUQ2HPYwbkXbR2/ET5YuNF9RqIrCQt1k8n0xImb0I2mTZU4ZIJMCXYDo
0+dw0SRHBu1URbO57iVahNR2OZ6RCIUZud7otd+O7ezVc5Pw5+UvPaube4RFuPfR 38S80bY7h/mrrb8wIqXE/yqbCrANkRZLzPDTDYtoI64XqjjkkeCaQGRt/pRJHbDW
k/mDmLFS4u6AooIsLxP9XQ 4EXtcaLMnhLwGAvMBjzEkw
-> ssh-ed25519 /vwQcQ kWesGLZOgczOGl6C+pZkSYuJO3mg18ZTUbTRDM7elW4 -> ssh-ed25519 /vwQcQ WoWf+dh9BQUdhgJMCgCFHMY8I6PcaSjUbDTMO8Bpnzg
MTQNeWMICNbQM4bbCI4r4p6j5oIuQ51IZNNU0EqYPr4 FvBY2MZC/1aurbcs6ktYHY6pG3cAbJL4d8nylNKUqGQ
-> ssh-ed25519 0R97PA MhKBOsF1nxbP4/ORa22CXD9vL2OOnq6Y6tBtNCnyjws -> ssh-ed25519 0R97PA GliGVV1/sGa033xlhcDJZGLF3xHmPrvYKhZQg0w4Qjw
Yg3pCxNXeVJH2BBBr5bO35vpqGCZqsrppdRF6pd0rUs Gn61VstI2qAIDpYbolHfHBIw3cWr0JvRyVU8JnEYlE4
-> ssh-ed25519 JGx7Ng +33STTQ9GUoyjoeJ2+k5ORE6aDhs8XPLpPk+EgkTzyA -> ssh-ed25519 JGx7Ng dskA9zgaLaMbBrRXZg8hT2XpH26iwQbmtZKZVrASgkU
5QmyIw4cK2Enhuj+jQKwBf+ZZPVlgvJtiQa8W8w9SWE zrkfE+ibw9TXgHf+3ZBZpIInwFD+bzen6RIf0yNVY+M
-> ssh-ed25519 bUjjig mFLUapEr3AmrrCQhn1QQQHqosf4OsYw+ZE5UrklBHWA -> ssh-ed25519 bUjjig 1kjn2m1NxrKCOuElJNHMWkcqPHgLGrdyFNq7k/OrLGU
BprTbbxTKoX6EXHU07MauXxEwDYEuJsHpYUosnC7JlM JNn72hRd39El37S4WgmEjNzI6W0R6KHnaamVbyThI1o
-> ssh-ed25519 VQSaNw QNW0XT4JUynOh6DT4CsM/SBOamE5C4Z+3yvZB6aQPks -> ssh-ed25519 ZIo4kw F5vezjoWzQWToYf36Mq/diaNMTKorKIQg0UeROL2vi0
HZ+0DagnsnVExKH2ejFIssuulRK+b1KofEi8XuwFx6A UlgFh2h9bCrF5g2s9EuV2KZLUB1MSjWuJJ6mM3Xo+FI
-> JRgb1uy-grease US DT`O -> ssh-ed25519 9/PCvA JauUBQSUBf7AFWnY5LyuFOdyHfzBCBMR/aqnXEw/hnM
GG1BdA0Elad+GvM5jnce bvBbFLDFiYE0Fk+Zh5rX+S8MD61roomfiS2LBhzJjSk
--- QW+vxg1uWJUvrrGgS2YIQ+SQqG7Z6mtxL6V/OtGRO0A -> ssh-ed25519 VQSaNw QnQbe+gkAk3pqQvR2YPqrdgbfSfPbMmcv+0HfABT4kA
íjδ ª.&æo×örÜñw1Óf éocò€®m9lÕ(µØjQÔÐùÓ=dvM8O0zª[d æ.v!Å} hAaebd4sdK/VPVpIRoQEG4XnMGyQlxjDoFF+7sb46dI
-> 5_@^MRlh-grease 5
50UfFPahorsv5B8WxLN4tQOZAPOrHYAJYYLsBwrKWHTCsouct/zu/ppMKIJyog
--- gaRQJkyCTtCiG7rklroVvdPbx092c9rGUxAqktWQ8l0
{ðP“=­ ÂÈé㠆ϣ ôhç̹JéÕ|Bp¨”ˆò Ø6<12>öŸ Ô¾Iâƒ}‰ú:ß¹,Ð.hxõÛl

View file

@ -1,28 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA G08J7+NgWQGZVkIde7zJstb7OzUfPT/BoD8o5ehr52U -> ssh-ed25519 jIXfPA N1vsOzYsWwqsv2IeSCfqnpdIqur3+6o8oe+YbYmmNDM
j/ElDsKhzSlBm/38mqKjGGaWE1JH9LPIIcKGH+tyoV0 LQqUD8faNqEg21ZBYLQ2xwmfBNDk9q43lpN3Q8VWMzg
-> ssh-ed25519 QlRB9Q oiwCOK+dRZl7P9bN6pyj7oP6GdSGrAb59qRkXYRZUik -> ssh-ed25519 QlRB9Q O0W5sqIViqPEL7kby6l9Aj6V1N1jSKgU5+9iW4B5Ol0
zsmVLTV1q+Y5JEBqe2GvvC8TmcpqmGq/iLL5XyfIV44 /mDHkjw93UFUFJAEEzICGeHwd9sanvMcUXU4xoKkPIs
-> ssh-ed25519 r+nK/Q X7R3UEsZ2QTrEIBKszCaSQcPtR79FwY1maSgSDCgRTw -> ssh-ed25519 r+nK/Q U3Pny6Va0B8QQ6hTPN0l3tPoO/qFmAVC4/2d/x/pmGw
z11Lp7ZwRwSTl9xGmc9j85cx8POXPYayxD7sPJbQN38 dpENAFOFEC+1FJHXBhc7HxPjev2KqKT8X8ayFfhLwgM
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
i4QWkg/93xPSIMaSG9fBtDIn843hBVOsv7bBbYAeVrMgkaC1FshwOdmCNaKI39Ny DBVzHje7MNBK65yLN4S9Z3G1vK4GhwZBQNqyzyNs7bGlWVIy3ZQACkT7rTmnrCCM
C+x/ic2ehElvp4/qgyelQvbcJDvEJeb1651haExdXrlLbIwWETAsoxJWwV4P2peO uNrO6lRso+sau91e16lPkYxG5XkKfJ8APuXpVTv0d+AS5hHluYyAzY9XaA9Ie6jJ
PKkDvB7oRdyX0ekcB2tBAnSSL9tt7AxHri3mbCgIieD8ZA4gPbe2oAl96MbxNbA0 Q8A2IWCUF9Loj7KShu5BNWTnchgG1sIZwaOGG4tr3xn42Pvl1A4fmyIxjx+xGiiy
IcaUwvX1Lmt+oi4dYdYpxe9zqQXR4qCOAUxVk0EvuvSyDkpYMf2JI1X/GMsfHOLd d1gaaFPpk2TE6owNLZAGyOX33/Ppc+mnUcJwDqM/5O5zv7UQ2K0XSk5uvUHmVcQx
k7fpaDB7k37KibAfvGc1fkvZofR0Y4B9jAuuaPlOuqXi7L/GAvRGJHbTBIVaQllV pIsIhIOXUtQLr+/E6nNDhBGYtdlhmuNIiAdVWPlBUaowE/tpffkKRReM59G9y48U
I+d0TJNBhLQdrOuvaOWf5Q 8z1VNrMRXhRqd7oZnRnFqQ
-> ssh-ed25519 /vwQcQ RpoAyxLyvx/h032Tkz//5y4ezCeAEEoQmBzwnChT/y4 -> ssh-ed25519 /vwQcQ ED5ahBRsHSt2683QUYn/SJ02hPRrbv13IMAsVJ1oyHs
qgKi8DarlMmifEeul+HxgmwxyDJNYCf1HTdA54kaujY H7wDLtnHXcyGOiLTMxNWNhWDikCwvCMHXa1kDbuW66k
-> ssh-ed25519 0R97PA xoKpI4YDX/gdviuu6SsbKyEN0Vax3M0xMMoSiZYlYXc -> ssh-ed25519 0R97PA xrqvY9+rjo6txooIwUERpGSnfYA93xSDByyxZK9AN0A
clH2T71Vj1h2r+NYni+nLVh5+fUF+Jc32sbK43WBeg8 fnfq2fCbO5W9ig7jMB4f24WZoyGo9h0Q2sKGhkqB2XA
-> ssh-ed25519 JGx7Ng hPl2gUACWfq6bRXhI2mmDLaYKrm6Uwt2PmslLDQD9QE -> ssh-ed25519 JGx7Ng T831q2KWSxBKmkFkXzs7Dpr0+1M8Xi1lToOa3T7/MwE
GtiTSqsIf6g8tjyr/humabIXgJNGA4eRZqbe3lTtDuM 2cg2MBO+1lZ8fiwf8PGnS4iYK3RD6wzd1rrseLNYp68
-> ssh-ed25519 bUjjig Zxs3hOPgnRndY14SUitR7GOB7kN6U0rWxcABOAkJFTE -> ssh-ed25519 bUjjig ZOHRk2Belx0dg9T0UsOXsfGa0HTKzy3tLuvKv1NfZW8
+nlVgYVvKb3TtvRLHNcJovugtX3ePgJhVQtxPgzaMsU A6ccwGepjkpAqe8A+1Z9QjlOhGS+pRG3hP/OSE0+iNs
-> ssh-ed25519 VQSaNw sNN+thHhKog98Sqxj2q3V5ue/WjfcMaQLHgYuUCp0Wg -> ssh-ed25519 ZIo4kw Pq8ZGC2qkN2mzhQgyfM2x4jslpQc234UINtXUiMGwwE
zUemwjJczCunsQKzze2De1x1bnH1/IGvFAU+3YTN3kk L+zFnX+PrUsvBIluuLdd2wWmSD432mB3+jHjkZsnmq0
-> F~aB-grease YS )Ur CV -> ssh-ed25519 9/PCvA rDyI/wr6y1C/Ndi5FJQN8tvUjT3dQSRYllV6gnQX3GA
2iTJvv/WFAXVQVpVDkFFQDdPEMoymZSenn46NWDGp6/xr87k+g R0YNT6e8KKVTCbv0I417S+dVhRf7DdsRzGaciuZkvio
--- oeW+udUp0ualTjLhEvk4C5w5mDDmiMIkp9GPsnNL1no -> ssh-ed25519 VQSaNw uNLUKcGfx5vZA5Ds6EMHRa72JMe2UlCvAcl1sd6u2G0
xfý=ê…'»æôy<0E>á`±€š:èª@lˆNÛf"éR Öå PhYZWAXLrwdUhpP+buJj2+MVOdMIr5wgAX56VXtdL2Q
-> B-grease 5AlSmu%' B1 <W
oM47+2XCp0HX25MMJr28IzxyzHlRW6qqqffgL1KdlIV8CVvQ
--- R5FloNTR5d54U8LYdaPQGzvntJ+wHdSCJlX+Jcp+D6I
±²œŒ˜óuäsò<€aÍDvžu«ÂÔÛñRÖ$ä^þ–+÷hc

View file

@ -1,30 +1,33 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA tuq63SvMOBnLOZNkIA5RenFt0DTg6bwCX4zJ8ISYRxc -> ssh-ed25519 jIXfPA F2yLcxiPRV/Zcvrb+BPb9jPv/aPh8COXxPhxo9TE1jU
B1K+kEO/JC0t2EL+2od+UiVNlzBbpRg29lsp2L1DhHw qjzaCR/MWWGXp8nNdli4L2dNIA9eBlcnJu/FlgTdhG0
-> ssh-ed25519 QlRB9Q r3M3DQi3xJiP+3nTpwm+2PQipnAaRyaWSH+mb0es6kE -> ssh-ed25519 QlRB9Q PxeXnGimZ+uJQ8mx8wxbjaTFT7Lg+SQiwhJuosetMzw
codqvk7AgptYBRyz2BFVH0FcQ7ebZGGdJ6PJmoWWXTk cFJVu7TAYmxu6XYPFKY7EMLpGtHIKCjAqKzgLEyLQmE
-> ssh-ed25519 r+nK/Q Ah4Oim/N0Tdkz1KPbQiHJQaqx614/jjlMqCxtYqjBy0 -> ssh-ed25519 r+nK/Q 3+GlYdbxFFAETjEYpOBws7H7PbapurOvKSN7xqnPkh0
aTrlmm3TbWN6pyDEHf9uGy9H9CyyChXGKL0RZr7U3W4 +NjlS22iOmYfEfnrsxT+gWDnn+8yHY63ZvvdK/TJOrg
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
ZbbBqvj7L2XFfJBCQrn799m7FQDrFDg96Moev+Uab/U5caQoJIljMldkfD7VphEt kZ+QyO1l0GdBS0xSXrPlwyGgoQbWm5NWJQVPB2lhB90EPySItGVUtk7x+NYo/J08
56dyeJ7IdKdnwyt07213ua2gZ8Cmjyffi4b0mYhHkvRI5aSmfUtfiomXU0HkgZvK iOKQpkRjC6mqowGaACR1+rg1CXxjEHU1I4S0AKBSjKky0eAX8QdO1WONxwhl7n7U
rk4+AVQYXTLZKlGaq5KkTt4i0ltwzjA9ECNirciqi5JmORkUD1T41xBKCSb+7N5b N3u/rWnoct1CZH2Nf7Lbctu8YIns1qbKeDSWix6Wtrhf/pqj3uCtpeyT7OsihLuI
34Z/uka+oacxt7q27GnSonyFQIm7/owS4bTWV7vxoWLoOYTJcg4Oki/Op4gE9GkK ZF6r6NEIaytt+f1Q5AD2Yzqzjoca+YyWvJ+hr49xuOmI+GfnUBG4h/UMUG3e4z4N
1y4RDpdVsHcRZbi7ewB9UKbvMzH44TN5VJARUf0mFQ/OHUo5IJcm/glS898fSLu/ V0qqHFe1MdGlOXuKDgFEIv/xygivSvzsPYNmY8h14WMoB9/el0F/gfHQNbvwHJ9p
mrjVT6XGAmPELB8uaVhSkg Ulx7gg2S1kL0HNUTiJmObw
-> ssh-ed25519 /vwQcQ 2mD6dstuZmOkYlBajNevQkeCYAGWshp0h0F1TzdcJSY -> ssh-ed25519 /vwQcQ dWptyg0Ye4/0glS16k05kPPCapVHoC6PmzR6jeps0QM
pzjxW+RZDSqPAHm+c5cMJZOdIfkwTmSLw2BktGh/kHk hU9XFJfxIPdfn9UVuFfuXIqM+pEoS4ffEKfWXjHQu14
-> ssh-ed25519 0R97PA /vOiTSDwQVYTX+tFuJD0M8Enk+4b0ViZUnrZ/WhUKiI -> ssh-ed25519 0R97PA s5Ezbm8HvX6Tt/AmoMmTDikVS2dbAjPqMyrzdiiTZxM
83r35uyZ/XELwTXZXzlU1yq+xzsNTUYNwK9aGGlOSAA xv7Tm2zl/uNTbM3v+m0LQQ0i58DXlSLjHGaVZ0jpweU
-> ssh-ed25519 JGx7Ng V6Xnn5q1hSvWHjiWtWJAD7as5N2fdtWNKWi3JwhfYgQ -> ssh-ed25519 JGx7Ng 1pNyUUXwSrJQntvYkVW2sRrF5pDr2vRILVkoDHFjHik
aL3fX67spVrgguVtNNrfJ20fy3LRaDgMZldw5D1fKuE 4IVatk+3s0/CVIJ7LY9aXL2KJleZfgNkl/GjYy7dIsM
-> ssh-ed25519 bUjjig RdTpxQYpmEtG2Cn1EACf85/ZynfPbZhGfoSF+sfw1AA -> ssh-ed25519 bUjjig +7PIzrm/jY+E4HNUzMjIgiE4FHDBv6nk8eAZMWQIo2c
YovrKYRtwRPco3luRBVA0IA1qAq1jKxoS1UdoouhLGE czp+K5WI02gwJxaYEt35PeJjotQSaEgU9lACDP2Vpbs
-> ssh-ed25519 VQSaNw F4hYo2UaLzV8leVHx/oY9aIcZkZ9Fap5HiuTvZy+Hko -> ssh-ed25519 ZIo4kw 9gwIlnLlz4OY9g4luxUyyyraGhnPdbM48sbr6wuwlB8
Qwf9JDKqLXmIzId7gAtG5ERirfwZlQWCV6YiKgbexS4 iBy0YahwFT0vmtgKkqcefPeSlqsadbBdbEYxlkf2vwg
-> v>[->`-grease O {|u& 2o9 {w&!Ev -> ssh-ed25519 9/PCvA W12k1RPHDQ1zeb9wizqpMWRZSPasgYrz8vtj8MKp/gk
jZPBNd6e20KQYli80kXK9D+qfmIVbOw9Y0aKXB3uvyNJPWDOoYTbzanjeXLuJdN+ 5Zc6Dv5zMyVJElOg24HHV6V9Akh5kqVnXMEX+IjCXDU
pB/fgMX7znIg+VP87n2qMR5jFVj/x4g4vNgKTUtglw -> ssh-ed25519 VQSaNw SM2x7ZYYZNPlAh/S0lSAjE3IxkB7pW4x9T1gG0vEUVw
--- j4kt4DFy3r3y6IMvNakNkmlkeb6iHYI5xAK8CZtbPD4 c213+J+1MSZ6BhfVEJ6byDnmp5sKiES9IAztwr0iklM
EWS¦|p^/<2F> Ž?<7F>Np%åeFU/>Ží¸0bccývr(ˆ‰Œº -> DAAZlx-grease h<2eB& -1f =2 HOG=-\
“.èýVŸdgðáADZ3"® ‡Ù(½\5Ó§q< 8u0unS6HmifDJwOyG9rSF0a+b2pWzS4CeMpTHUDta0g5CaYgsieEgJUeu7hYylNm
znqrgJwnSK90Vu46/H+HMEgHwch1uQ
--- 6sVHaqhrf5bqLXtxsoBPr2DkLpKThpQ8RS6fCpsXj0E
#Ä]\<5C>â‰<1F>r˜]Õ"\èâÓŸ$"Ï. ‡Œw?c}¤ A,¹ú£²5vOEÄ$a&­T!^RtYLð—r¨­âg—`eí

View file

@ -1,29 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA iJSzsbA8RiEhUIyhlKWCASQKoSQstjK4drMYl+PsChw -> ssh-ed25519 jIXfPA MalSvW8Rf+B1R6BeJyhFjOTg3Jf8qIJGfzCX3Ixg7hQ
8THrknrBu0WGFEb4xTZiJxEY26q7sW83rwViDjyTE24 qD2S/IjS3QIc9HWLn0S/S1RwJOBuRiJQXC0b8UV8TrA
-> ssh-ed25519 QlRB9Q e7PRE212Ggt8nO6Bb+BabO85FOARsJGs9cPJmZNI9kg -> ssh-ed25519 QlRB9Q 9Bp5jDt8gLP59UH9kbM+h92iWeQAt3zazFfmLFIFc3Y
ubKIBxI1ZBXttA7TWj401siKNT1HyB+N2MsZ+ldkgb8 iDbCd+T4rDMKugKzBj4H6atB2BW4AiY3r0/buleJNKo
-> ssh-ed25519 r+nK/Q EWV24Emm9hENa+yUAuQpkuJ0uJ0zIv+vRIbWpM4Wtg4 -> ssh-ed25519 r+nK/Q 84V4RkvqJsdGbjt1n3qMsCwSDfQSw+kn9XMFgcEnmTU
J59wnHRytgNqpX4+5HaJ9KZ5GvhckgtRK6TzfX7Ci8Y hemc6TuwlJftBmdJZfBYjzklac3nf9Hz9kVhTP7gSKE
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
AvmrzShR+XTpUpKaScoqvgFQ40PTSqh8p383p98xjG5LIz5kqJoWBnxJK7JabBpq sF5eSqFt831fEF9C/orPPNIlUivKn2M7PdYEBvTK2TUjdm+MCbEcKcP5nvFZo791
JkqVeq5XdH5RX4weobieG4KYUV8EDheLfOMXH5BrPgeJO4yhJ1rzH+oHBw4TwvFM tc1BPul9V2MYBrtioOII5wQX1LhZirEMAWanknJezTKxMZ4CzI1mn72TETH9Td+a
UvEZEAVgi3G1/suPfJAkO7QRkZjE7fRppEo5RAI0gMlM43YyJavrfqVIqB40Uugk so/JqUsdbjfjIlUlffNrgCZEycu2s6Do5LA7GC7vf3SEFUVM/93cujz9Ei6/rAKr
h0b0ybChUbKpXlZjqhYAAMN45jTAvW1emO0DMeIk6dbmnbZNdibul8f+NNdWKbI1 rtW6wHbs+k4HKSD6sU9RHyTYKxIW6Hammy4XVDO23/HtmN/a0LEe3OwUgFXsjBay
9NN5iH2IzuqTdc6gkE4912hdDeUJ4NZ6x/Fxp1/u3d1z/Yg7daUQUXUIoDX0Hyvb tQu8pPeLKsBCMAw+jCYQ2Ms+d5MXT6FfcsWf35rsCwiEwqzhe+J88ECiSL0BF/Gb
+01dH0D/7kzRhEdNLO2NXA hyJrWFaaHPugqwSREv8bjQ
-> ssh-ed25519 /vwQcQ GAsAj2i65KDQeFhe69YR2ycdGskop1wu3Lzrxp59sTg -> ssh-ed25519 /vwQcQ qByuoq9zsn0tfcWzAlO2GKqCH4UfeaUloOAxIGYvABQ
wCSUqEtWv0i6sNg1RVtHI/jZh3VeNX3qtnbagXoNGT4 pY+N5rw/tmFNhJsfHaPY332wJ33tKREbip0CoTBqTT8
-> ssh-ed25519 0R97PA mFZ3q/3jd1guXl8bhRWyYjgsgE4JErJEels6vdmpfCs -> ssh-ed25519 0R97PA 5fvujKG6IoKXlhRZGN2XcuN0BopvZyNyCnvJvF56iBc
7oIAT0MTsaKxbf26PSDBk7KqfyFgcBq09FGJ9v/rXqE 2gGNHuDK3sveihZ8RBg16bnaZsPtA41Sg12UDpecSwg
-> ssh-ed25519 JGx7Ng tpslfMWMJMUH46EGycbLiXotVdXlP4xmK0slb7XKYS8 -> ssh-ed25519 JGx7Ng d0sn0he1kbivcUImnwrGpRnIOfTnbJiTIRKMINV1/CQ
wLLfX4jX4mIxzI8zr2GBlpBcPztTrHqKngi/ON0TExg hsMMKBFKNMLJb+vH3o0WQcX5lRmuHziRXd6dxCJGsMA
-> ssh-ed25519 bUjjig zLoniLfwKGH9Ctu34103WHBvjIyImtPyKx8O+5UMLUU -> ssh-ed25519 bUjjig hhEbxz4nar2tCF9/kNlpxI9ONR1IQ4VD9yHoryuxfH4
sYsterVGvCg6JWA0z3AO5sSlj9DBfj8u5o5jH9K2xeA UnEDFZnge5U1ZUR0U1C8OI2xzUYiiloLG5XsITc6is0
-> ssh-ed25519 VQSaNw oHzU9Lc/7p+MZAjVylzC63h586vOcffXkkpAi4XB8Q0 -> ssh-ed25519 ZIo4kw +ZqTM7fJr4a3DZr07ZvfZzFf/7b+f4dlYzBxx3Rl0hQ
7T8CREpaCxM58KMYW28FY2i+ELjrx3eC3K7xaBy7O6A cS/FV6ZahQn6kro/UPpuvolvBL5H5RuBWO7XnK9XHPg
-> (_o61>U-grease .P>ZRrj~ -=7S;N -> ssh-ed25519 9/PCvA cJBd7PxCMTilzWSf/RuNeRa3vfMcIuTp5dQULJfrO24
6vnQVKKZwp4JowIwVb4klrhaR6NZjwlZYnngVQ0wqVenMZPj9oyhIXthLRqE1Q6/ OXL9Y6nvopL4LlXvSZnHY9O00iU8dqRPIIdYqYreFCY
k+sGxA -> ssh-ed25519 VQSaNw GEQDTjuE+hOu+DNzZsKq8R/sJs77N6NRq/2vfcZmJjI
--- +yT0o8oZJS+32MeUAl8T9zREh31rq77pSVsSoFjHO5A Rz6bW6UE4Wwh1v765YVBltRVf5/zo6sJKquqEjCx/cg
è ™ñΗ´ä!î^ûØÖ8ÔzøÑaÒÓ ÐàÔ@Ö¡s\ ˜_ÃÃúoÖö<C396>wõÖ¥Cr)¾€fû¿AÃ'•3D€â -> P-grease !}P4V B O'Lk,
/uJ6ZehJVzp6mQ
--- Cqqr/cLuPZ+c4ODhL+so5Cok6ACXhXBhqfcDtHPvBms
¦,l¡ØÒ©Nwä϶™ŠDB&_ Çìgµ ­@¨¶ÌÏ"#/ÛD³-Šp¬ý $€ø»ÓFª~„AÌ£<C38C>7

View file

@ -21,6 +21,7 @@
"dj_gestiocof-hcaptcha_secret_file" "dj_gestiocof-hcaptcha_secret_file"
"dj_gestiocof-hcaptcha_sitekey_file" "dj_gestiocof-hcaptcha_sitekey_file"
"dj_gestiocof-kfetopen_token_file" "dj_gestiocof-kfetopen_token_file"
"dj_gestiocof-email_host_file"
"dj_gestiojeux-secret_key_file" "dj_gestiojeux-secret_key_file"
"dj_interludes-email_host_password_file" "dj_interludes-email_host_password_file"
"dj_interludes-secret_key_file" "dj_interludes-secret_key_file"

View file

@ -1,29 +1,33 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA NovhLzllQnEbnI7bno+zDoSRFJyZMfVVYPQMReUIymw -> ssh-ed25519 jIXfPA XTwwas0xEtuVCH9RLjor/7sJi+eFgIf8hVP0qLr2RnU
sefGtZ8fbYVqtKgMhrEj9AlwP70YM5MGkQ+o8Dmfb/Q aDsqnVAMo0W/Wshq+fSIv1OLZ9zd5zJURryZUJj5dTI
-> ssh-ed25519 QlRB9Q 9mh3vQVo5tPorLYBVCcZUJOlcEftQKA94PxNhh+pDwg -> ssh-ed25519 QlRB9Q TQ8Hbjhf+bp5m1NmO4FGkGyLRyK1jaAHY6CEbpjq81A
GXM67qitYqnxbFoHbsfa1lNNLIahPqshosIY7h0fDBA /VdXs19yIAoEx3tW4lrASII5kB7YSSeTv06oWJDhnPk
-> ssh-ed25519 r+nK/Q BOXck7k9AH+KvmoicI/fmGzWcna0nwnJ+uyteUjIukE -> ssh-ed25519 r+nK/Q hzJ+Uxo7qJH/f7XXjbkqNS1MwD4bHnsWIw49C1El+X0
Hyts1/6EAdruuBilhifl/HwPTWEBe+Kr1RL6SDjHaaM PJLFt1iOqVvkfcVF6bjvi4dtyLP19s8ZRo1oLqwwFak
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
1ROqUHCkbkEgRTQUha0cVJVAqLu0nvfKik9yI392sbEQYgmpuf7F0gzA97BXcoi3 Or3oEfiA3iiI/GxfXYY7O025VplXwrknsycRvRtbyiZk8WQjmEibTXierciTlbX5
2BdZWu/cJ6m6bfMvXdZ04cUjRcNrnpPHsoqie3G9s9p6aa9XIrLO5K6kH7S6f5DZ SIob012w8/T4tRcNJMliciTi+BeAn9W3Mwx9qnE02yoP6WyPmTT2BzoV34XCMUlz
pZdOqfSYldtJKRx7F8k0D/pscN5qB1Tb1x0CIULJVo7uKf9X1MnZwapOOCY2q40U LXuDOPSX2R2YURNCM06d7ksI3ruK4bHODdSPcAqedC5no2Jr8dE7TviZRFSvLB1i
Ip2aefr40h3EO7jBlswx2/fB8aqW95BR4JQzJZ/uiIsBUQDqvn39GU7R0JaLdAPB 7nuqH16BOCgvraiLInskpkHdA3kC642b0ZUcPfrfS4OX+6vAtDrx5FPUkIl2sExF
6kJXaJ3ORaDDtslcaAVZWLqFbOlINXYHr/mqYNTZMubE4BmNjvJL3aRozQQWraoJ FdNe7YTN331RdMba0aoHgfyJHZ3omSE+XRa6Cxxm/gSUxdC3LugPSXYShJr1JNB8
q5rDvgwUXVhpGpcaNf4/xw ZV3SbIOKzx7of59TDA97lg
-> ssh-ed25519 /vwQcQ FHYnfCad1imFiV5tRIfe9mtJ2ouiu2l19th2UD7j3gw -> ssh-ed25519 /vwQcQ fwtC63XD7Lv9FF++QkKpahHyuXDVoZ27CmFzIgQfDDM
Xu+Sk9GEQ9Wyf7iU790yxv80vLYHp2StArPkfRqfRhI eDwbjI9To+wcybm//jFt7BZqLpaKm0O+Jw1bHHp41ZQ
-> ssh-ed25519 0R97PA etwCsiGmvzufJGMw8aDN+M931lPlE9fTUBQmk0X4DFk -> ssh-ed25519 0R97PA 4DFNn1jL86Cul2LsdUZHTpGUxjRZDsdFerYVM6sK7DU
o6xJbfNjQ3Lko1MSJ9JBu6FefZ8267dZ+vL1Gpd1eH8 rjOsKCuw8iQdSehoZiSNau9IpwA4bH2sacYwIJ3b6DI
-> ssh-ed25519 JGx7Ng h0XzejD/c5F2M7sWS4vTQL9OoRG73ACwlWCtK51Dcyo -> ssh-ed25519 JGx7Ng MCchgB9GKJ4nDKo6Evgy0TKQlO/gUXYxSgudvRwiuA0
diMDy201IpwL6Ec+Zb4pH5f1yyMOMHT3jg6yriopCRU 9NeUUtq7N3Bm8F8dxK7BJISOBHF5lQ2Dt+VHwWPTyhY
-> ssh-ed25519 bUjjig 2Oh5FhWfrbA9c5TisXuxasyYF41YOlNdurZR9QowETA -> ssh-ed25519 bUjjig 4Q4vFKZ346x4Ge1YFHavHYoAmPAtHAdgwo5YJIy9yCQ
706/MLiPT9+9xHZPZQYtvKm8zbN5qS/9XJ+TK15etIs p+PATQkqC/RYZ8EGOd12QZ+Bew7XllfexjcMY3vJw0U
-> ssh-ed25519 VQSaNw YbtnCoySon7jNBq7IFOl8UfxuJXRjzLrgXp238q4RRE -> ssh-ed25519 ZIo4kw UncHT8lpi7qXA8L7d05xlhXVMr9SRuihu8QN9DCtT2Q
10au0QwFP9ntPMU4u2bMl3KLYBIPy09xVoKNLxWvpw0 MnKuPXpE8S1dtKUVwMVjN4a2tu/2z3u9efuwjoeuEg0
-> Vu-grease !oqb p1-QmV -> ssh-ed25519 9/PCvA fK05xfaZacnYx2OYjWXbHebbC8xECKZbpqEBouNMtWo
i1WmaOmxmdAX/se60fnUL41n57c8tN1gnUjjBjSV7GkQGzhKnxTplJTUpifP9Js3 9mdTdeF8IAMfO+0re7ijiFnUP5WPKxPrjfBttBkJ5xI
8D+xe86sN2l2JQ5R9QFOAbsvSa5eXSo -> ssh-ed25519 VQSaNw BIeE2LriKTvcixgno6bVAJvNRyZZPLB+JrjQh2PojxI
--- JE+yvBRH9Jz6Sdz46AzWuhVI0kXWObODKSiNWz5L9As cK2+6Z1/x3XeXUB07Ciww+s6UOW60JvYcXaATa+lUpk
_n´(I 6ÔÃPèCa\³U¼=é @ “†?6—P[Tò³ñˆjk<6A>0ãrÒ…°“ƒ¼-É(]/³a¿É õ8¶=é¤i²<69> -> PA`a-grease .[V<@M%r 5&?aJO
DCL6YRyrFvIFK0DO+xBMeRBN+rEmW5lc9/a5A7XUAU8fciat
--- r+lRXC3t5YAvRG+j/CGedfTfBWfqjywQWWSasBzWxD0
Ö"ä2 “â I¼Éi$-…
ÏܾÅëžN×6>è4!! pxµØ‹¸‡“=žÀ^Ì<>òåHÀÖ<C380>¬•ÇÌvÓÀÞÇ­ù×

View file

@ -1,29 +1,33 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA Ju7YL9wvvYr9VPLmYtYTniyuj9JTVqe2V8eRLISkIH8 -> ssh-ed25519 jIXfPA 08egVQc7ktR2MhlymKTW0HdWc2mus8aJSn2Xb6Hp6Qk
EJjZPLOhspyyrx7a+fYlPPH+1pr93KzW7E2Ztkic0cY R/2uk//Fhe2NA7oJeqIn/5HFvzaA28ASSXdfBSTqWlg
-> ssh-ed25519 QlRB9Q X+TAfiEk1d67rkz6CgIO66bBrahY39ZTnmj0cBGGrSo -> ssh-ed25519 QlRB9Q 7m1UsjXtZNrepWj5We+EUorSRsI1Deo8ZtcB7LtbmkI
kBLFu6DnN7rIzP3mSlPEc+yBN+yU5toLeA069vuNW6g ysD6OEWgWxr39cn4WekqCRoKd8NshmbQUxh0nFLA49Q
-> ssh-ed25519 r+nK/Q wcXXCuAS9bOp3GM6c0pU7sxpylFEHFPmnibQTEwJ1x4 -> ssh-ed25519 r+nK/Q +ge9YK6GUu6Q0MT95hZ26Uu6If2P77zdSHFHebxrxV4
fR41b7fhZCzuNP1jst3vx3wUjIkBDsz54VzubwNX6+M cbNRLgoJA0ThRVdHDoR4wVZaO/GEI/2NnR1fNNtZN5E
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
ySG+OgB3gMW/ijdWqlGr1LnkfqeFD53ChxkOUfAe4+Z1VsK0FkVaBmqvW38SFMw9 H6+NdcBX/Jk+r/BhWkomBGraoZdlO6D3rpSaq/lkgLf30bRwOEmdaNYD79XaWY9B
S4dcOkO6Km8umsaZBZi2QaItm+p8Rf/j7+W2WZPoyoKE1l1KW1ic/wGOY7uqeucn YT10dGtON5v1/8GuPSWup4SUDjFoSw/hiEerxApWPQiccrC5roTnCKQ8U2glOd5d
YZRq7rWX+DaH2VLbkl12wUlVgYwJGcH6VrpRizbq2z0jcdTak6hgzcXo7WhcNAit 6GKu+ZvyvsW3vu20JMrDirzR0dxVM6UuHNoKyFur+uF2Ldwmsj5K4x+KK2oQgPu2
DY8W8X5Zv34mpj1VO7n2LJs5V7gzfSLq+KVMIi++QphVv2VkFpvaOqlEP2neVXnV M+31AyyI1SxuBW+Ud29mCN4Wo0fi4qZ8+mkyHSUMjRa6oQP1sZ53NIhrjS3A5uB/
C3YNJTkVx+R6wANCao+9a5VHC261Bkm81dKgzceW2OCHkwOP6XTbDpj59sMRxRuU egLfTwlrzXbHvJ2SGwD4DY8ifZSHaN/mca7OTtQjAlhMRS9DCGE1CkKH31lrGd6X
B7jrvre5S1WZN9jc16Dv/Q 0JNBnULyuy/rha3TcMTMtA
-> ssh-ed25519 /vwQcQ TW560PIrbJV3ZB55w+EvH2PEYOoYM93x3aaeeShYKE8 -> ssh-ed25519 /vwQcQ xLMRHBPx6fODmXha0Sy+vJQf1deTQXryBguot3WVh2M
LC6pydBK3yCq/Vs7MUoa0xjDSn3WjRaZuqwvhX24YJQ dUgdi70Lsr1rIiotYqQ0c96j3EfRkQOafKY2RrhidB8
-> ssh-ed25519 0R97PA zyerO6EIwW90XVSBVP3Y/7Q8hK+7uPe6kKENGCdDJRw -> ssh-ed25519 0R97PA w+hdiOdbnrWnn9tFsF6L6mZ1///cV6XoMjWtYXyKnQ8
WEpgo8Y64YXnat1OJU5qtpecf+Zu2P2LmB7DEtmUuAU 1at9SRvM5Sbu5iSYEFbYbXVoto1LMW1EzEdsJSWpwY0
-> ssh-ed25519 JGx7Ng 7h4q8ztQ0BFJSfavV4l1pKjbNRZveOPIJG0KF98vh28 -> ssh-ed25519 JGx7Ng o/cdIVdkjzIAHw625tEfw7hTaQGo0vki+qdIL+CYz0c
mYcUEL4n2+bkjpvJylIvzXSxoa71YZKMSgN21ONnvko Vocwm0geOXTk0H5WrBYMDZcUNk8n/8VNdW8x6dMl2cM
-> ssh-ed25519 bUjjig 9wKWtLWD+9LlAOO24iQiOdvpSDIWpL6Xo0Wt3QOLIQY -> ssh-ed25519 bUjjig 5OBdUl4Arg1wZJKQdWh3V/KNZV6qUGsAO1a2v99Q0nA
Kq2QLFB7E5tiqZQlsn5pZRM52v8XqUyYsvwNHXZspRs aCrZaE35dXkQlagPSaDWss+IkIwPif1/r6bfZz3TNrA
-> ssh-ed25519 VQSaNw 3tJNtvi0WK9iAzx3Q7Q0Ogj1TGH0Zrm5v0ERhQILBVk -> ssh-ed25519 ZIo4kw 3OQoo8uI2P00UlbjnIvFEIvQoWGKGyHU3LGXw+sXBwc
4232/j+xnbhQpId7ZS6+xAQBDxtumeOp4c1HVeMRqB4 A46XyfquPbtbK8BGPp0hKgCWuoGCeYeDxVqYkD7tdyw
-> Pug13&(-grease 'w0JG}JF .t`9lMF v)8}4qW -> ssh-ed25519 9/PCvA I0FpL5vPxf7U093O+NY6CJJrCHnpuY0hFWvf/qJK+Qs
yRriwE//abKvQgu962F7URbOAiHDFMipnsq22itGkLDvmwIRY6Bi83xOzx72EV4y vcl4vxnuO1iLHinvmiOM/gkjZjRVabrQvEqY1cSog6M
27GNdxQOni+z8NPt0YTskqq4fHfZky/EMFUvXTfteB7izYxEliHLRKA -> ssh-ed25519 VQSaNw ff4SovgItjAFXti6SvyObcPDmk5NeTlAoavPL/Wnlyo
--- JNvexaDwzwOIUCxanJRLunfhBh1/PE8ssFCytr8nPjo QO4PFFxL+W9kFo6vFa1ttc7bZeqRzqSmETeDnwhh2jo
TX¹Þxòšd˜~KS?ìIò…Ce þ—3ÑJõ ¹ŸýCíÓF6qœv~Dùq¢T<>©55€bjˆfÕ5”ñëã"ø£ÅŽp -> k-grease
abx9DzQh9Vg7jjvbeTQkJ3HgHRgTKe4cKX26LTeRpAkJh3Su83UnhBYaa8f1LE4V
lqwHbpD3EZ43lmqKZN7MIEU4S4DV
--- rb95jJQm1T4fp8BBYzzcszoX5UZX/e8LdTPzK1EdSX0
ö©ê{ <55>$s<>sQiWh"<22>çKkiº-èdšÇ|2nØZæG¯¾´<C2BE> {<7B>/ÛÏîxž ÒÇ·e\‡Ó£ò›

View file

@ -1,30 +1,33 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA Ifc4K8jusXCbeMSYeAL+3jdvmDK1ojYiSzHJO/uefzk -> ssh-ed25519 jIXfPA 16vr8JKVz+RF5XzpDk1oV4YxkFCzWwo3mTOBI2VFfS0
h5ewdTYV3o8+tPCzVWvLtqEM3WxVjtOqTRnrFAwKnes ianzE2kl4JWoueI2m/HuxdoVkf2rjFIQc4rv/VuhEQo
-> ssh-ed25519 QlRB9Q djvVFcR5y+WI5+rED8ztIQZuLfCj2z8wHx3WIutlfjk -> ssh-ed25519 QlRB9Q l5GoSxEDfUk5mkPf0zNrA91WUEjxfFVpAkfjS/niIE0
nsTUZEQRJAAZfNXw2YbzwV+RUJEx6Dmi0ujswMBqIro EEE73Rbula4xHZqMiirGjtoiB2mziOLBUm9+4KCdev8
-> ssh-ed25519 r+nK/Q Ryx2iuVCefSFFMEyRjVbKFxTqaX6D+Ty4B1+6mRLSCg -> ssh-ed25519 r+nK/Q 98sEpNMpoczfjW2l2yr9jJOc1VepL7Pk+TjJ6hFbkx0
s7YjJa6NESaNZ9wzurlrsovu5ecJNnWLOhD80RnFqV4 gpmp+Osr+idHXklG7gqVd61XMyOmuC7NxWWzXbbqOfc
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
utXBcdyAmbl463xcacn1+K9UyG78vKG9LW1vJ/q40ltqEsuxktP2C5YgBL2Whcld jQixiivph6yAlVzUE+Ir6rinwMo5R+2e16I2JS1xF8JNxu4/oYIwc80nsLhmf66t
UYTsNFa3b02HP1wp0fPP4eVyk0NNKqO1rairMAvLJmQk15s0OVCk7LvjZe+Q31m1 uGrYg3SqQq9r9OajpxKsIO9JuzuJLJWpMjh3Lk+hu149RXFgIfwzuYk9vUZpwRxW
gYxBSuN4oy7gljtOlIfrHtcRqDMC5IToYSt91pwt/0wgkHDH1OcLap8jaQIuPdc1 d7aJTLa00MoIlTQ+AyZgSLPtBp8WX7Mcem6ZMDAgyP4BxEJO56bIDS9Qp2x7eCif
pQqd6iUTF96kvvp1P6XbvOHH3nVLNw/bITR5BUSqm/YBocJBrDNIL2wXcq27bBMs XRdUIw6HjvEFTzhQKBqUFNNFITbNNkg+d3k/PhxtGkuc8XSEroiNpEUJoGckIu5R
YqF2nykztoSss+YM40XnHx14wNU0WeocbSYuPKabKvtgV0ry62w+EW5t453TfMng +vZrJpBGuZ7o7TOj22WhH0+Kr6J4Jl3T8aSFzUxg6NL8HgYCnPle1EAHpsPXZYcJ
y0dYmBdXVTKgCyL2v/onlA q9Bi08TiS1JW1th7O9+6Sw
-> ssh-ed25519 /vwQcQ tax06kUoYtjoUZ8k0+2L0cBr9CTpZpWd5Ev1qRh4dWM -> ssh-ed25519 /vwQcQ Q+8UC629ZU+37zcq5SF7qS7biRDWda++Bh3G61sj+zU
x2RYQ+53UJnBXz8plzYrpga9JCWgm+WvkjpGg+CpG8M amTcoqlY/Ip7vLw1NNsUZs5KMb9sVAlDlcadgm3oaOg
-> ssh-ed25519 0R97PA DoPbx9NVAHTe6NRxT50nwdStoUJRnATQDEKgIyq2hhA -> ssh-ed25519 0R97PA Ysgil3FnJTdr+kbc/WnkqMyX6gWTYyeIvOZl7br3rCE
6DUg7uQ9L80KzaMJi6h/Nm5EgtLlAI+R01Mke9GpyzQ oaJ+LtabA60dp78KNyg7jrYXvG9mzqSIoDuaf1zM6Z8
-> ssh-ed25519 JGx7Ng AG1PM5MB2TlfZoiF29gu01LqhcQ+rEQRQZHFVxdHYG8 -> ssh-ed25519 JGx7Ng GzD1qZ8quTyBQk8/rwTu9BKULhVU3FF/z5YAfzKSQHQ
ePz8kT+axuMZe8MKi1Yj+ZOCITIYjVAuRE2iTScgpyY OpdNcQwWY+ky4VUZqsP/DonDpT6Kmxug72BvwHwVAx0
-> ssh-ed25519 bUjjig SgZgUi5qfE8wK54Mj8P/FJ4QPNs4HUV5qPc9jJTskmY -> ssh-ed25519 bUjjig 87s2MhD6NkK8eV5hww4ylMyew12IGaOEes8o1xUbZX4
n/fedObFehvhLwd3uhkhfBamFpjZDVK7M1J67BucoPI WAaALYovgjW7iYLB7itFysR7clZGoK7cVWJSLCTSttM
-> ssh-ed25519 VQSaNw a+SLVFR9PqKgyHfAPTjH4SGkp4XXjz6xz6uMjZgYOg0 -> ssh-ed25519 ZIo4kw MEAFHWzbBdah28L7NsQzwfCPuXIc0wjjXjj0/+bmnyA
hv5F5ENsfpU27opx8OT4mvL0waGO+AieG/VXvHNi2hg WdcddcNr4+36q+nK7Y3ye9VTcK2U1rZ+02/zCaqY/IQ
-> g**u4-grease Fb|HQ E -> ssh-ed25519 9/PCvA hUkZ64AD3UwIIe8w5wjQwedCtm5F6o93+wcr0ahZDDY
FcQESlzpmCxDtrbCZhddPdNjVROYKj2XsOppqa2GPZsWqQH8cFfKzxjwlNlE7WNF u/HyNw2RwdR24d7u1QF3IQrFJoUCafGZIPZoHd2QhIg
Q3xupVqn8H1Cg98i -> ssh-ed25519 VQSaNw SY3/Zld3DWCnJfwtANjFRF0Ouxj/6qY/p1Y479zdIhs
--- lYBZVJ4DEtBmKhenHOOkQpuPT7TrGGgN1OmTrfCTtY4 WkVhwibatw01SNLcvnxvBgGkFlPhAp/fYgX27VqRnRU
Žy[§—ÀÒh{`Z³öNŠx/ùºóSyFú£ç -> uE9hj_n-grease &Ys xCJnv#]: cc@Br M^KC|v%
+¨Õr: ¶úÀ cJ¸L˜b¿Mô™w<E284A2>n+™õœ"§¢—|w¼¯¬kµ* gsudKgvjsE6HDhMQ/mGXUSL38bKXvszMenPLcr6TvDTqzU7AA7fXn3Ct3bg6y4NU
sfaWT2F8M8bJvg
--- m5R+t6PYaGOTy18NgUIJRBVev6HpIYd2GfM1yvLFlMg
/•éöÀ<C3B6> )ÏœëN®=è´š¸¼`gϼ‡Jx€ †ë—k.‰H´I˜d[ßÐtWyšÓ£,!E^«²âŸg'v†ŒT™ç'‡ÉàfÇ2

View file

@ -1,29 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA KrKFEp6rV9xfBHAj9NeHKI0eIECjogKMyeClTaBipG0 -> ssh-ed25519 jIXfPA Em7PnBEyb7D0d6/kWwsDh4J1W+/dyUiT7FvAupHaP24
1fxm8PtMPXJTMM7NDiTKuoFp2J+tBQxI85MgifdISho BX8kyVQdJqUJmLcUL23sl626U9ab75/r5NTI7v/o7ns
-> ssh-ed25519 QlRB9Q 97pPLWOIzOee8ZAjZil29PvzCM3dUXobZErfN4/gzX0 -> ssh-ed25519 QlRB9Q 1nP4tTHiXVFeE92o+Nzr79o71QR+81+7ovrJLrB58xM
UEL1QdbywRgxnMZo78/olkvV4658ezc4yG6MuISGUbY EMCQMNZ5ca/yPPQHdFl0vTARpaPmI4xUA9SKENq/dfU
-> ssh-ed25519 r+nK/Q DbBaSui7qk1+umFZpaLXp7BRxncPqz4z8ClFQc7m11o -> ssh-ed25519 r+nK/Q 5uzQKWNt43S2mM5akwtXnYkSr02zerem1+fGI9fdITY
DwqwK/5pCUN/mFH9wK/lv5AFWyoMmAUUntNpGu14UEI BRSdgM253ZQkcuWXniiQIi8J/xLeE2pRyDd1o9CY240
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
0DqUVAzJiRi9UyttiwNWBU/bJ2j0CEn4iYa8+k+WFqtHZEPnVPKivmHSsafaaVul A/anGDlkTsIChZfwcpsuAV8Q99L9eu8uMkFwJzQOpB3hPExG4v0fkvj5jt2LMKuP
uZRdx8HsBCXQW7O5YGXGtkedmJhwDGM8JV/PaeQhr3yYQj/x+3oiEiwqOHiXKxHf rYr8TrvzfyXOx4FQwpL3IrtDMKNSu6TJ6/QvcnWO4AnGrmPUrAuZsR8xKgRkMSMY
K/MGXtaUlzy88bfVmVXUbxVlUXcjANS19ofvzsUa80ru45iQnjPDAxrVBdmu3AvK FG31ttlx0d6tdmDh3jixSEMe534L7wvPaOST1Kf9yWOygkvIqNaOK4Xatn0IFYHP
1yxmQqu0fwnfQEuBQcQq3ORlqhUlRNgcQbS/WMiB9iEavtMj0ZP8aqG39RaFlL1D N7x6fP6ZOcMl7va+os3Y9+nZaF4aeYBmHkno5Wkkn9zLZlHCqm6+yDpEt4WkVbcN
jfRqrliV9ihhGfa846lv/Py3NQ7pY2DFilLwYG7DUSLqDrDFuABRl9uGbsZeNNGm JveVujdOjnoRtvMrY4UoGnAjc1QCuKx2ZHr6AidI0DkWi2+wzD57+IfBj4J3UYB2
iB5IXoTfd1NwzKWlo9oAag xmPmL7tfF+x9k8FMSwDTyw
-> ssh-ed25519 /vwQcQ +Bi7L49XCBFV07IXoNh5bjqg40J3rxTw8HXNDyOyPUI -> ssh-ed25519 /vwQcQ MirX6UYf7Iwa694voS8+pzsjoe0x1f2q0+0wTRC8gXU
4ZnfgVVKZa2LLXPgD/Aokg/CYa3Ekv9r+F1HEefGJ+c dOT4g7oXOsT1zjivLSYFCrd4kRGPlSHU26EOdSZkgyM
-> ssh-ed25519 0R97PA BD4To9vKcK9/N+SsNR47XRAEGgYtQpLjxB9uHx3upmw -> ssh-ed25519 0R97PA tNB090+u+BXCoEDk5WL7cPWNp90GS9RCs/q+uc4+Amw
KCXt2U0wbt+YAkMbyg8IiqxSEb4PqYqcF/Eyccp+/Ss 6inQex3VDvpQeA4eWurcTudLzzevgtSrK8BkbS/bbrc
-> ssh-ed25519 JGx7Ng jMBazI26/KI/SnoaW9RenfkfaaXVoC7fAzOE5ag5yik -> ssh-ed25519 JGx7Ng rI1hOmcgwYEHc61WASstR28qNR6DZL7Lm0TUZPgFJAc
V5roh9mLqwu8U7xa8uDjE5FvJ0f9oGBZvcc8Sq95c/g YoJaPh59Bgh4LqLmKOaUkx6QFLFUo6nGjS9OAiDXPOE
-> ssh-ed25519 bUjjig c+j4yAZbc79z8PY2mh3YKBb1Ufx5o+6mEZfBKFqx3BY -> ssh-ed25519 bUjjig gO2MExeoxESQu0UdE4Fa/fFIs7g2RybBOyhOc34tNGA
b70Yqth6WlEHCE5IayJdIOjw0LwvKRKtOAtqKKWsbcs 0dt92qCh9fBjyKicE4iHSPBi8PI+6j43l3nmgnuD8fg
-> ssh-ed25519 VQSaNw qKlh7tiMBtr+nSEBk6WeZoJ7Dzh6VHO5gN4hBf4muRM -> ssh-ed25519 ZIo4kw 1Dsr2GnTeovirdaQDP6rOmYVZGwEelsiMzBIIxBo+XU
Aq2c0Gi5eAlwL5RKrmrygtZdRYk2aY2vjG9s3k7p9hQ iICbsK3fq4tT+ik4Y1QFs2gm8b74HuOJKJNt6oTFJyw
-> kO[(ddID-grease qq^m ? -> ssh-ed25519 9/PCvA WJkJxSSNkVB6fwNfQ4GzCaNz4G/hmCItL3/pI6fnIDQ
JNVmowjDLasojkFmvRnZ7sxMi7/SpsSan0VXIj8qxqoBo5flLWhvD7mSblGHzegP PQHvay/PkTs29OG+n2/taElF3vZDnK0JQNrs70JcfNk
/degDQCvLlok9w6XDizZGN7nRAk -> ssh-ed25519 VQSaNw nR4FmyiSBDWssm3SBVnxzbONnLwaNnAZv8hUUR0IkHc
--- skSDFui7qsitmkHgiWfNf1zkXOfGM6wrL/RwgVpyoL4 ALIlf0eCDGcApxyU5Rg2SnvDyOUMvzX8SGdAZODLbJw
õqAW—xFBâΟܟ{ü(çI?ñZ ‡IXºc4îÅìþ; Ĥ×—}(I ˆ<C38B>!Ù¬ç|Œ ÃÑË  S„ -> =Zil-grease >62kQS y ?!b&||n Kf9
pEaW7kRzDq0EITVZzxNDb40BeNl8
--- YEvmK+6dMTyImZyFsbtEmxgF8prKBkgg7g2me/HKyD4
d2½šO¹ –Ø^Û$¬]¼8<>ÿåv3¹ƒ ´*F<1C>!LÓð½ÜÕ¨B<C2A8>qH±<48>µcÒÃ<C392>/&øLl!

View file

@ -1,29 +1,32 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 jIXfPA dBBF9o4SBTHNv495PFZa6dszbs9nEARwg0EfOlfFwhc -> ssh-ed25519 jIXfPA /sAsMjd8Hpn8Rcl5ElA42UKF7rEVyrqXRTLiIuPHKCE
GkqX8sjLqFHGm4UA+zyVRB7FGGgAxilFYHarEQB0YAk vPlHKxAdC9lsD4Khvd3NTc4AVGnBsoJunAmtZ0v7WAc
-> ssh-ed25519 QlRB9Q DEu91DA+qho3Zs3gSQbWH/hOKUfgP5Qd90+9ZzYs1So -> ssh-ed25519 QlRB9Q snCj4d7iC3RmZh+oWla2PmG+VFMAUpIlfC11rfu6Txc
aIw1ygo/e0tpqW2N27Fl8WRe362ronzqy52vSzD35Tc eswcGvMsAHrO6s8xTujLHMhDdhl2EEN9wYKQmr9qarw
-> ssh-ed25519 r+nK/Q JUurf12UYuJKvKusUh/GOJryFbA8lWaS8v+/pRb0kys -> ssh-ed25519 r+nK/Q HX54EpIo7qeg36dr9ylTbz/486Q6h5OEY7wODYmCuiQ
VsgsBSwjBXTD+tmP3jxCPVeDY7AHVFx5o57y+ubEjts 8wBRjVjoYzQECtYXNxQCQBl5NDCD+EzS51NGURh7LXE
-> ssh-rsa krWCLQ -> ssh-rsa krWCLQ
o08ZnFZIj37p5hpWgl8FXwPwHKjoBD7Z0UxMRsF4CUF0sLOpwVHD4L57hAA8a80S zsjUt9wlEgn6nOtc9pAAao9AxFY1h5hZub9OL+sBzY1T7fjbxfymPYCJnKArZWXI
063e48OJ5OsrtueqqJwPT+wjXfmEarLUqC+rP0X+JDW8OLwSImBcYC5DQJZLUFSK UyDV0aS0O4ayyvzogfodw+9i/k2uK/c9uFczjiDVq4XyW3NqYJ1uHoOrBAzYbDnn
doF8S8Bo0MbuB4eKnXUAJlhdZOk/iqYK8TYuuSIwWQxHwF/fT43hrYIkj6lmqdmG MCFDJ7LZBR5j5lwAPw6UYkptyQs1aCtx4jk/vQsubMqDjcid/ZUfCXN/UNuLYHO9
IqSXA04KpQFoL15INIAtsnj5xXJlI0gCPp0pxMNUmVyTTrNLfaEiKH191D+Elmjd R/uzH9VYTGYtRNjBZLxcmT/kkZz1O0ENFEluRJ1xMpuutnMGbw/m9DgnFsT2vDrw
xcdvMX1yzIPI/mI/+/OjeYspijY0XpRHLJ9ljfEK7E2N8IgpyzBx2BzxYhRHoQmi MMlwS2uBd0YfDEQWXxVICo6kaz0Oo3S9JIMd/aY6cTqoqhgA5q22ul03vsBHu1Ye
6SbZu9Tirw+yv5wv8oIaHA tnLHV7zQjaIHQhI3PfuiMw
-> ssh-ed25519 /vwQcQ M6QID8DMaFMnF97UWwbSYJ7Sh0wvj/fq7cszu82/oHI -> ssh-ed25519 /vwQcQ uGQxrfprG+sBQES8UpdeIMeL3vKYll9llqWEY1T0lUQ
T+aT4NCbVfGXnvPK7w8fbojAwDTE41h40q0tDwnGyhE 0fSe/cbnnoEu8iQ/VYAw899YojJxU2+zA4JyHVQ36bI
-> ssh-ed25519 0R97PA XyZvyy80nv2tGe1fBzM0LeiIAGuyV22CzBoCPFMMrw8 -> ssh-ed25519 0R97PA 0GC9S/8syAeTnaKtF+DoLf4gFJwbGYpizosba/2dMEM
9VPiRV3GCWbH1So5LBrjBeRzEtErPM7BwOF/zaD/yGk STbpLqqGCkmAoKJTnkthK1EAqG0N717lg5G8Qgk7jzI
-> ssh-ed25519 JGx7Ng OPlQBKO+Wub+PPMNPoRGWTeSZfGF3kYCD8HLbLbPR0k -> ssh-ed25519 JGx7Ng vi4vnBSi02B9zeg63FAQ12HVv1NmZ50wuVkwmbDOyGM
ZhBUT5ig0FnLCau+da9bfEkVjFxfZXG0mXW1o0yZ+JQ QI6esTxJ9YxtwBDzdYOOZB4JeoYZZ5fS0kAd3Pcgk/M
-> ssh-ed25519 bUjjig T5/dZtIRaXmNg8pajSAM76cVANM7MvQ7f32fz2fEqx0 -> ssh-ed25519 bUjjig vLtnNj1ExEEfsv8C6ivK03cVRpWP3Pw8ebygt+/45gY
+6kRffMJX+8QAOf5jA5acGihgw4q8yJda0EzVGePD+I Nhw5uszBnkLyz5Q7a4TfnCEkbLxDA26OE6TamfcB98o
-> ssh-ed25519 VQSaNw InflFPtAwYwQFWqd+KK+ILwMa0XTNkVB+xEMtUXW8Us -> ssh-ed25519 ZIo4kw 5fHM1qlVrjF+E3ezAPIizL9Ht+xCc6hLC4Ee2MBlfQM
XZ6LVMCpvq+QBo0EHAlnC8uBhQssixTLVCpul6ov4Dk 4WZSV8fhoxK0m0C1i7CbjCYjkPPgo57gy6PwFYLoFBI
-> YKmn+c&-grease EA5d$ ="1d }cP -> ssh-ed25519 9/PCvA HfRZ1fQvl+tJTnX+bH3Ki+lF6hccw2+ol/zsaE5pYAQ
3u46NE2SdfO9ugNN/41PeU/65CRgmDiO54B9ZQLNRQtVyyLlcmvaYHCQach+s+Rs lUUBEdIje0/PFXqm5jlyXXioRrCr8kdQ5w8zsCedCbs
tE0Gc8MD23hPw5ZhWj0nq7xF8VHtRQSTLQ -> ssh-ed25519 VQSaNw 4U6vBdSxE0h4su9DLfY+gTSHufnW4HfYEXdxXecMIAg
--- UkbfAVgnLkeg6Zdb3bsdPtx9Wh6HOjdB+qmTvrAWFuE hohBOA/IF1UfDmi//k7lrbffKqqaLk6zpktelo5oxqk
5_E¼ñ/e)±žÑÊC×ÈY<C388>wPŽöTášt6>l_0:[èP»ÎH5·¼j—<6A> ¸â=vèFýÉIÄ4¹ÿÏD쪘ýp£§ -> _adQ-grease :-ic1W tkUM 3e
UYm65BMlSUw
--- 8yZM8IYR6VDhkXkWksoxd+zHm/BW+Kq0CqMUGxGP+v4
¡¹ºv©U&`‘ÄÕƒ(Øér â<±û`[9¶^¨™ýym˜(¦ÞÑùbiÂâÈ µÑ*)R}5ÂË3<C38B>«xžøó™¿$<>H9-ƒ9O

View file

@ -55,7 +55,7 @@ let
# Temporary redirection for the BDS # Temporary redirection for the BDS
# FIXME: finish the django apps module # FIXME: finish the django apps module
"gestiobds.dj" = "cof.ens.fr."; "gestiobds.dj" = "gestiobds.webapps";
}; };
hosted = fuseAttrs ( hosted = fuseAttrs (
@ -152,6 +152,8 @@ let
"cas-eleves" # CAS server "cas-eleves" # CAS server
"chat" # Mattermost "chat" # Mattermost
"vote" # Kadenios "vote" # Kadenios
"web02.dj-hooks"
]; ];
web03.dual = [ web03.dual = [

View file

@ -39,6 +39,7 @@ let
compute01 = "*-*-* *:38:00"; compute01 = "*-*-* *:38:00";
storage01 = "*-*-* *:21:00"; storage01 = "*-*-* *:21:00";
web01 = "*-*-* *:47:00"; web01 = "*-*-* *:47:00";
web02 = "*-*-* *:24:00";
web03 = "*-*-* *:13:00"; web03 = "*-*-* *:13:00";
}; };

View file

@ -2,11 +2,10 @@
# #
# SPDX-License-Identifier: EUPL-1.2 # SPDX-License-Identifier: EUPL-1.2
(import ../../../../keys.nix).mkSecrets (import ../../../../keys.nix).mkRootSecrets [
[ ] "compute01.key"
[ "storage01.key"
"compute01.key" "web01.key"
"storage01.key" "web02.key"
"web01.key" "web03.key"
"web03.key" ]
]

View file

@ -0,0 +1,28 @@
age-encryption.org/v1
-> ssh-ed25519 jIXfPA qaesYQqsDj6Ge1W2i9ybqYhJBlv2aK+fcEyYHZxIsFY
A1eY+mjxvegSggMoA2SGGMClZgGjJoXtS5hE2dWcFcY
-> ssh-ed25519 QlRB9Q BeT/ig3ncj89SmQzxqA6DZK331rY4nbV57I21PqhUGg
77F6y4dmTLCYgQISZ+hnNbEMLw20nTlfRsMeAstNKkY
-> ssh-ed25519 r+nK/Q u2UBdCaBhXHqiz1ILFoxMejypZ/1seeYMnK3GZV4fmE
F0r4s+GE7k+lNyTyOQQJF3tQcucSWIafMx9VYtffn9E
-> ssh-rsa krWCLQ
NKJOxCuoVAqDKel1DFMk3rYMdHUcnCjggORnbEO2TpG8O5oJba1NgSaggpnjPmYm
ldlH+egg++pHyB4hYgjEhHoIe3yVu/1Z564rdqDfVo9k4x8+OeAM0ot7ZpUVh837
DVXozkoGy5axomm9vRrr1iTty/NpPV1aw0AAiS2ZH9WR5k1llkvjioPBUHYAyG3z
jBwLnwZxPCtoV88KB8p1a7NFjhl0RLnKfwEHYXlne5wqNrY/LxUzyhnoMLNCQKMr
CNhbSFAUugIpEeNb080Ints0uoyobNIg51CTwC1bHiZc4IeRsSrLCKf8gYJS56C+
Plm2VT6OfnqnBOTkEj01GA
-> ssh-ed25519 /vwQcQ vJcgz/8/7obl6MC0+JqK13wPSemboL8Ira6HmEWUrXs
frPre2spFABGvhWw1mEicQ7lSOtFNGgtbPAQRslatYM
-> ssh-ed25519 0R97PA TLAeNtje+bRkMwfXKAe577YqqO5cJPsssmfzaJyFwRQ
aCK/T9fzqVmUw3mjg74E21en+ou7ejBA/YP3ZlA+PFI
-> ssh-ed25519 JGx7Ng GyUFqicloCYpZkob7q3ZEF7lDqV8Ba6l1hWVMbnpxjE
ZmhxO+CJkOojI7xJVlrtxBr4JcfFj3aUoebUsCFfN3Y
-> ssh-ed25519 bUjjig eIHvVkqVZlgv436Ngmb0hHoiWpVbcyIrGebAAk3h5CA
OTldbCB5FHH+h1kJ2E0yW3cH7ewj8x7Zaj3vgxtmyKs
-> YgdS1!-grease f3Y= A16Y4nx #KU[cj
zFjgcHxRy1VF4b1126NNnXdPoWzs+NGSTAKhBuHDANyQdLzKkyMsp3bTi/+VcdXJ
90mGF6TsW/cp5m7WPVH1FTdw9YuESm0dPZseB8FgJuu8aD8TniO+
--- 2bqNg8bNpi8mkW3J7fUdQ9GvlCO4CM1Uyn+WctT4FTg
*Ž<E28098>X[u8 $ò ¡uÎÚ­[rÈV¼Âæ´Ã»:?æ«‘Ÿ*¹ïó>Ýî‡]ƱïÒµ…ƒ,µ¸ ù¾¬€<C2AC>5éÄN„ò*˜.ŠwtRZX—²AIòqÊÝåÒMK;é^K‰ S_Ás2ÕéVµ®`çrjZ2¾ÑÝ­³}<07>uh¯AÙ?±ü§K;ÂO#†žý&§ÈÊḄ- &HÈè ,O6“º MÛ8úÆ0>þc±üìÉ<C3AC>ú%äèX¨SÏûæ×Ýp<E280BA>­î€$'yj¸ÌìÏ·”ÒKî´ôÖ ¢þ$ùsÛå0\Ê)Ë­<C38B>³oöÑDB±™Ëgßw¸ÒóÆÙÑ<C399>§l60%?32
è&eZá˜z®õ@÷Ýðµªp§Ä|s;uјîoRù½  hƒôå»ÐÃç<C383>ÄzF<7A>ûÝÉ A¬"­ <®£Þ.1ôÏÃÉVÞ<>"MFúm<6D> «n0£ÌfƒÖnW7í"œÎlyp@ᦠÙI8X´5üSAJ‡ÍK6Ã^\¢hªósP¬Njsí舳Õ_öÒCÍ´ÐZºe ᄇbWâI°i¸ð_½ÅhÓ%B‡¯Mw¯mî†Taãy͘T³&0'÷j@â8,ÍœÞõɧ4Z+0tžj°KüÞ¿W<Tw,<2C>´]]r48½¼SÚ©„qŠãž<C3A3>G~,Oež—ŒLÇÑ<C387>sŒ¿z<C2BF> P“õ5¤ñl`Z}xP©žAøÉE“ž<E2809C>¥ÙfW„Ž|2°Xé };™">ëß>ã› ÐüáÒÃë?TìA%ždêó¥ãÈ”€RÓ'<27>©¦•ý2jäjóü$uì æZ¥Ž°Ù6e¸â:ZµZæ•¡)~à?>¯²['gêQÔ;}1Éa`FJ¢d­ØŸ-÷g«ž6~ÿ¨YtSÁþ/‰úÖX<e4·-´ãZ':žç@Gõz;ºÁÝÔmú‡,¾ýFÛ0jµ)ÒĂÎá’ô•Ÿ:vÀÊ~:÷1¦9ˆÓÍGÄ°L‰\©<><C2A9>[ÿÉ_>#UDžO sN½ƒq¦œ ÙJLŠŽ¨n½±•‡zòâxøZùšêñ'5mz$9

View file

@ -324,6 +324,15 @@ in
''; '';
}; };
timers = mkOption {
type = attrs;
default = { };
description = ''
Extra oneshot services to run in parallel of the application.
Be aware that `startAt` should be included.
'';
};
manageScript = mkOption { manageScript = mkOption {
type = package; type = package;
default = pkgs.writeShellApplication { default = pkgs.writeShellApplication {
@ -683,6 +692,19 @@ in
name name
email email
]) ({ "Admins DGNum" = "admins+dj-${name}@dgnum.eu"; } // config.admins); ]) ({ "Admins DGNum" = "admins+dj-${name}@dgnum.eu"; } // config.admins);
LOGGING = {
version = 1;
disable_existing_loggers = false;
handlers = {
console = {
class = "logging.StreamHandler";
};
};
root = {
handlers = [ "console" ];
level = "WARNING";
};
};
}) })
// { // {
DJANGO_SETTINGS_MODULE = config.application.settingsModule; DJANGO_SETTINGS_MODULE = config.application.settingsModule;
@ -805,6 +827,27 @@ in
} serviceContent } serviceContent
) )
) config.extraServices) ) config.extraServices)
// (mapAttrs' (
serviceName: serviceContent:
nameValuePair "dj-${name}_${serviceName}" (
recursiveUpdate {
inherit after environment path;
serviceConfig = {
inherit
Group
LoadCredential
StateDirectory
UMask
User
;
WorkingDirectory = "/var/lib/django-apps/${name}/source";
DynamicUser = true;
};
} serviceContent
)
) config.timers)
) cfg.sites); ) cfg.sites);
}; };

View file

@ -236,10 +236,10 @@
"pre_releases": false, "pre_releases": false,
"version_upper_bound": null, "version_upper_bound": null,
"release_prefix": null, "release_prefix": null,
"version": "v0.5.0", "version": "v0.4.2",
"revision": "24c8d9c10683548d481fcd3be5c987fc13254744", "revision": "6cf7970c0916cc3c05b5289d28ec89b4e35b6e5b",
"url": null, "url": null,
"hash": "1vv5vnhs9yixh6lav8337a2xhki9wgk4d693gdasvf116rq4jarl" "hash": "0y9z1l1b6g1nj7l3xypbs1fnlad31ny7n8v23n35hd6nbwyslikf"
}, },
"nix-modules": { "nix-modules": {
"type": "Git", "type": "Git",