Compare commits

...
25 Commits
Author SHA1 Message Date
RoyDumblauskas af3a94cfc0 add ssh 2026-09-15 23:14:19 -05:00
RoyDumblauskas 2e9fe6b7e6 not using list to attrs 2026-09-15 22:48:15 -05:00
RoyDumblauskas f3cd65ee50 add vm output path 2026-09-15 22:46:31 -05:00
RoyDumblauskas 8c1567b57c flake lock 2026-09-15 22:38:25 -05:00
RoyDumblauskas bd89d462b6 correct path 2026-09-15 22:38:10 -05:00
RoyDumblauskas 74ffdf731c add some vm configs 2026-09-15 22:36:17 -05:00
RoyDumblauskas f65ceb083f add some vm configs 2026-09-15 22:35:50 -05:00
RoyDumblauskas cbdb3f0ad7 prod acme 2026-09-14 01:23:45 -05:00
RoyDumblauskas cf60615046 update quasi secret input 2026-09-12 19:35:14 -05:00
RoyDumblauskas dc131438f5 depend on roypository repo, not github 2026-09-12 19:31:21 -05:00
RoyDumblauskas e04bab6cbb persist acme 2026-09-12 19:04:41 -05:00
RoyDumblauskas d41e3849a9 use colons 2026-09-12 18:47:10 -05:00
RoyDumblauskas 09cb8857cc add more declarative gitea config 2026-09-12 18:44:54 -05:00
RoyDumblauskas 8c878df0d8 remove fixed secret key 2026-09-12 18:10:46 -05:00
RoyDumblauskas 4ecd8fbd67 add fixed secret key 2026-09-12 18:10:25 -05:00
RoyDumblauskas fb5c117ae4 fix persistent mount path 2026-09-12 17:58:19 -05:00
RoyDumblauskas dfe4c52590 add install lock 2026-09-12 17:29:27 -05:00
RoyDumblauskas 98c94994d9 add install lock 2026-09-12 17:23:43 -05:00
RoyDumblauskas e331e3275c final gitea to persist 2026-09-12 17:03:10 -05:00
RoyDumblauskas d663d0557a update secrets 2026-09-12 16:53:55 -05:00
RoyDumblauskas 3869be82a6 update gitea to be private 2026-09-12 16:43:53 -05:00
RoyDumblauskas 3f05c14747 udpate psql script 2026-09-12 16:09:34 -05:00
RoyDumblauskas 9d0bc48fd4 gitea details 2026-09-12 16:07:52 -05:00
RoyDumblauskas 0f80aa57ce update mask ref 2026-09-12 15:06:16 -05:00
RoyDumblauskas c6ac6b0a56 update flakes 2026-09-12 15:03:42 -05:00
14 changed files with 205 additions and 149 deletions
+4 -2
View File
@@ -64,11 +64,13 @@
echo "Generating templated files"
gomplate=${pkgs.gomplate}/bin/gomplate
printf '%s' "${opts.database-hostname}" | $gomplate \
printf '{"db_hostname":"%s","web_hostname":"%s"}' \
"${opts.database-hostname}" \
"${opts.default-nginx.hostname}" | $gomplate \
--input-dir=${k3sDir} \
--output-dir=$kubernetes_config \
--datasource credentials=file://${opts.credentialsFile}?type=application/x-env \
--datasource dbhostname=stdin:
--datasource config=stdin:?type=application/json
echo "Applying k3s config"
kubectl=${pkgs.kubectl}/bin/kubectl
+17 -2
View File
@@ -35,7 +35,7 @@ spec:
value: postgres
- name: GITEA__database__HOST
value: '{{ (datasource "dbhostname") }}'
value: '{{ (datasource "config").db_hostname }}'
- name: GITEA__database__NAME
value: '{{ (datasource "credentials").GITEA_DB_NAME }}'
@@ -52,9 +52,24 @@ spec:
- name: GITEA__server__SSH_PORT
value: "30222"
- name: GITEA__server__DOMAIN
value: '{{ (datasource "config").web_hostname }}'
- name: GITEA__server__SSH_DOMAIN
value: '{{ (datasource "config").web_hostname }}'
- name: GITEA__server__ROOT_URL
value: 'https://{{ (datasource "config").web_hostname }}/'
- name: GITEA__repository__MAX_CREATION_LIMIT
value: "0"
- name: GITEA__security__INSTALL_LOCK
value: "true"
volumeMounts:
- name: gitea-data
mountPath: /var/lib/gitea
mountPath: /data
volumes:
- name: gitea-data
+35 -4
View File
@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1788405554,
"narHash": "sha256-r2f1oUwixlgq9zOdYLqJLfS/lWBT60/IITjhTKI59JU=",
"lastModified": 1789344334,
"narHash": "sha256-vdhpDJ3Lr24lkZ+fDCjmBRRtw9/vcSzkqGJOJyF5h2U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a5cc6f2c37bf518436dc8d1c288ccd0c43c2f4c4",
"rev": "c3eea5b2156db11c7eeeada3dc737711255b253e",
"type": "github"
},
"original": {
@@ -16,9 +16,40 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1789114715,
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"postgresql-db": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"path": "../postgresql-db",
"type": "path"
},
"original": {
"path": "../postgresql-db",
"type": "path"
},
"parent": []
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"postgresql-db": "postgresql-db"
}
}
},
+17 -1
View File
@@ -3,11 +3,27 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
postgresql-db.url = "path:../postgresql-db";
};
outputs =
{ ... }:
{
self,
nixpkgs,
postgresql-db,
}@inputs:
{
nixosConfigurations = {
virtual-env = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./virtual.nix
postgresql-db.nixosModules.postgresql-db
# declare the vm output
"${inputs.nixpkgs}/nixos/modules/virtualisation/incus-virtual-machine.nix"
];
};
};
};
}
@@ -0,0 +1 @@
PSQL_TEST_PASSWORD=password1234
+54
View File
@@ -0,0 +1,54 @@
{
config,
pkgs,
meta,
...
}:
{
# Allow login and remote control of VM
users.users.admin = {
isNormalUser = true;
extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFEQyjykrRpkgMFpNAR2G1rbofqbtcuLwIYzgqH85QCn roydumblauskas@gmail.com"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPERQEHVwrtsWOpu1BgT7b1WNe4ShCy4bXWoGWvYENBw roydumblauskas@gmail.com"
];
};
# ================================ #
# K3S SERVICE #
# ================================ #
services.k3s = {
enable = true;
disable = [ "traefik" ];
role = "server";
# only enable the service on k3s when roughly finalized
# Until then use a vm, as k3s is persisted
extraFlags = [
"--data-dir=/var/lib/rancher/k3s"
"--cluster-cidr=10.42.0.0/20"
];
};
# ================================ #
# PSQL SERVICE #
# ================================ #
# Postgresql/postgrest for row storage (not on k3s)
services.postgresql-db = {
enable = true;
dataDir = "/var/lib/postgresql";
port = 5432;
credentialsFile = ./secrets/ex-psql.yaml;
databases = [
"test"
];
ipMasks = [
"10.42.0.0/20" # k3s pod mask
];
};
}
+3 -3
View File
@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1787525875,
"narHash": "sha256-sKbMlkDCBVmAjUVT94LwhVtET/YEMtZaFdn5UduWxz8=",
"lastModified": 1789114715,
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a3b98866eecd08edac6e61a3081e69540a35020f",
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
"type": "github"
},
"original": {
+4 -7
View File
@@ -90,19 +90,17 @@
# Prod can be connected via local machine and declared masks
${lib.concatStringsSep "" (
map (db: "host ${db} ${db}_produser 127.0.0.1/32 scram-sha-256\n") opts.databases
map (db: "host ${db} ${db}_user 127.0.0.1/32 scram-sha-256\n") opts.databases
)}
${lib.concatStringsSep "" (
map (db: "host ${db} ${db}_produser ::1/128 scram-sha-256\n") opts.databases
map (db: "host ${db} ${db}_user ::1/128 scram-sha-256\n") opts.databases
)}
# configurable list of subnets allowed to connect (for example k3s pods subnet)
# will allow connection to all declared ips. fine for now
${lib.concatStringsSep "" (
map (
db:
lib.concatStringsSep "" (
map (mask: "host ${db} ${db}_produser ${opts.ipMasks} scram-sha-256\n") opts.ipMasks
)
lib.concatStringsSep "" (map (mask: "host ${db} ${db}_user ${mask} scram-sha-256\n") opts.ipMasks)
) opts.databases
)}
'';
@@ -129,9 +127,8 @@
db_upper="''${db^^}"
pass_var="PSQL_''${db_upper}_PASSWORD"
dev_pass_var="PSQL_''${db_upper}_DEV_PASSWORD"
user_val="$db"_produser
user_val="$db"_user
pass_val=$(eval "echo \''${$pass_var:-}")
if [ -z "$pass_val" ]; then
+26 -86
View File
@@ -67,9 +67,9 @@
acceptTerms = true;
defaults = {
# use staging for testing
server = "https://acme-staging-v02.api.letsencrypt.org/directory";
# server = "https://acme-staging-v02.api.letsencrypt.org/directory";
# use prod for deploy
# server = "https://acme-v02.api.letsencrypt.org/directory";
server = "https://acme-v02.api.letsencrypt.org/directory";
email = "roydumblauskas@gmail.com";
dnsProvider = "cloudflare";
# When the service CHECKS to see if certs are near expiry (< 30 days)
@@ -110,15 +110,14 @@
disable = [ "traefik" ];
role = "server";
# only enable the service on k3s when roughly finalized
# Until then use a vm, as k3s is persisted
extraFlags = [
"--data-dir=/var/lib/rancher/k3s"
"--cluster-cidr 10.42.0.0/20" # allow this subnet to connect to psql
"--data-dir=/persist/var/lib/rancher/k3s"
"--cluster-cidr=10.42.0.0/20"
];
};
# ================================ #
# END K3S SERVICE #
# ================================ #
# ================================ #
# GITEA SERVICE #
# ================================ #
@@ -134,61 +133,30 @@
};
};
# ================================ #
# GITEA SERVICE #
# ================================ #
# ================================ #
# BLOG SERVICE #
# ================================ #
# Fullstack sourcecode
# fullstack code. Dev hosted via VMs (incus)
/*
MINIO DEPRECATED
services.minio-service = {
enable = true;
# Persist (or don't) the data inside of database
dataDir = "/var/data/minio";
credentialsFile = config.sops.secrets."minio-credentials".path;
dataPort = 9000; # S3 API access
consolePort = 9001; # Admin console access
bootstrap-minio = {
enable = true;
environments = [
"dev"
"prod"
];
};
default-nginx = {
enable = true;
hostname = "imgs.roypository.com";
};
};
*/
# ================================ #
# PSQL SERVICE #
# ================================ #
# Postgresql/postgrest for row storage (not on k3s)
services.postgresql-db = {
enable = true;
dataDir = "/var/lib/postgresql";
dataDir = "/persist/var/lib/postgresql";
port = 5432;
credentialsFile = config.sops.secrets."postgresql-credentials".path;
databases = [
"rdblog"
"gitea"
];
ipMasks = [
"10.42.0.0/20" # k3s cluster mask
"10.42.0.0/20" # k3s pod mask
];
};
# ================================ #
# END BLOG SERVICE #
# ================================ #
# ================================ #
# MINECRAFT #
# ================================ #
@@ -198,10 +166,6 @@
storeDir = "/persist/srv/minecraft";
};
# ================================ #
# END MINECRAFT #
# ================================ #
# Grub Boot Loader Setup
boot.loader.grub = {
enable = true;
@@ -238,6 +202,10 @@
};
};
# Setup Incus daemon on boot
# Init with `incus admin init --minimal`
virtualisation.incus.enable = true;
networking = {
hostName = meta.hostname;
hostId = meta.hostId;
@@ -246,6 +214,7 @@
"1.1.1.1"
"1.0.0.1"
];
nftables.enable = true;
firewall = {
enable = true;
@@ -255,6 +224,9 @@
443
6443 # k3s
];
# Trust all incusVMs (on this network interface)
trustedInterfaces = [ "incusbr0" ];
};
interfaces.eth0.ipv4.addresses = [
@@ -268,40 +240,16 @@
# Set your time zone.
time.timeZone = "America/Chicago";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
# i18n.defaultLocale = "en_US.UTF-8";
# console = {
# font = "Lat2-Terminus16";
# keyMap = "us";
# useXkbConfig = true; # use xkb.options in tty.
# };
# Enable the X11 windowing system.
# services.xserver.enable = true;
# Configure keymap in X11
# services.xserver.xkb.layout = "us";
# services.xserver.xkb.options = "eurosign:e,caps:escape";
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound.
# hardware.pulseaudio.enable = true;
# OR
# services.pipewire = {
# enable = true;
# pulse.enable = true;
# };
# Define a user account. Don't forget to set a password with passwd.
users.users.roy = {
isNormalUser = true;
extraGroups = [ "wheel" ];
extraGroups = [
"wheel"
"incus-admin"
];
hashedPassword = "$y$j9T$qHYfvijvytC69cjEWTHYA/$YF6ig1hNvkTQi0UffZP1dpilS.8O28qEY4bfdvRTXYA";
# laptop and desktop
openssh.authorizedKeys.keys = [
@@ -325,11 +273,11 @@
"/root/.ssh"
"/var/lib/nixos"
"/var/db/sudo/lectured"
"/var/lib/acme"
];
};
# List packages installed in system profile. To search, run:
# $ nix search wget
# List packages installed in system profile
environment.systemPackages = with pkgs; [
curl
kitty
@@ -358,14 +306,6 @@
EDITOR = "nvim";
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
services.openssh = {
enable = true;
+36 -36
View File
@@ -28,11 +28,11 @@
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1788408179,
"narHash": "sha256-c9H5yvtmigYSyu/+FlctcQ1W8LV5y7g2aumHNovywp4=",
"lastModified": 1789185767,
"narHash": "sha256-jaWL9beN3ifjNzNEBxo0abA+TSi0n7Q8LRQvZTxEqaM=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "ba178ebb105382ab382ab497ca5a977a2fbe3cfd",
"rev": "811170bb74b11f3b9489618ce77487cc58c79067",
"type": "gitlab"
},
"original": {
@@ -66,11 +66,11 @@
]
},
"locked": {
"lastModified": 1785627969,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
"lastModified": 1788450739,
"narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
"rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993",
"type": "github"
},
"original": {
@@ -100,11 +100,11 @@
]
},
"locked": {
"lastModified": 1787377438,
"narHash": "sha256-Sxu1NLTD/Ern6hFGLlZmtKCSct3YQXZI/lls8RE1XeM=",
"lastModified": 1789182507,
"narHash": "sha256-9nt4W0HNNP84B+b37yRs9Zxat1ZR5guJxEZDEjAgex4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "65258d5c65a250189fde2e35f490d15e064c4c62",
"rev": "b1d1b60084970f9d1e2b72662639dab6d039be71",
"type": "github"
},
"original": {
@@ -284,6 +284,22 @@
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1789114715,
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1788405554,
"narHash": "sha256-r2f1oUwixlgq9zOdYLqJLfS/lWBT60/IITjhTKI59JU=",
@@ -299,29 +315,13 @@
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1787204541,
"narHash": "sha256-OURZPknrTjQrlNyxPdqzyqmU/81Wes1CUP/Ft1Rv/YI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5880666fd9eb563038431edb35c2d0aa595884e6",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1787525875,
"narHash": "sha256-sKbMlkDCBVmAjUVT94LwhVtET/YEMtZaFdn5UduWxz8=",
"lastModified": 1789114715,
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a3b98866eecd08edac6e61a3081e69540a35020f",
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
"type": "github"
},
"original": {
@@ -338,11 +338,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1787536726,
"narHash": "sha256-aBh5Yk9tX8ZV4k10BJr2fvTq0/+iWGegaCMUOU7YKas=",
"lastModified": 1788623321,
"narHash": "sha256-i8v07Plhfpx/nVFMvnMSC6P05RQ43mbLQsS5grni4Vk=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "e2c3f9f36326d07340626847543c557e2b95fb50",
"rev": "68c2edd2787f055d9c306bcfe726f3b8f11b9441",
"type": "github"
},
"original": {
@@ -374,12 +374,12 @@
"rev": "2ffdd630adbbe2004366b2d90ef29f62e7f670ca",
"shallow": true,
"type": "git",
"url": "ssh://git@github.com/RoyDumblauskas/server-semi-secrets"
"url": "ssh://git@roypository.com:30222/RoyDumblauskas/server-semi-secrets"
},
"original": {
"shallow": true,
"type": "git",
"url": "ssh://git@github.com/RoyDumblauskas/server-semi-secrets"
"url": "ssh://git@roypository.com:30222/RoyDumblauskas/server-semi-secrets"
}
},
"root": {
@@ -405,11 +405,11 @@
]
},
"locked": {
"lastModified": 1788337237,
"narHash": "sha256-gkSH8VUtCo6hnysNmb9DbTuDepH2t5pv+QWjP75xKAk=",
"lastModified": 1788914643,
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "fbf759290e0cb0a98dfc813a4eb7d53ad1dacb57",
"rev": "13616fff713a9f94055c66f15687ebdc17a335df",
"type": "github"
},
"original": {
+1 -1
View File
@@ -4,7 +4,7 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
nixvim.url = "github:nix-community/nixvim/nixos-26.05";
quasiSecrets.url = "git+ssh://git@github.com/RoyDumblauskas/server-semi-secrets?shallow=1";
quasiSecrets.url = "git+ssh://git@roypository.com:30222/RoyDumblauskas/server-semi-secrets?shallow=1";
home-manager = {
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
+1 -1
View File
@@ -10,7 +10,7 @@
gpr = "git pull --rebase";
gl = "git log";
shypr = "start-hyprland";
nixrb = "sudo nixos-rebuild switch --flake";
nixrb = "sudo nixos-rebuild switch --flake .#$hostname";
};
functions = {
+3 -3
View File
@@ -1,4 +1,4 @@
credentials: ENC[AES256_GCM,data:3F9YE18X4zRqppoVSnoiwBJPNuxbB6hlntXIiNV8yWhomVP6TRwhadSC3J3t/rqzD6TdbnweInDlU9U9JtfDM6H+MTXd5eVynG/aR4c=,iv:yjm4TU8AqcpY2mn+cl1/Ya9e5FHWsUVAkcyvmFxaLVU=,tag:lx/ACG2g0H/eoiJ6AVEbjQ==,type:str]
credentials: ENC[AES256_GCM,data:cl7lN8VFcGid6N0I9if2rnHXxfzcSpi9WuDOgr8Zw3YcMObU0Vu9F+FxnNNJ6/ISCWHsYCJg9dOqQwBmWwHNz7rsglL1+M51UynrjOhqGex3OCocvPkWTHk/QBxjum3rn3dZ2p40Zl0ZLmi8JO+2qBa62nwqqQGtsAfI2M2FjEPGMSqaDwv9zsGdiyfz/GEoel+mBCoe4simf3KZFmAcGs3Rwqj1YtuQy/x6+txK2lur+4Fp6Pj0VV7UQ0AXlvkn8z5EO+aieK+1PKOqSeV66rs/a8q2x05hEmOtaneGnc176B0iIweE+dQLr3GMfp4LeTQaUE2xyjjHgjGpKQhHxHf75icJDtOU/1KsNruOpYS2Bkp3/kv3tx1XUMt+dS4TWXq4FWCQ41B+NDjFAiFGJgKTCbD0kebOnhNYsg==,iv:4UkxIypVzO1lBTgWLcOjkfHy323K3sbmyu+kW4kAvxk=,tag:6hspoY9AJhe3//vgyC/HCQ==,type:str]
sops:
age:
- enc: |
@@ -37,7 +37,7 @@ sops:
o+m9XdwX6u7OaazWx7J9tWOS+O1sJoNGMpAj/K5N6OjoNGT4Lu8t+w==
-----END AGE ENCRYPTED FILE-----
recipient: age1hzaf8j6djfc4yc98m3kqjzzdj4tcskf9kdzvjmje2xuqcfmrz5lqdtn5w7
lastmodified: "2026-09-12T19:58:39Z"
mac: ENC[AES256_GCM,data:nWWObv95W+Ewp49Ygqrsat3yFlY15d8jcmjZusk8gCb1ollX8ulifP/SCt8GTOTQootbXpKxJc+BqBYcdR46gxMZert0ok2o9B7ks5zI7a0pH54mLDclN1ONmAyHRC0IqSfe7XSn70dgjLchjpCSjeTaylzidwBAUfKbkZtzjG8=,iv:jLqbj1XJaZNPKDNRUafxAexHeKQh9GqEeaIr+vzqGCc=,tag:QBir2cmH8M0zSjpAkQrHwQ==,type:str]
lastmodified: "2026-09-12T21:53:45Z"
mac: ENC[AES256_GCM,data:CWlbmhzYuTFTvC6hczXOqPQ7gFaKU0hwxx1/5w5IoESlJQwoKYWI55ZpXgT2Ynx26BZU3l+v04ytB23SkBhaY3w6Cs2AP4O7RNyTXc4Q9xkaq2qrLNRvIIsotAVhKULd0NRFkG0E8Urcf8ciK5iPbKhaovbGEQRtfB+EJFC6KNM=,iv:4ta099T9Fn7WcfCdaXYzZ94b5B1imnWxlJ/je9kI69w=,tag:sWytXiE10+3S/axircaApA==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3
+3 -3
View File
@@ -1,4 +1,4 @@
credentials: ENC[AES256_GCM,data:No2VCubcIimFbkhwnD4sGuaR5OehpxvOj5Ln7bXydTrn6RcgrgkmHYBHAMajcL13XHom4IY30fBpiNQ=,iv:0UMfuCJyuXkO1vBrH2d7UtV5qZJatdef8C8RskrlQ74=,tag:G7zcM1J1G53nH5O9X2PMoA==,type:str]
credentials: ENC[AES256_GCM,data:utwbvinGqNWCe0Pydl/afBw2T4VTnxhkRf9XApduUeNbReiiz6OkQhyB1rCUbqKCOlVu/ahJAwT2rT+HQRzjeFMWFUUbZpFG8q54u1uLHuNB1QsLXHwC7aZS6L9IdLUe5Tf+uzlT9047o5QgpZkNdsuQg43JWHxuA9nAjPR78R7q2eCNEsfEaoZmz34utabkKhWRGf9CpiDYYO2nLNXFFpSrRWk0nyU3CmqX9XROYphLwZw2obHs2EP6vUDK+1FsPa8Lza2TG7pF/NegSE9yMdnWmlzpj1f6B1+w5GLPweAPedTm6mRxsG8OfPLIwNrhfIP8XmsTQZ+JOsNq3boVaALgAacGd0ZOw7oB8/GsEjSEnkKETw==,iv:OsTSCYMoc6rMt+IqiKxZw9nWhXseA5wYHTUwgCqE9ZA=,tag:SWHAGuqkDYSuKxLb4oFf/A==,type:str]
sops:
age:
- enc: |
@@ -37,7 +37,7 @@ sops:
1WiDsujdVQkAp1WtBFc9KHexaEJ1DjKVOKsIIjj/YlmKz5P0S7Sm0w==
-----END AGE ENCRYPTED FILE-----
recipient: age1hzaf8j6djfc4yc98m3kqjzzdj4tcskf9kdzvjmje2xuqcfmrz5lqdtn5w7
lastmodified: "2026-09-12T19:58:55Z"
mac: ENC[AES256_GCM,data:zplquNejJ1M8dBYF7h2yPmHzO2gFDPr3VFCLEszJE/0LxBQmon0/IaOUrvbShIgkOh7eq06vrNSpp42/r37sv1Uoy4j/E0OLCtB8NYEsP5aW5joSKJZlzdQJUEbB38Zf7vM7FFNKBYeAtJflhbI/A3qyq7Xs4qTKWj8IJY4nx78=,iv:fQJfqsQcUVPB/Q6HxdG8gM1IDTvjQniIqDs+dFvGt7o=,tag:eTllYOsgCtCsQCBxr3pbpw==,type:str]
lastmodified: "2026-09-12T21:53:27Z"
mac: ENC[AES256_GCM,data:QRouK5Vp5NGC8n3nh4per1ytbbKkSXV+kpXByrkR3BmZ3mOymyeOX4XfGbZdTgkRc+16mlMLM1dwTvbeWj8XOt65xH8uMw8oW2cRs68qyrSDq6+Ai/bovf+szAR1gx+mLk7FdqzyuslnXHzpJFS6vLPFt29DBj1fQFWslew+SoY=,iv:D0qaTYdPNm2AmlXq6HnvbIpgCKTzvXOtrsA1C8gZ9P4=,tag:TAVTUr5inXbvrWUdJnlOkA==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3