diff --git a/.sops.yaml b/.sops.yaml index 32e904d..774d249 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -8,7 +8,7 @@ keys: - &git-server age106n5n3rrrss45eqqzz8pq90la3kqdtnw63uw0sfa2mahk5xpe30sxs5x58 - &web-01-server age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 - &web-02 age1gjm4c3swt8u88e36gf2qlg3syxfc0ly94u64c42f2tsf24npw4csa6e4fw - - &web-arm age136s4znrmkheztq6mps46dj5z4avy2umzz3the58fqtlsksvx5skq9ljqgk + - &web-arm age1ylrpaytkm0k5kcecsxvyv5xd9ts4md0uap48g6wsmj9pwm4lf5esffu0gw - &home-assistant-server age1ezq2j34qngky22enhnslx6hzh4ekwk8dtmn6c9us0uqxqpn7hgpsspjz58 - &ldap-server-test age1azmxsw5llmp2nnsv3yc2l8paelmq9rfepxd8jvmswgsmax0qyyxqdnsc7t - &testmodules age1zkzpnfeakyvg3fqtyay32sushjx2hqe28y6hs6ss7plemzqjqa5s6s5yu3 @@ -52,6 +52,7 @@ creation_rules: key_groups: - age: - *dominik + - *dominik2 - *web-arm - path_regex: hosts/mail.cloonar.com/[^/]+\.yaml$ key_groups: @@ -68,6 +69,7 @@ creation_rules: - *git-server - *web-01-server - *web-02 + - *web-arm - *home-assistant-server - *ldap-server-arm - *ldap-server-test @@ -92,25 +94,6 @@ creation_rules: - *dominik - *dominik2 - *web-01-server - - path_regex: hosts/mail.cloonar.com/modules/openldap/[^/]+\.yaml$ - key_groups: - - age: - - *dominik - - *dominik2 - - *ldap-server-arm - - *ldap-server-test - - path_regex: hosts/web-01.cloonar.com/modules/authelia/[^/]+\.yaml$ - key_groups: - - age: - - *dominik - - *dominik2 - - *web-01-server - - path_regex: hosts/web-01.cloonar.com/modules/nextcloud/[^/]+\.yaml$ - key_groups: - - age: - - *dominik - - *dominik2 - - *web-01-server - path_regex: utils/modules/promtail/[^/]+\.yaml$ key_groups: - age: @@ -118,6 +101,7 @@ creation_rules: - *dominik2 - *git-server - *web-01-server + - *web-arm - *home-assistant-server - *ldap-server-arm - *ldap-server-test @@ -131,6 +115,7 @@ creation_rules: - *dominik2 - *git-server - *web-01-server + - *web-arm - *home-assistant-server - *ldap-server-arm - *ldap-server-test diff --git a/README.md b/README.md index 2774ddf..1d43ad3 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,10 @@ chmod 755 /var/www - run nix-shell -p netdata --run "netdata-claim.sh -id=$(uuidgen)" as root - your node should be registered in Netdata cloud +# Borg Backup +add ssh key to hetzner +cat ~/.ssh/id_rsa.pub | ssh -p23 u149513-subx@u149513-subx.your-backup.de install-ssh-key + # 4. Add new Host ```console sftp host.cloonar.com@git.cloonar.com:/config/bootstrap.sh ./ diff --git a/hosts/fw.cloonar.com/modules/dhcp4.nix b/hosts/fw.cloonar.com/modules/dhcp4.nix index 32aa302..9f10de6 100644 --- a/hosts/fw.cloonar.com/modules/dhcp4.nix +++ b/hosts/fw.cloonar.com/modules/dhcp4.nix @@ -47,6 +47,11 @@ } ]; reservations = [ + { + hw-address = "04:7c:16:d5:63:5e"; + ip-address = "10.42.96.5"; + server-hostname = "omada.cloonar.com"; + } ]; } { diff --git a/hosts/fw.cloonar.com/modules/firewall.nix b/hosts/fw.cloonar.com/modules/firewall.nix index b32c703..ec4da43 100644 --- a/hosts/fw.cloonar.com/modules/firewall.nix +++ b/hosts/fw.cloonar.com/modules/firewall.nix @@ -72,6 +72,9 @@ # enable flow offloading for better throughput # ip protocol { tcp, udp } flow offload @f + # broadcast + iifname "server" oifname { "lan", "multimedia" } udp dport { 9 } counter accept comment "wakeonlan" + # multimedia airplay iifname "multimedia" oifname { "lan" } counter accept iifname "multimedia" oifname "server" tcp dport { 1704, 1705 } counter accept @@ -89,9 +92,9 @@ # lan and vpn to any # TODO: disable wan when finished - iifname { "lan", "server", "vserver", "wg_cloonar" } oifname { "lan", "vb-*", "vm-*", "server", "vserver", "infrastructure", "multimedia", "smart", "wg_cloonar" } counter accept + iifname { "lan", "server", "vserver", "wg_cloonar" } oifname { "lan", "vb-*", "vm-*", "server", "vserver", "infrastructure", "multimedia", "smart", "wg_cloonar" } counter log prefix "basic forward allow rule" accept iifname { "lan", "server", "wg_cloonar" } oifname { "wrwks", "wg_epicenter", "wg_ghetto_at" } counter accept - iifname { "infrastructure" } oifname { "server", "vserver" } log prefix "Infrastructure connection: " accept + iifname { "infrastructure" } oifname { "server", "vserver" } counter accept iifname { "lan", "wan" } udp dport { 8211, 27015 } counter accept comment "palworld" # accept palword server @@ -132,6 +135,7 @@ content = '' chain prerouting { type nat hook prerouting priority filter; policy accept; + iifname "server" ip daddr 10.42.96.255 udp dport { 9 } dnat to 10.42.96.255 iifname "wan" tcp dport { 22 } dnat to 10.42.97.50 iifname "wan" tcp dport { 80, 443 } dnat to 10.42.97.5 iifname "wan" tcp dport { 5000 } dnat to 10.42.97.51 diff --git a/hosts/fw.cloonar.com/modules/home-assistant/3dprinter.nix b/hosts/fw.cloonar.com/modules/home-assistant/3dprinter.nix index 4e4e261..f490b7e 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/3dprinter.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/3dprinter.nix @@ -1,14 +1,4 @@ -{ config, ... }: -let - unstable = import - (builtins.fetchTarball https://github.com/nixos/nixpkgs/tarball/nixpkgs-unstable) - # reuse the current configuration - { config = config.nixpkgs.config; }; -in { - services.home-assistant.customComponents = with unstable.home-assistant-custom-components; [ - moonraker - ]; - +{ config, ... }: { services.home-assistant.config = { sensor = [ { @@ -53,7 +43,6 @@ in { ]; "automation 3d printer state" = { alias = "3d printer state change"; - hide_entity = true; trigger = [ { platform = "template"; diff --git a/hosts/fw.cloonar.com/modules/home-assistant/ac.nix b/hosts/fw.cloonar.com/modules/home-assistant/ac.nix index 7cdb55b..0d12ad4 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/ac.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/ac.nix @@ -21,7 +21,6 @@ ]; "automation ac_livingroom" = { alias = "ac_livingroom"; - hide_entity = true; trigger = [ { platform = "state"; @@ -46,7 +45,6 @@ }; "automation ac_eco" = { alias = "ac_eco"; - hide_entity = true; trigger = { platform = "state"; entity_id = [ @@ -70,7 +68,6 @@ }; "automation bedroom_ac_on" = { alias = "bedroom ac on"; - hide_entity = true; trigger = { platform = "time"; at = "00:30:00"; @@ -96,7 +93,6 @@ }; "automation bedroom_ac_off" = { alias = "bedroom ac on"; - hide_entity = true; trigger = { platform = "template"; value_template = '' diff --git a/hosts/fw.cloonar.com/modules/home-assistant/default.nix b/hosts/fw.cloonar.com/modules/home-assistant/default.nix index a260747..2d2a7d8 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/default.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/default.nix @@ -32,6 +32,9 @@ in hostBridge = "server"; hostAddress = "10.42.97.1"; localAddress = "10.42.97.20/24"; + extraFlags = [ + "--capability=CAP_NET_ADMIN" + ]; allowedDevices = [ { modifier = "rwm"; @@ -97,6 +100,10 @@ in nameservers = [ "10.42.97.1" ]; }; + environment.systemPackages = [ + pkgs.wol + ]; + services.nginx.enable = true; services.nginx.virtualHosts."${domain}" = { sslCertificate = "/var/lib/acme/hass/fullchain.pem"; diff --git a/hosts/fw.cloonar.com/modules/home-assistant/light.nix b/hosts/fw.cloonar.com/modules/home-assistant/light.nix index c7a4802..4d2af19 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/light.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/light.nix @@ -3,6 +3,7 @@ "deconz" "shelly" "sun" + "nanoleaf" ]; services.home-assistant.config = { @@ -15,7 +16,6 @@ }; "automation light_sunrise" = { alias = "light_sunrise"; - hide_entity = true; trigger = { platform = "sun"; event = "sunrise"; @@ -33,7 +33,6 @@ }; "automation light_sunset" = { alias = "light_sunset"; - hide_entity = true; trigger = { platform = "sun"; event = "sunset"; @@ -51,7 +50,6 @@ }; "automation light_on" = { alias = "light_on"; - hide_entity = true; trigger = { platform = "state"; entity_id = [ @@ -201,7 +199,6 @@ "automation bathroom light small" = { alias = "bathroom light small"; mode = "restart"; - hide_entity = true; trigger = { platform = "state"; entity_id = [ @@ -222,7 +219,6 @@ "automation bathroom light" = { alias = "bathroom light"; mode = "restart"; - hide_entity = true; trigger = { platform = "state"; entity_id = [ @@ -246,7 +242,6 @@ "automation bed_led" = { alias = "bed_led"; mode = "restart"; - hide_entity = true; trigger = { platform = "state"; entity_id = [ @@ -269,7 +264,6 @@ }; "automation hallway_motion" = { alias = "Hallway Motion"; - hide_entity = true; trigger = { platform = "state"; entity_id = "binary_sensor.hallway_motion_motion"; diff --git a/hosts/fw.cloonar.com/modules/home-assistant/locks.nix b/hosts/fw.cloonar.com/modules/home-assistant/locks.nix index d8a1de1..36a9539 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/locks.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/locks.nix @@ -7,7 +7,6 @@ "automation house_door" = { alias = "house_door"; mode = "restart"; - hide_entity = true; trigger = { platform = "state"; entity_id = [ @@ -57,6 +56,60 @@ } ]; } + { + conditions = [ "{{ state.house_door != \"unlocked\" }}" ]; + sequence = [ + { + service = "notify.mobile_app_dominiks_iphone"; + data = { + message = "Someone is at the door!"; + actions = [ + { + action = "action_open"; + title = "Open house door"; + } + { + action = "action_ignore"; + title = "Ignore"; + } + ]; + }; + } + { + wait_for_trigger = [ + { + platform = "event"; + event_type = "mobile_app_notification_action"; + event_data = { + action = "{{ action_open }}"; + + }; + } + { + platform = "event"; + event_type = "mobile_app_notification_action"; + event_data = { + action = "{{ action_ignore }}"; + }; + } + + ]; + } + { + choose = [ + { + conditions = "{{ wait.trigger.event.data.action == action_open }}"; + sequence = [{ + service = "lock.open"; + target = { + entity_id = "lock.house_door"; + }; + }]; + } + ]; + } + ]; + } ]; } ]; diff --git a/hosts/fw.cloonar.com/modules/home-assistant/multimedia.nix b/hosts/fw.cloonar.com/modules/home-assistant/multimedia.nix index 6392912..9e15384 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/multimedia.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/multimedia.nix @@ -58,51 +58,58 @@ }; } ]; - # "automation tv scene" = { - # alias = "auto tv scene"; - # hide_entity = true; - # trigger = { - # platform = "event"; - # event_type = "button_pressed"; - # event_data = { - # id = [ 254 235 105 198 ]; - # }; - # }; - # action = { - # service_template = "switch.turn_on"; - # data_template = { - # entity_id = "switch.computer"; - # }; - # }; - # }; - # "automation beamer switch" = { - # alias = "auto beamer scene"; - # hide_entity = true; - # trigger = { - # platform = "state"; - # entity_id = "sensor.computer_power"; - # }; - # condition = { - # condition = "and"; - # conditions = [ - # { - # condition = "numeric_state"; - # entity_id = "sensor.computer_power"; - # below = 15; - # } - # "{{ (as_timestamp(now()) - as_timestamp(states.switch.computer.last_changed)) > 300 }}" - # ]; - # }; - # action = { - # service = "switch.turn_off"; - # target = { - # entity_id = [ "switch.computer" ]; - # }; - # }; - # }; + script = { + turn_on_tv = { + sequence = [ + { + choose = [ + { + conditions = [ + { + condition = "state"; + entity_id = "media_player.android_tv_metz_cloonar_multimedia"; + state = "unavailable"; + } + ]; + sequence = [ + { + service = "remote.send_command"; + target = { + entity_id = "remote.rmproplus"; + }; + data = { + num_repeats = 1; + delay_secs = 0.4; + hold_secs = 0; + command = "b64:JgBOAJaSFREVNRU2FTUVERURFRAVERURFTUVNhU1FREVERUQFREVERUQFTYVNRURFREVEBURFTYVNRURFRAVNhU1FTYVNRUABfmWkhURFQANBQAAAAAAAAAAAAA="; + }; + } + ]; + } + { + conditions = [ + { + condition = "state"; + entity_id = "media_player.android_tv_metz_cloonar_multimedia"; + state = "off"; + } + ]; + sequence = [ + { + service = "media_player.turn_on"; + target = { + entity_id = "media_player.android_tv_metz_cloonar_multimedia"; + }; + } + ]; + } + ]; + } + ]; + }; + }; "automation steamdeck on" = { alias = "steamdeck on"; - hide_entity = true; trigger = { platform = "template"; value_template = "{% if is_state('binary_sensor.steamdeck', 'on') and (states('sensor.steamdeck_power') | float > 5) %}true{% endif %}"; @@ -121,7 +128,6 @@ }; "automation xbox on" = { alias = "xbox on"; - hide_entity = true; trigger = { platform = "state"; entity_id = "binary_sensor.xbox"; @@ -141,7 +147,6 @@ }; "automation firetv on" = { alias = "firetv on"; - hide_entity = true; trigger = { platform = "state"; entity_id = "media_player.fire_tv_firetv_living_cloonar_multimedia"; @@ -161,7 +166,6 @@ }; "automation ps5 on" = { alias = "ps5 on"; - hide_entity = true; trigger = { platform = "state"; entity_id = "binary_sensor.ps5"; @@ -202,6 +206,32 @@ command = "/goform/formiPhoneAppDirect.xml?PWSTANDBY"; }; } + # silverscreen up + { + service = "remote.send_command"; + target = { + entity_id = "remote.rmproplus"; + }; + data = { + num_repeats = 2; + delay_secs = 1; + hold_secs = 0; + command = "b64:sgBqAgkaBBoJCRsJHBoKGgoJGgQaCQkaBAgbGwoIHAgcGwkJGwgAARkbCRsJGwkJGgQaCgkaBAgbCRsbCQkbGwkJGgQIGxwJGwkJGxsJCRwIHBoKCBsECBsbCAQIGwkAARgbChoKGgoJGxsJCRoECBsJHBsJCRoEGgkJGwkcGgobCQkbGwkJGwkbGwoIHAkbGwkJGwkAARgbCRsJGwoIGxwJCRsJGwkbGwoIGxwIChoKGhwJGwkJHBsJCRsJGxsJCRsJHBsJCRsJAAEYGwkbCRsKCBscCQkbCRsJGxsJCRwbCQkbCRsbCRsJCRscCQgcCRocCQkbCRsbCQobCQABGBsJGwkbCQkbHAkJGwkbCRsbCQkbGwoJGwkbGwkbCQkbGwoIHAkbGwkJGgobGwkKGwkAARccCRsJGwkJHBsJCRsJGwkbGwkJGxsKCRsIHBsJGwkJGxsKCRoJGxwJCRsJGxsJChsIAAEZGwgcCRsJCRscCQkbCRsJGhwJCRscCQkaChsbCRsJCRscCQgcCRocCQkbCRsbCggcCQABGBsJGwkbCggcGwkJGwkbCRsbCggcGgoJGwkbGwkbCggcGwkJGwkbGwkJHAgcGwkJGwkAARgbChoKGgoJGhwJCRsJGwkcGgoJGxsJCRsJGxsJHAkJGxsJCRsJGhwJCRwJGhwJCRsJAAEYGwoaChsJCRsbCQkaChsJGxwJCRsbCQkbCRsbChsJCRsbCQkbCRsbCgkbCRsbCQkcCAABFwQaChsJGwkJGxsKCBwIHAgcGwkJGxsKCBwIGwQaCRsJCRwaCggcCBwbCQkbCRwaCggcCAAF3AAAAAAAAAAAAAAAAAAA"; + }; + } + # turn off beamer + { + service = "remote.send_command"; + target = { + entity_id = "remote.rmproplus"; + }; + data = { + num_repeats = 2; + delay_secs = 1; + hold_secs = 0; + command = "b64:JgDaAAABKZMUERMSExITEhMSExETEhMSExITEhMSExETNxQ2ExITEhMSEzcTNxM3ExITEhM3ExITNxMSEhITEhM3EzcTEhM3EwAFyAABKJQUERMSEhITEhMSExITEhMSEhITEhMSExITNxM3ExITEhMREzcTNxQ3EhITEhM3ExITNxMSExITEhM3EzcTEhM3EwAFyAABKJQUERMSExETEhMSExITEhMSExETEhMSExITNxM3ExITEhMREzcTOBI4ExETEhM3ExITNxMSExITEhM3EzcTEhM3E5IGAA0FAAAAAAAAAAAAAAAAAAA="; + }; + } ]; }; "automation all_multimedia_on" = { @@ -211,65 +241,12 @@ entity_id = "binary_sensor.multimedia_device_on"; to = "on"; }; - condition = { - condition = "or"; - conditions = [ - { - condition = "state"; - entity_id = "media_player.android_tv_metz_cloonar_multimedia"; - state = "off"; - } - { - condition = "state"; - entity_id = "media_player.android_tv_metz_cloonar_multimedia"; - state = "unavailable"; - } - ]; - }; action = [ { - choose = [ - { - conditions = [ - { - condition = "state"; - entity_id = "media_player.android_tv_metz_cloonar_multimedia"; - state = "off"; - } - ]; - sequence = [ - { - service = "media_player.turn_on"; - target = { - entity_id = "media_player.android_tv_metz_cloonar_multimedia"; - }; - } - ]; - } - { - conditions = [ - { - condition = "state"; - entity_id = "media_player.android_tv_metz_cloonar_multimedia"; - state = "unavailable"; - } - ]; - sequence = [ - { - service = "remote.send_command"; - target = { - entity_id = "remote.rmproplus"; - }; - data = { - num_repeats = 1; - delay_secs = 0.4; - hold_secs = 0; - command = "b64:JgBOAJaSFREVNRU2FTUVERURFRAVERURFTUVNhU1FREVERUQFREVERUQFTYVNRURFREVEBURFTYVNRURFRAVNhU1FTYVNRUABfmWkhURFQANBQAAAAAAAAAAAAA="; - }; - } - ]; - } - ]; + service = "script.turn_on"; + target = { + entity_id = "script.turn_on_tv"; + }; } { delay = 5; @@ -287,7 +264,6 @@ }; "automation bedroom tv off" = { alias = "bedroom tv off"; - hide_entity = true; trigger = { platform = "state"; entity_id = "media_player.fire_tv_firetv_bedroom_cloonar_multimedia"; @@ -310,13 +286,14 @@ event_type = "button_pressed"; event_data = { id = [ 254 235 105 198 ]; + onoff = 1; }; } { platform = "event"; event_type = "ios.action_fired"; event_data = { - actionName = "Home Cinema"; + actionID = "Home Cinema"; }; } ]; @@ -347,6 +324,20 @@ } ]; sequence = [ + # silver screen down + { + service = "remote.send_command"; + target = { + entity_id = "remote.rmproplus"; + }; + data = { + num_repeats = 2; + delay_secs = 1; + hold_secs = 0; + command = "b64:sQs0AB0JCxsLGx0IHQgLGh0ICxoLGx0JCxodCQobCxoLAAEXHQgdCR0JCxodCQsbCxsLGx0JCxoAAAAA"; + }; + } + # turn on beamer { service = "remote.send_command"; target = { @@ -356,34 +347,21 @@ num_repeats = 1; delay_secs = 0.4; hold_secs = 0; - command = "b64:sQs0AB0JCxsLGx0IHQgLGh0ICxoLGx0JCxodCQobCxoLAAEXHQgdCR0JCxodCQsbCxsLGx0JCxoAAAAA"; + command = "b64:JgAgAQABKZMUERMSExETEhMSExITEhMSExETEhMSExITNxM3ExITERM3EzgSOBM3ExETEhM3ExITEhMSExITERM3EzcTEhM3EwAFyAABKZMTEhMRExITEhMSExITEhMRExITEhMSExITNxM3ExITERM3EzcTNxM3ExITEhM3ExITEhMSExETEhM3EzcTEhM3EwAFyAABKZMUERMRExITEhMSExITERMSExITEhMSExITNxM3ExISEhM3EzcTNxM3ExITEhM3ExITEhMSExETEhM3EzcTEhM3EwAFxwABKZQUERMRFBETEhMSExITEhISExITEhMSExITNxM3ExITERM3EzcTNxM3FBETEhM3ExITEhMSExITERM3EzcTEhM3EwANBQAAAAAAAAAA"; }; } - { - delay = 1; - } - { - service = "remote.send_command"; - target = { - entity_id = "remote.rmproplus"; - }; - data = { - num_repeats = 1; - delay_secs = 0.4; - hold_secs = 0; - command = "b64:sQs0AB0JCxsLGx0IHQgLGh0ICxoLGx0JCxodCQobCxoLAAEXHQgdCR0JCxodCQsbCxsLGx0JCxoAAAAA"; - }; - } - { - delay = 1; - } - # TODO turn on beamer { service = "media_player.turn_off"; target = { entity_id = "media_player.android_tv_metz_cloonar_multimedia"; }; } + { + service = "media_player.turn_on"; + target = { + entity_id = "media_player.marantz_sr6015"; + }; + } ]; } { @@ -411,66 +389,29 @@ entity_id = "remote.rmproplus"; }; data = { - num_repeats = 1; - delay_secs = 0.4; + num_repeats = 2; + delay_secs = 1; hold_secs = 0; command = "b64:sgBqAgkaBBoJCRsJHBoKGgoJGgQaCQkaBAgbGwoIHAgcGwkJGwgAARkbCRsJGwkJGgQaCgkaBAgbCRsbCQkbGwkJGgQIGxwJGwkJGxsJCRwIHBoKCBsECBsbCAQIGwkAARgbChoKGgoJGxsJCRoECBsJHBsJCRoEGgkJGwkcGgobCQkbGwkJGwkbGwoIHAkbGwkJGwkAARgbCRsJGwoIGxwJCRsJGwkbGwoIGxwIChoKGhwJGwkJHBsJCRsJGxsJCRsJHBsJCRsJAAEYGwkbCRsKCBscCQkbCRsJGxsJCRwbCQkbCRsbCRsJCRscCQgcCRocCQkbCRsbCQobCQABGBsJGwkbCQkbHAkJGwkbCRsbCQkbGwoJGwkbGwkbCQkbGwoIHAkbGwkJGgobGwkKGwkAARccCRsJGwkJHBsJCRsJGwkbGwkJGxsKCRsIHBsJGwkJGxsKCRoJGxwJCRsJGxsJChsIAAEZGwgcCRsJCRscCQkbCRsJGhwJCRscCQkaChsbCRsJCRscCQgcCRocCQkbCRsbCggcCQABGBsJGwkbCggcGwkJGwkbCRsbCggcGgoJGwkbGwkbCggcGwkJGwkbGwkJHAgcGwkJGwkAARgbChoKGgoJGhwJCRsJGwkcGgoJGxsJCRsJGxsJHAkJGxsJCRsJGhwJCRwJGhwJCRsJAAEYGwoaChsJCRsbCQkaChsJGxwJCRsbCQkbCRsbChsJCRsbCQkbCRsbCgkbCRsbCQkcCAABFwQaChsJGwkJGxsKCBwIHAgcGwkJGxsKCBwIGwQaCRsJCRwaCggcCBwbCQkbCRwaCggcCAAF3AAAAAAAAAAAAAAAAAAA"; }; } - { - delay = 1; - } + # turn off beamer { service = "remote.send_command"; target = { entity_id = "remote.rmproplus"; }; data = { - num_repeats = 1; - delay_secs = 0.4; + num_repeats = 2; + delay_secs = 1; hold_secs = 0; - command = "b64:sgBqAgkaBBoJCRsJHBoKGgoJGgQaCQkaBAgbGwoIHAgcGwkJGwgAARkbCRsJGwkJGgQaCgkaBAgbCRsbCQkbGwkJGgQIGxwJGwkJGxsJCRwIHBoKCBsECBsbCAQIGwkAARgbChoKGgoJGxsJCRoECBsJHBsJCRoEGgkJGwkcGgobCQkbGwkJGwkbGwoIHAkbGwkJGwkAARgbCRsJGwoIGxwJCRsJGwkbGwoIGxwIChoKGhwJGwkJHBsJCRsJGxsJCRsJHBsJCRsJAAEYGwkbCRsKCBscCQkbCRsJGxsJCRwbCQkbCRsbCRsJCRscCQgcCRocCQkbCRsbCQobCQABGBsJGwkbCQkbHAkJGwkbCRsbCQkbGwoJGwkbGwkbCQkbGwoIHAkbGwkJGgobGwkKGwkAARccCRsJGwkJHBsJCRsJGwkbGwkJGxsKCRsIHBsJGwkJGxsKCRoJGxwJCRsJGxsJChsIAAEZGwgcCRsJCRscCQkbCRsJGhwJCRscCQkaChsbCRsJCRscCQgcCRocCQkbCRsbCggcCQABGBsJGwkbCggcGwkJGwkbCRsbCggcGgoJGwkbGwkbCggcGwkJGwkbGwkJHAgcGwkJGwkAARgbChoKGgoJGhwJCRsJGwkcGgoJGxsJCRsJGxsJHAkJGxsJCRsJGhwJCRwJGhwJCRsJAAEYGwoaChsJCRsbCQkaChsJGxwJCRsbCQkbCRsbChsJCRsbCQkbCRsbCgkbCRsbCQkcCAABFwQaChsJGwkJGxsKCBwIHAgcGwkJGxsKCBwIGwQaCRsJCRwaCggcCBwbCQkbCRwaCggcCAAF3AAAAAAAAAAAAAAAAAAA"; + command = "b64:JgDaAAABKZMUERMSExITEhMSExETEhMSExITEhMSExETNxQ2ExITEhMSEzcTNxM3ExITEhM3ExITNxMSEhITEhM3EzcTEhM3EwAFyAABKJQUERMSEhITEhMSExITEhMSEhITEhMSExITNxM3ExITEhMREzcTNxQ3EhITEhM3ExITNxMSExITEhM3EzcTEhM3EwAFyAABKJQUERMSExETEhMSExITEhMSExETEhMSExITNxM3ExITEhMREzcTOBI4ExETEhM3ExITNxMSExITEhM3EzcTEhM3E5IGAA0FAAAAAAAAAAAAAAAAAAA="; }; } - ]; - # TODO turn off beamer - } - { - conditions = [ { - condition = "state"; - entity_id = "media_player.android_tv_metz_cloonar_multimedia"; - state = "off"; - } - ]; - sequence = [ - { - service = "media_player.turn_on"; + service = "script.turn_on"; target = { - entity_id = "media_player.android_tv_metz_cloonar_multimedia"; - }; - } - ]; - } - { - conditions = [ - { - condition = "state"; - entity_id = "media_player.android_tv_metz_cloonar_multimedia"; - state = "unavailable"; - } - ]; - sequence = [ - { - service = "remote.send_command"; - target = { - entity_id = "remote.rmproplus"; - }; - data = { - num_repeats = 1; - delay_secs = 0.4; - hold_secs = 0; - command = "b64:JgBOAJaSFREVNRU2FTUVERURFRAVERURFTUVNhU1FREVERUQFREVERUQFTYVNRURFREVEBURFTYVNRURFRAVNhU1FTYVNRUABfmWkhURFQANBQAAAAAAAAAAAAA="; + entity_id = "script.turn_on_tv"; }; } ]; diff --git a/hosts/fw.cloonar.com/modules/home-assistant/pc.nix b/hosts/fw.cloonar.com/modules/home-assistant/pc.nix index 2380fe8..dbf8383 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/pc.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/pc.nix @@ -1,46 +1,71 @@ { + services.home-assistant.extraComponents = [ + "wake_on_lan" + ]; services.home-assistant.config = { + ios = { + actions = [ + { + name = "Turn on PC"; + label.text = "Turn on PC"; + icon = { + icon = "controller"; + color = "#ffffff"; + }; + show_in_watch = true; + } + ]; + }; + wake_on_lan = {}; "automation pc_switch" = { alias = "switch pc"; - hide_entity = true; trigger = { platform = "event"; event_type = "button_pressed"; event_data = { id = [ 254 235 105 198 ]; + onoff = 0; }; }; action = { - service_template = "switch.turn_on"; - data_template = { - entity_id = "switch.computer"; + service = "script.turn_on"; + target = { + entity_id = "script.turn_on_pc"; }; }; }; - "automation pc power" = { - alias = "auto pc power off"; - hide_entity = true; - trigger = { - platform = "state"; - entity_id = "sensor.computer_power"; - }; - condition = { - condition = "and"; - conditions = [ + script = { + turn_on_pc = { + sequence = [ { - condition = "numeric_state"; - entity_id = "sensor.computer_power"; - below = 15; + service = "wake_on_lan.send_magic_packet"; + data = { + mac = "04:7c:16:d5:63:5e"; + broadcast_address = "10.42.96.5"; + broadcast_port = 9; + }; } - "{{ (as_timestamp(now()) - as_timestamp(states.switch.computer.last_changed)) > 300 }}" ]; }; - action = { - service = "switch.turn_off"; - target = { - entity_id = [ "switch.computer" ]; - }; - }; + }; + "automation turn on pc" = { + trigger = [ + { + platform = "event"; + event_type = "ios.action_fired"; + event_data = { + actionID = "Turn on PC"; + }; + } + ]; + action = [ + { + service = "script.turn_on"; + target = { + entity_id = "script.turn_on_pc"; + }; + } + ]; }; }; } diff --git a/hosts/fw.cloonar.com/modules/home-assistant/roborock.nix b/hosts/fw.cloonar.com/modules/home-assistant/roborock.nix index 492f63c..81a56f0 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/roborock.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/roborock.nix @@ -6,7 +6,6 @@ services.home-assistant.config = { "automation roborock" = { alias = "roborock"; - hide_entity = false; trigger = { platform = "state"; entity_id = [ diff --git a/hosts/fw.cloonar.com/modules/home-assistant/scene-switch.nix b/hosts/fw.cloonar.com/modules/home-assistant/scene-switch.nix index 70ba921..02861d7 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/scene-switch.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/scene-switch.nix @@ -2,7 +2,6 @@ services.home-assistant.config = { "automation scene_switch" = { alias = "switch scene"; - hide_entity = true; trigger = { platform = "event"; event_type = "button_pressed"; diff --git a/hosts/fw.cloonar.com/modules/home-assistant/sleep.nix b/hosts/fw.cloonar.com/modules/home-assistant/sleep.nix index a67cd11..db2f580 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/sleep.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/sleep.nix @@ -2,7 +2,6 @@ services.home-assistant.config = { "automation wakeup" = { alias = "wakeup"; - hide_entity = true; trigger = { platform = "time"; at = "input_datetime.wakeup"; @@ -27,7 +26,6 @@ }; "automation sleep" = { alias = "sleep"; - hide_entity = true; trigger = [ { platform = "event"; diff --git a/hosts/fw.cloonar.com/modules/home-assistant/snapcast.nix b/hosts/fw.cloonar.com/modules/home-assistant/snapcast.nix index 11afc45..8b3fa35 100644 --- a/hosts/fw.cloonar.com/modules/home-assistant/snapcast.nix +++ b/hosts/fw.cloonar.com/modules/home-assistant/snapcast.nix @@ -8,7 +8,6 @@ # }; "automation toilett_music" = { alias = "toilett music"; - hide_entity = true; trigger = { platform = "state"; entity_id = "light.toilett_switch"; @@ -48,7 +47,6 @@ }; "automation piano" = { alias = "piano"; - hide_entity = true; trigger = { platform = "state"; entity_id = "media_player.snapcast_client_e4_5f_01_96_c1_1e"; diff --git a/hosts/fw.cloonar.com/modules/unbound.nix b/hosts/fw.cloonar.com/modules/unbound.nix index 204dde4..d47e430 100644 --- a/hosts/fw.cloonar.com/modules/unbound.nix +++ b/hosts/fw.cloonar.com/modules/unbound.nix @@ -23,9 +23,9 @@ let cfg = { remote-control.control-enable = true; server = { - include = [ - "\"${adblockLocalZones}\"" - ]; + # include = [ + # "\"${adblockLocalZones}\"" + # ]; interface = [ "0.0.0.0" "::0" ]; interface-automatic = "yes"; access-control = [ @@ -47,6 +47,7 @@ let "\"fw.cloonar.com A 10.42.97.1\"" "\"fw A 10.42.97.1\"" + "\"pc.cloonar.com IN A 10.42.96.5\"" "\"omada.cloonar.com IN A 10.42.97.2\"" "\"switch.cloonar.com IN A 10.42.97.10\"" "\"mopidy.cloonar.com IN A 10.42.97.21\"" @@ -58,12 +59,19 @@ let "\"git.cloonar.com IN A 10.42.97.50\"" "\"sync.cloonar.com IN A 10.42.97.51\"" + "\"feeds.cloonar.com IN A 188.34.191.144\"" + # "\"paraclub.cloonar.dev IN A 49.12.244.139\"" + # "\"api.paraclub.cloonar.dev IN A 49.12.244.139\"" + # "\"module.paraclub.cloonar.dev IN A 49.12.244.139\"" + # "\"tandem.paraclub.cloonar.dev IN A 49.12.244.139\"" + "\"stage.wsw.at IN A 10.254.235.22\"" "\"prod.wsw.at IN A 10.254.217.23\"" "\"piwik.wohnservice-wien.at IN A 10.254.240.109\"" "\"wohnservice-wien.at IN A 10.254.240.109\"" "\"mieterhilfe.at IN A 10.254.240.109\"" "\"wohnpartner-wien.at IN A 10.254.240.109\"" + "\"new.wohnberatung-wien.at IN A 10.254.240.109\"" "\"wohnberatung-wien.at IN A 10.254.240.109\"" "\"wienbautvor.at IN A 10.254.240.109\"" "\"wienwohntbesser.at IN A 10.254.240.109\"" @@ -84,6 +92,7 @@ let "\"b.stage.wohnservice-wien.at IN A 10.254.240.110\"" "\"b.stage.mieterhilfe.at IN A 10.254.240.110\"" "\"b.stage.wohnpartner-wien.at IN A 10.254.240.110\"" + "\"b.stage.new.wohnberatung-wien.at IN A 10.254.240.110\"" "\"b.stage.wohnberatung-wien.at IN A 10.254.240.110\"" "\"b.stage.wienbautvor.at IN A 10.254.240.110\"" "\"b.stage.wienwohntbesser.at IN A 10.254.240.110\"" diff --git a/hosts/mail.cloonar.com/hardware-configuration.nix b/hosts/mail.cloonar.com/hardware-configuration.nix index 19e63a6..4d91eb3 100644 --- a/hosts/mail.cloonar.com/hardware-configuration.nix +++ b/hosts/mail.cloonar.com/hardware-configuration.nix @@ -5,6 +5,7 @@ efiSupport = true; efiInstallAsRemovable = true; device = "nodev"; + configurationLimit = 2; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/105A-0CC0"; fsType = "vfat"; }; boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "xen_blkfront" ]; diff --git a/hosts/nb-new.cloonar.com/modules/printer.nix b/hosts/nb-new.cloonar.com/modules/printer.nix index c7e1e90..b368646 100644 --- a/hosts/nb-new.cloonar.com/modules/printer.nix +++ b/hosts/nb-new.cloonar.com/modules/printer.nix @@ -2,19 +2,15 @@ let in { services.printing.enable = true; - # services.printing.drivers = [ pkgs.brlaser ]; - # services.avahi.enable = true; - # services.avahi.nssmdns = true; - # services.avahi.openFirewall = true; hardware.printers = { ensureDefaultPrinter = "Cloonar"; ensurePrinters = [ - { - name = "epicenter.works"; - deviceUri = "ipp://mercury.epicenter.intra/ipp/print"; - model = "everywhere"; - } + # { + # name = "epicenter.works"; + # deviceUri = "ipp://mercury.epicenter.intra/ipp/print"; + # model = "everywhere"; + # } { name = "Cloonar"; deviceUri = "ipp://brn30055c566237.cloonar.multimedia/ipp/print"; diff --git a/hosts/nb-new.cloonar.com/modules/sway/signal-work.nix b/hosts/nb-new.cloonar.com/modules/sway/signal-work.nix index ed43b2e..88d44b3 100644 --- a/hosts/nb-new.cloonar.com/modules/sway/signal-work.nix +++ b/hosts/nb-new.cloonar.com/modules/sway/signal-work.nix @@ -6,11 +6,21 @@ let name = "signal-work"; desktopName = "Signal with work profile"; icon = "signal-desktop"; - exec = "signal-desktop --user-data-dir=/home/dominik/.config/Signal-work -- %u"; + exec = "signal-desktop --enable-dev-tools --enable-features=VaapiVideoDecoder --user-data-dir=/home/dominik/.config/Signal-work -- %u"; }; in { environment.systemPackages = [ + pkgs.signal-cli pkgs.signal-desktop + pkgs.zbar signalWorkDesktopItem ]; } +# signal-cli is a command line interface for Signal +# use it like follows: +# signal-cli -u +4300000000 register +# signal-cli -u +4300000000 verify 123-456 +# zbarimg /tmp/qr.png +# QR-Code:tsdevice:/?uuid... +# convert svg to png +# signal-cli -u +4300000000 addDevice --uri "tsdevice:/?uuid=xxx" diff --git a/hosts/nb-new.cloonar.com/users/configs/project_history b/hosts/nb-new.cloonar.com/users/configs/project_history index 6ddd2ad..6c6ed3c 100644 --- a/hosts/nb-new.cloonar.com/users/configs/project_history +++ b/hosts/nb-new.cloonar.com/users/configs/project_history @@ -1,3 +1,5 @@ +/home/dominik/projects/cloonar/bento +/home/dominik/projects/cloonar/freescout /home/dominik/projects/cloonar/support-invoiced /home/dominik/projects/cloonar/cloonar-nixos /home/dominik/projects/cloonar/cloonar-website diff --git a/hosts/nb-new.cloonar.com/users/dominik.nix b/hosts/nb-new.cloonar.com/users/dominik.nix index f27bc24..594fbc0 100644 --- a/hosts/nb-new.cloonar.com/users/dominik.nix +++ b/hosts/nb-new.cloonar.com/users/dominik.nix @@ -80,6 +80,56 @@ let } ''; + firefoxSearchSettings = { + force = true; + default = "Perplexity"; + privateDefault = "Perplexity"; + order = [ + "Perplexity" + "Duckduckgo" + "Nix Packages" + "Nix Options" + ]; + engines = { + "Nix Packages" = { + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { name = "type"; value = "packages"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + "Nix Options" = { + urls = [{ + template = "https://search.nixos.org/options"; + params = [ + { name = "type"; value = "packages"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@no" ]; + }; + "Perplexity" = { + urls = [{ + template = "https://www.perplexity.ai/search"; + params = [ + { name = "q"; value = "{searchTerms}"; } + ]; + }]; + iconUpdateURL = "https://perplexity.ai/favicon.ico"; + definedAliases = [ "@perplexity" ]; + }; + "Google".metaData.hidden = true; + "Bing".metaData.hidden = true; + }; + }; + firefoxExtensions = with pkgs.nur.repos.rycee.firefox-addons; [ bitwarden multi-account-containers @@ -107,14 +157,18 @@ in ".config/OrcaSlicer" ".config/rustdesk" ".config/Signal" + ".config/Signal-work" ".config/sops" + ".config/VirtualBox" ".local/share/keyrings" ".mozilla" ".ssh" ".thunderbird" "cloud.cloonar.com" + "nextcloud.cloonar.com" "cloud.epicenter.works" "OpenAudible" + "VirtualBox VMs" "projects" "go" ]; @@ -202,6 +256,11 @@ in thunderbird = { enable = true; profiles = [ "private" "cloonar" "work" ]; + settings = id: { + "mail.identity.id_${id}.reply_on_top" = 1; + "mail.identity.id_${id}.sig_bottom" = false; + "mail.identity.id_${id}.htmlSigFormat" = true; + }; }; }; "office@cloonar.com" = { @@ -223,6 +282,11 @@ in thunderbird = { enable = true; profiles = [ "cloonar" "work" ]; + settings = id: { + "mail.identity.id_${id}.reply_on_top" = 1; + "mail.identity.id_${id}.sig_bottom" = false; + "mail.identity.id_${id}.htmlSigFormat" = true; + }; }; }; "dominik.polakovics@cloonar.com" = { @@ -283,6 +347,11 @@ in thunderbird = { enable = true; profiles = [ "work" ]; + settings = id: { + "mail.identity.id_${id}.reply_on_top" = 1; + "mail.identity.id_${id}.sig_bottom" = false; + "mail.identity.id_${id}.htmlSigFormat" = true; + }; }; }; }; @@ -295,18 +364,14 @@ in isDefault = true; settings = firefoxSettings; userChrome = firefoxUserChrome; - search.default = "DuckDuckGo"; - search.privateDefault = "DuckDuckGo"; - search.force = true; + search = firefoxSearchSettings; extensions = firefoxExtensions; }; social = { id = 1; settings = firefoxSettings; userChrome = firefoxUserChrome; - search.default = "DuckDuckGo"; - search.privateDefault = "DuckDuckGo"; - search.force = true; + search = firefoxSearchSettings; containersForce = true; containers = { "private" = { @@ -348,6 +413,8 @@ in set +eu ssh-keygen -R git.cloonar.com ssh-keyscan git.cloonar.com >> ~/.ssh/known_hosts + git clone git@github.com:dpolakovics/bento.git /nix/persist/user/dominik/cloonar/bento 2>/dev/null + git clone gitea@git.cloonar.com:Cloonar/freescout.git /nix/persist/user/dominik/projects/cloonar/freescout 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/support-invoiced.git /nix/persist/user/dominik/projects/cloonar/support-invoiced 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/nixos.git /nix/persist/user/dominik/projects/cloonar/cloonar-nixos 2>/dev/null git clone gitea@git.cloonar.com:Cloonar/website.git /nix/persist/user/dominik/projects/cloonar/cloonar-website 2>/dev/null diff --git a/hosts/web-01.cloonar.com/configuration.nix b/hosts/web-01.cloonar.com/configuration.nix index d799512..dc667f8 100644 --- a/hosts/web-01.cloonar.com/configuration.nix +++ b/hosts/web-01.cloonar.com/configuration.nix @@ -1,4 +1,4 @@ -{ ... }: { +{ pkgs, ... }: { imports = [ ./utils/bento.nix ./utils/modules/sops.nix @@ -55,6 +55,11 @@ "openssl-1.1.1w" ]; + environment.systemPackages = with pkgs; [ + wkhtmltopdf-bin + ]; + + time.timeZone = "Europe/Vienna"; services.logind.extraConfig = "RuntimeDirectorySize=2G"; diff --git a/hosts/web-arm/configuration.nix b/hosts/web-arm/configuration.nix index 52afb76..55ef7f5 100644 --- a/hosts/web-arm/configuration.nix +++ b/hosts/web-arm/configuration.nix @@ -1,4 +1,4 @@ -{ ... }: { +{ lib, pkgs, ... }: { imports = [ ./utils/bento.nix ./utils/modules/sops.nix @@ -10,7 +10,7 @@ ./modules/bitwarden ./modules/authelia ./modules/collabora.nix - # ./modules/nextcloud + ./modules/nextcloud ./modules/rustdesk.nix ./modules/postgresql.nix ./modules/grafana.nix @@ -28,10 +28,12 @@ ./modules/web/stack.nix ./sites/autoconfig.cloonar.com.nix + ./sites/feeds.cloonar.com.nix ./sites/cloonar.com.nix ./sites/gbv-aktuell.at.nix ./sites/matomo.cloonar.com.nix + ./sites/support.cloonar.dev.nix ./sites/cloonar.dev.nix ./sites/paraclub.cloonar.dev.nix @@ -48,6 +50,14 @@ "openssl-1.1.1w" ]; + environment.systemPackages = with pkgs; [ + vim + davfs2 + screen + ucommon + ]; + services.davfs2.enable = true; + time.timeZone = "Europe/Vienna"; services.logind.extraConfig = "RuntimeDirectorySize=2G"; @@ -70,9 +80,7 @@ ]; # backups - borgbackup.repo = "u149513-sub5@u149513-sub5.your-backup.de:borg"; - services.borgbackup.jobs.default.startAt = "Fri 2012-11-23 11:12:13" - + borgbackup.repo = "u149513-sub8@u149513-sub8.your-backup.de:borg"; networking.firewall = { enable = true; diff --git a/hosts/web-arm/hardware-configuration.nix b/hosts/web-arm/hardware-configuration.nix index f67b9f4..b805dbc 100644 --- a/hosts/web-arm/hardware-configuration.nix +++ b/hosts/web-arm/hardware-configuration.nix @@ -1,8 +1,14 @@ { modulesPath, ... }: { imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - boot.loader.grub.device = "/dev/sda"; - boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "vmw_pvscsi" "xen_blkfront" ]; + boot.loader.grub = { + efiSupport = true; + efiInstallAsRemovable = true; + device = "nodev"; + configurationLimit = 2; + }; + fileSystems."/boot" = { device = "/dev/disk/by-uuid/82F0-EC7D"; fsType = "vfat"; }; + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "xen_blkfront" ]; boot.initrd.kernelModules = [ "nvme" ]; fileSystems."/" = { device = "/dev/sda1"; fsType = "ext4"; }; diff --git a/hosts/web-arm/modules/authelia/default.nix b/hosts/web-arm/modules/authelia/default.nix index 70ff56a..e2fb0c4 100644 --- a/hosts/web-arm/modules/authelia/default.nix +++ b/hosts/web-arm/modules/authelia/default.nix @@ -3,31 +3,24 @@ { sops.secrets.authelia-jwt-secret = { owner = "authelia-main"; - sopsFile = ./secrets.yaml; }; sops.secrets.authelia-backend-ldap-password = { owner = "authelia-main"; - sopsFile = ./secrets.yaml; }; sops.secrets.authelia-storage-encryption-key = { owner = "authelia-main"; - sopsFile = ./secrets.yaml; }; sops.secrets.authelia-session-secret = { owner = "authelia-main"; - sopsFile = ./secrets.yaml; }; sops.secrets.authelia-identity-providers-oidc-hmac-secret = { owner = "authelia-main"; - sopsFile = ./secrets.yaml; }; sops.secrets.authelia-identity-providers-oidc-issuer-certificate-chain = { owner = "authelia-main"; - sopsFile = ./secrets.yaml; }; sops.secrets.authelia-identity-providers-oidc-issuer-private-key = { owner = "authelia-main"; - sopsFile = ./secrets.yaml; }; services.authelia.instances.main = { @@ -150,9 +143,6 @@ notifier = { disable_startup_check = false; - # filesystem = { - # filename = "/var/lib/authelia-main/notification.txt"; - # }; smtp = { host = "mail.cloonar.com"; port = 25; @@ -164,6 +154,21 @@ oidc = { ## The other portions of the mandatory OpenID Connect 1.0 configuration go here. ## See: https://www.authelia.com/c/oidc + # authorization_policies = { + # support = { + # default_policy = "deny"; + # rules = [ + # { + # policy = "two_factor"; + # subject = "group:support"; # Deny access to users of services group + # } + # { + # policy = "two_factor"; + # subject = "group:admin"; # Deny access to users of services group + # } + # ]; + # }; + # }; clients = [ { id = "gitea"; @@ -183,12 +188,11 @@ { id = "nextcloud"; description = "Nextcloud"; - secret = "$pbkdf2-sha512$310000$UqX35Fh.7uTZLQqD.mk5wg$e139D4g9SGUFc.ZdKt3RAZljC8A7C9nixUQd7rQoHFMKop643SuwfazjNn0ehdyAjydM2zV.KzKnMLgSajo.xw"; + secret = "$pbkdf2-sha512$310000$jPzRYxmYCCDC/Go0Xti9rg$5K70qyNktBEs6PVnJYMrve4insptBzRD1eTi76zFVnJ2aFEc1.7f3yzRTpQ9HVWfEfxRoowXNMNdLxHeDcbLDw"; public = false; authorization_policy = "one_factor"; redirect_uris = [ "https://nextcloud.cloonar.com/apps/oidc_login/oidc" - "https://cloud.cloonar.com/apps/user_oidc/code" ]; pre_configured_consent_duration = "1y"; scopes = [ @@ -215,6 +219,22 @@ ]; userinfo_signing_algorithm = "none"; } + { + id = "freescout"; + description = "FreeScout Support platform"; + secret = "$pbkdf2-sha512$310000$5D3wUR7CnuoeHu3eNWfETw$SY0GTnZor3BlZKPyU3evH9QTlQG6Bm32RoPAlUgdIRJ8HmL3jRLVtmPLxOcJj06ZS/dDTRfkYej2RmD5cA3T4A"; + public = false; + authorization_policy = "one_factor"; + redirect_uris = [ "https://support.cloonar.dev/oauth-login/callback/fryg87l64" ]; + pre_configured_consent_duration = "1y"; + scopes = [ + "openid" + "profile" + "email" + "groups" + ]; + userinfo_signing_algorithm = "none"; + } ]; }; }; diff --git a/hosts/web-arm/modules/bitwarden/default.nix b/hosts/web-arm/modules/bitwarden/default.nix index f9ce977..22111f1 100644 --- a/hosts/web-arm/modules/bitwarden/default.nix +++ b/hosts/web-arm/modules/bitwarden/default.nix @@ -50,7 +50,7 @@ in { }; systemd.services.vaultwarden.serviceConfig = { - EnvironmentFile = [config.sops.secrets.bitwarden-smtp-password.path]; + EnvironmentFile = [config.sops.secrets.vaultwarden-env.path]; }; systemd.services.vaultwarden_ldap = { @@ -58,8 +58,8 @@ in { preStart = '' sed \ - -e "s=@LDAP_PASSWORD@=$(<${config.sops.secrets.bitwarden-ldap-password.path})=" \ - -e "s=@ADMIN_TOKEN@=$(<${config.sops.secrets.bitwarden-admin-token.path})=" \ + -e "s=@LDAP_PASSWORD@=$(<${config.sops.secrets.vaultwarden-ldap-password.path})=" \ + -e "s=@ADMIN_TOKEN@=$(<${config.sops.secrets.vaultwarden-admin-token.path})=" \ ${ldapConfigFile} \ > /run/vaultwarden_ldap/config.toml ''; @@ -97,10 +97,9 @@ in { }; sops.secrets = { - bitwarden-admin-token.owner = "vaultwarden_ldap"; - bitwarden-ldap-password.owner = "vaultwarden_ldap"; - bitwarden-db-password.owner = "vaultwarden"; - bitwarden-smtp-password.owner = "vaultwarden"; + vaultwarden-admin-token.owner = "vaultwarden_ldap"; + vaultwarden-ldap-password.owner = "vaultwarden_ldap"; + vaultwarden-env.owner = "vaultwarden"; }; users.users.vaultwarden_ldap = { @@ -110,5 +109,16 @@ in { users.groups.vaultwarden_ldap = {}; - services.mysqlBackup.databases = [ "bitwarden" ]; + services.mysql = { + ensureUsers = [ + { + name = "vaultwarden"; + ensurePermissions = { + "vaultwarden.*" = "ALL PRIVILEGES"; + }; + } + ]; + ensureDatabases = [ "vaultwarden" ]; + }; + services.mysqlBackup.databases = [ "vaultwarden" ]; } diff --git a/hosts/web-arm/modules/collabora.nix b/hosts/web-arm/modules/collabora.nix index da679af..0d83556 100644 --- a/hosts/web-arm/modules/collabora.nix +++ b/hosts/web-arm/modules/collabora.nix @@ -6,7 +6,8 @@ ports = [ "9980:9980/tcp" ]; environment = { server_name = "code.cloonar.com"; - aliasgroup1 = "https://cloud.cloonar.com:443"; + aliasgroup1 = "https://nextcloud.cloonar.com:443"; + aliasgroup2 = "https://cloud.cloonar.com:443"; dictionaries = "en_US"; extra_params = "--o:ssl.enable=false --o:ssl.termination=true"; }; diff --git a/hosts/web-arm/modules/grafana.nix b/hosts/web-arm/modules/grafana.nix index c8edf0a..f8ef660 100644 --- a/hosts/web-arm/modules/grafana.nix +++ b/hosts/web-arm/modules/grafana.nix @@ -15,7 +15,7 @@ let [servers.attributes] name = "givenName" surname = "sn" - username = "uid" + username = "mail" email = "mail" member_of = "memberOf" @@ -27,13 +27,17 @@ let }; in { - systemd.services.grafana.script = lib.mkBefore "export GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=$(cat /run/secrets/grafana-oauth-secret)"; + systemd.services.grafana.script = lib.mkBefore '' + export GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=$(cat /run/secrets/grafana-oauth-secret) + export PUSHOVER_API_TOKEN=$(cat /run/secrets/pushover-api-token) + export PUSHOVER_USER_KEY=$(cat /run/secrets/pushover-user-key) + ''; services.grafana = { enable = true; settings = { analytics.reporting_enabled = false; - # "auth.ldap".enabled = true; - # "auth.ldap".config_file = toString ldap; + "auth.ldap".enabled = true; + "auth.ldap".config_file = toString ldap; "auth.generic_oauth" = { enabled = true; @@ -47,6 +51,8 @@ in api_url = "https://auth.cloonar.com/api/oidc/userinfo"; login_attribute_path = "preferred_username"; groups_attribute_path = "groups"; + role_attribute_path = "contains(groups, 'Administrators') && 'Admin' || contains(groups, 'editor') && 'Editor' || 'Viewer'"; + allow_assign_grafana_admin = true; name_attribute_path = "name"; use_pkce = true; }; @@ -81,6 +87,37 @@ in security.admin_password = "$__file{${config.sops.secrets.grafana-admin-password.path}}"; }; + provision = { + alerting = { + contactPoints.settings = { + apiVersion = 1; + + contactPoints = [{ + orgId = 1; + name = "cp_dominik"; + receivers = [{ + uid = "dominik"; + type = "pushover"; + settings = { + security.apiToken = "$__file{${config.sops.secrets.pushover-api-token.path}}"; + security.userKey = "$__file{${config.sops.secrets.pushover-user-key.path}}"; + apiToken = "\${PUSHOVER_API_TOKEN}"; + userKey = "\${PUSHOVER_USER_KEY}"; + device = "iphone"; + priority = "2"; + retry = "30"; + expire = "120"; + sound = "siren"; + okSound = "magic"; + message = '' + {{ template "default.message" . }} + ''; + }; + }]; + }]; + }; + }; + }; }; services.nginx.virtualHosts."grafana.cloonar.com" = { @@ -103,5 +140,7 @@ in grafana-admin-password.owner = "grafana"; grafana-ldap-password.owner = "grafana"; grafana-oauth-secret.owner = "grafana"; + pushover-api-token.owner = "grafana"; + pushover-user-key.owner = "grafana"; }; } diff --git a/hosts/web-arm/modules/loki.nix b/hosts/web-arm/modules/loki.nix index 9652286..b8c3b7e 100644 --- a/hosts/web-arm/modules/loki.nix +++ b/hosts/web-arm/modules/loki.nix @@ -103,15 +103,15 @@ in limits_config.ingestion_burst_size_mb = 16; - # ruler = { - # storage = { - # type = "local"; - # local.directory = rulerDir; - # }; - # rule_path = "/var/lib/loki/ruler"; - # alertmanager_url = "http://alertmanager.cloonar.com"; - # ring.kvstore.store = "inmemory"; - # }; + ruler = { + storage = { + type = "local"; + local.directory = rulerDir; + }; + rule_path = "/var/lib/loki/ruler"; + alertmanager_url = "http://alertmanager.cloonar.com"; + ring.kvstore.store = "inmemory"; + }; query_range.cache_results = true; query_range.parallelise_shardable_queries = false; diff --git a/hosts/web-arm/modules/mysql.nix b/hosts/web-arm/modules/mysql.nix index 84578ea..23b8159 100644 --- a/hosts/web-arm/modules/mysql.nix +++ b/hosts/web-arm/modules/mysql.nix @@ -69,6 +69,8 @@ in { settings = { mysqld = { max_allowed_packet = "64M"; + transaction_isolation = "READ-COMMITTED"; + binlog_format = "ROW"; }; }; }; diff --git a/hosts/web-arm/modules/nextcloud/default.nix b/hosts/web-arm/modules/nextcloud/default.nix index 0178543..612cc8c 100644 --- a/hosts/web-arm/modules/nextcloud/default.nix +++ b/hosts/web-arm/modules/nextcloud/default.nix @@ -1,30 +1,67 @@ -{ pkgs, config, ... }: +{ pkgs, config, ... }: { sops.secrets.nextcloud-adminpass.owner = "nextcloud"; + sops.secrets.nextcloud-secrets.owner = "nextcloud"; + sops.secrets.nextcloud-smb-credentials.owner = "nextcloud"; services.nextcloud = { enable = true; hostName = "nextcloud.cloonar.com"; https = true; - package = pkgs.nextcloud27; + package = pkgs.nextcloud29; # Instead of using pkgs.nextcloud27Packages.apps, # we'll reference the package version specified above - extraApps = with config.services.nextcloud.package.packages.apps; { - inherit contacts calendar tasks deck; + extraApps = { + inherit (config.services.nextcloud.package.packages.apps) calendar contacts deck groupfolders mail richdocuments tasks; oidc_login = pkgs.fetchNextcloudApp rec { - url = "https://github.com/pulsejet/nextcloud-oidc-login/releases/download/v2.6.0/oidc_login.tar.gz"; - sha256 = "sha256-MZ/Pgqrb8Y9aH1vd3BfuPhfLOmYyZQO2xVasdj+rCo4="; + url = "https://github.com/pulsejet/nextcloud-oidc-login/releases/download/v3.1.1/oidc_login.tar.gz"; + sha256 = "sha256-EVHDDFtz92lZviuTqr+St7agfBWok83HpfuL6DFCoTE="; + license = "gpl3"; }; }; + autoUpdateApps.enable = true; extraAppsEnable = true; - database.createLocally = true; - enableBrokenCiphersForSSE = false; + caching.apcu = true; + configureRedis = true; + phpOptions."opcache.interned_strings_buffer" = "23"; config = { adminpassFile = config.sops.secrets.nextcloud-adminpass.path; dbtype = "mysql"; }; + + secretFile = config.sops.secrets.nextcloud-secrets.path; + + settings = { + log_type = "errorlog"; + allow_user_to_change_display_name = false; + maintenance_window_start = 1; + lost_password_link = "disabled"; + oidc_login_provider_url = "https://auth.cloonar.com"; + oidc_login_client_id = "nextcloud"; + oidc_login_button_text = "Log in with Authelia"; + oidc_login_auto_redirect = false; + oidc_login_proxy_ldap = true; + oidc_login_attributes = { + id = "preferred_username"; + name = "name"; + mail = "email"; + groups = "groups"; + ldap_uid = "email"; + }; + oidc_login_scope = "openid profile email groups"; + default_phone_region = "AT"; + }; + }; + + environment.systemPackages = [ pkgs.cifs-utils ]; + fileSystems."/var/lib/nextcloud/data" = { + device = "//u149513.your-backup.de/u149513-sub4/"; + fsType = "cifs"; + options = let + automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users,file_mode=0770,dir_mode=0770"; + in ["${automount_opts},credentials=${config.sops.secrets.nextcloud-smb-credentials.path},uid=983,gid=964"]; }; services.nginx.virtualHosts.${config.services.nextcloud.hostName} = { @@ -33,5 +70,17 @@ acmeRoot = null; }; + services.mysql = { + ensureUsers = [ + { + name = "nextcloud"; + ensurePermissions = { + "nextcloud.*" = "ALL PRIVILEGES"; + }; + } + ]; + ensureDatabases = [ "nextcloud" ]; + }; + services.mysqlBackup.databases = [ "nextcloud" ]; } diff --git a/hosts/web-arm/modules/zammad/default.nix b/hosts/web-arm/modules/zammad/default.nix deleted file mode 100644 index 43ea290..0000000 --- a/hosts/web-arm/modules/zammad/default.nix +++ /dev/null @@ -1,117 +0,0 @@ -{ config, pkgs, ... }: - -{ - services.zammad = { - enable = true; - port = 3010; - secretKeyBaseFile = config.sops.secrets.zammad-key-base.path; - database = { - createLocally = true; - }; - }; - - services.nginx.enable = true; - services.nginx.virtualHosts."support.cloonar.com" = { - forceSSL = true; - enableACME = true; - acmeRoot = null; - - extraConfig = '' - # Virtual endpoint created by nginx to forward auth requests. - location /authelia { - internal; - set $upstream_authelia http://127.0.0.1:9091/api/verify; - proxy_pass_request_body off; - proxy_pass $upstream_authelia; - proxy_set_header Content-Length ""; - - # Timeout if the real server is dead - proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; - - # [REQUIRED] Needed by Authelia to check authorizations of the resource. - # Provide either X-Original-URL and X-Forwarded-Proto or - # X-Forwarded-Proto, X-Forwarded-Host and X-Forwarded-Uri or both. - # Those headers will be used by Authelia to deduce the target url of the user. - # Basic Proxy Config - client_body_buffer_size 128k; - proxy_set_header Host $host; - proxy_set_header X-Original-URL $scheme://$http_host$request_uri; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-Host $http_host; - proxy_set_header X-Forwarded-Uri $request_uri; - proxy_set_header X-Forwarded-Ssl on; - proxy_redirect http:// $scheme://; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_cache_bypass $cookie_session; - proxy_no_cache $cookie_session; - proxy_buffers 4 32k; - - # Advanced Proxy Config - send_timeout 5m; - proxy_read_timeout 240; - proxy_send_timeout 240; - proxy_connect_timeout 240; - } - ''; - - locations."/" = { - proxyPass = "http://127.0.0.1:3010"; - proxyWebsockets = true; - extraConfig = - "proxy_connect_timeout 300;" + - "proxy_send_timeout 300;" + - "proxy_read_timeout 300;" + - "send_timeout 300;" - ; - }; - locations."/auth/sso" = { - proxyPass = "http://127.0.0.1:3010"; - proxyWebsockets = true; - - extraConfig = '' - # Basic Authelia Config - # Send a subsequent request to Authelia to verify if the user is authenticated - # and has the right permissions to access the resource. - auth_request /authelia; - # Set the `target_url` variable based on the request. It will be used to build the portal - # URL with the correct redirection parameter. - auth_request_set $target_url $scheme://$http_host$request_uri; - # Set the X-Forwarded-User and X-Forwarded-Groups with the headers - # returned by Authelia for the backends which can consume them. - # This is not safe, as the backend must make sure that they come from the - # proxy. In the future, it's gonna be safe to just use OAuth. - auth_request_set $user $upstream_http_remote_user; - auth_request_set $groups $upstream_http_remote_groups; - auth_request_set $name $upstream_http_remote_name; - auth_request_set $email $upstream_http_remote_email; - proxy_set_header Remote-User $user; - proxy_set_header Remote-Groups $groups; - proxy_set_header Remote-Name $name; - proxy_set_header Remote-Email $email; - # If Authelia returns 401, then nginx redirects the user to the login portal. - # If it returns 200, then the request pass through to the backend. - # For other type of errors, nginx will handle them as usual. - error_page 401 =302 https://auth.cloonar.com/?rd=$target_url; - ''; - }; - locations."/ws" = { - proxyPass = "http://127.0.0.1:6042"; - proxyWebsockets = true; - extraConfig = - "proxy_read_timeout 86400;" + - "send_timeout 300;" - ; - }; - }; - - sops.secrets = { - zammad-db-password.sopsFile = ./secrets.yaml; - zammad-key-base.owner = "zammad"; - }; - - services.postgresqlBackup.enable = true; - services.postgresqlBackup.databases = [ "zammad" ]; -} diff --git a/hosts/web-arm/modules/zammad/secrets.yaml b/hosts/web-arm/modules/zammad/secrets.yaml deleted file mode 100644 index 7d5ceb0..0000000 --- a/hosts/web-arm/modules/zammad/secrets.yaml +++ /dev/null @@ -1,40 +0,0 @@ -zammad-db-password: ENC[AES256_GCM,data:FFsTnwQcL8V1ZWvZ9a15FWcHnsrC7nuDW155reSmfg/IRhRfrtnvbCDQ0N3AMh7TBiyG3x5za/6orV04CplUgQ==,iv:inQXkwlTbGaKgU3nfOtIYMcheBdGv8xa7dCad8WrGEc=,tag:fxjNRCUpS6RMipk4D08new==,type:str] -zammad-key-base: ENC[AES256_GCM,data:z2v1GrjRFoaDY9tPaAsUJPVRHZhSOrXWCZhhm5E6rmH4s6QWU1EW7aY4PPgditdcathLRWkDlBT5c3SQ8Cd2DPLp/SVn9Xd8w8g/lrplhNC2sJXUyB+CUgdEnBBN0XPMsFWNx9EIrqGrF/A8js5eKtQON9fCNytaHMOsCCc0rNE=,iv:oHKiXE9U0h846XVpCrcD/dFJ1MAXCYrnM80CwaWgALc=,tag:W88DsRWvdudMscH+UBPy/Q==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUc0RlQUt4VHU1eWZrdlF5 - UFhjSU5TWFlGbTIwbzVlaStHaWRTdS92d0YwCkJQRlh0eWVNRW9SdUFXQUZzNFYw - dktoSmFqbWxDbXR0dDNTNy8zTHYwQUEKLS0tIFFwQkdvK2QvSmFGaVRBaVFMeEFi - YUZ6b1dzUGZkL2t4aU5tTjA4UC9KU3cKmhugvvIexQqpVtGp7aLKU7WSQNxk0cTO - +8MWF1v0mztJlGbiWk5OOzT9L8TO7GDGXfi8GyMVgVBvaA7tFF709w== - -----END AGE ENCRYPTED FILE----- - - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFZGRWbnVxVUdHWndEanlk - Wmp4WS8yUjdrVSsxTHFNcjFUWm5IZytaZVRzCmorZTJRSnBRTE5qK2xiZGtYNXZH - RjBDdWE5NjE3ZWtXRU5Fc2FaVFkzNUEKLS0tIGwvUjVBL2NpdTFsY04zbktJRGxF - QWo1Vm56dnZWQ2l1K3hzVlZDL3BaTHMKw9CjtbS9hyW42prUhlTIcmcb4Z6OaxRr - T7RJZxXefEr4myJYI5B3pqbXlBpSLLwS4lgtoqHmmYuSNjL8/xoksw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBicStLZGZvdGJyMyszMkFo - S2xTeUM5ZEIrbUxqbXBxQTUyeHhJVTAzUm40Ck5KbngvdWYvVk5VYTRCUWhZeFkw - eFJKVEZ3VnpuL3BmOFVQdCs2K3hoTUUKLS0tIEhFRXZyRlpPZUpEanFMU1oweVJ2 - RVJjc0FUb0NFMHk2M3gxTmhMYjlrTDgKR0tfq1CWU8OdeeigOsKqNx2sszVtPWjH - yXcqe/jLAnvS/Ut/afEyfGYEiyyzJXLp9TGjV1fAp9y2K2noD8/TwQ== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2022-11-29T10:54:56Z" - mac: ENC[AES256_GCM,data:OX49RTucGWdH1RkbXfkiMLH2Lj65v554WSfJxkCkIu/dFagCH90QSRiX/15HTsI//ffwKVurDivC6H6OByK2eWdaeCYTEn2029GjdL4RhJhXy0RLXEq5D/KVRu73O9Xe6M36asc/OenzPcmbHAvddD14y9vaOsVTL0H15ydVrwg=,iv:+uBt1Mvj+WMM4CvAOwmOXhZJVZBXVDCXA8iSXpdjktU=,tag:AeipsBJ8PA22OfUxXA8bIA==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.7.3 diff --git a/hosts/web-arm/secrets.yaml b/hosts/web-arm/secrets.yaml index 1af411b..e75ff8f 100644 --- a/hosts/web-arm/secrets.yaml +++ b/hosts/web-arm/secrets.yaml @@ -1,9 +1,8 @@ -borg-passphrase: ENC[AES256_GCM,data:V77hfP5jk/DXcvRiZKu6RLAqsJhlIelkQwA6ClYJKNmMtvAXG+g6794YJ+ooof1h8qcnMoctEWMUcsBetjaguA==,iv:OyJF/dftfEaGUnmbzrcn0P0tvnUZX4l6Vk0Qf0NwwfE=,tag:AAkRMD+jq01BPq2LSYPQGA==,type:str] -borg-ssh-key: ENC[AES256_GCM,data:7F7uUlTP3ZKkpySj6/AGfH3K1/8/GzIdfp+ch1hU55zX51KgRs/KuGmj+yKyH9ua41oR4FR94MoiTb3u3MRpUj6dqO4VjVm6fRgJFNXOBhTUcelRR98Nq2QClkRqcNmPiHQC4bxjyW9C1tZfCA52AIILGh9O1Q9XnYAz2q8JwbrY+eTXS/U/1Fh1D+0Y9q1n+oingehal2huHzeVsLxFlip3TmGJx8QBlnAbANABKrMFxkHAlkvAVCrF1MULzeDeeWscHi5T80OvJfOZBSonNEZosw6QJVscMYxh047Yyl6YJ/sxIJjZjC7GiLuG/FC0FCLKRhD8PkZFjrDt/6xwrqePxIb7yIKZRpsvNVCplDDdVOB/V0AqRWAeZh3z813Zi+tnjynHPYaphso/qY2r/HZKlGInzW+QCUBdPVifhVL+y2TKytCWcp4A+c/3Dc2Ut59sfO+hqE946nYGl2S+kpNASHhBa7o6cnaMtfz8NT6rVtYN/3l1snlxeOUZo85XAuYCIerGsMkdVENg5RIJwIzwM0oaGwNzruq8cul5MfAf8hFMXpoLggYECynHk9TNdhsNtUzmsS9cXAyPnnzZT6HGI2/5cgU1weCHbbXAq+ZU9WZwOT41Fpwda/WrNJuMJYFCOFer2hcSLEyxsCfqmPSdwpYRRSYHiaCuVghV6lWyi1IVV5EsX9H6hD+Uetux1SEN95ga8edME16W2dubA0yukcOq+XHI7PMEHAs20H+dybsmVx1XjIsiV/XBWkrooFBXQp950p93XOK49vwNmHNohhCvmERkH0dczGQ5vTAMXwIYqydTqXWERDRzJVvK+pbzKiecEzhFHFge345poUKQS7BWNsv+eehgBAH4HEddtzzzjcPGYMHAhafAm1VqO2BvKg2r3XnzElUCjxWlGfrMkU+LhIgAjom8Mk9+Kha+OD84+iZnuoq73TjpqaUgC0TbkxLAm0DPgk8LsLE9XfJaroftKnrE7P7kyNGSQZfGYcl7ssLck5LJA07dTvDtytlL1Kk8RJe4FwFNPLtdiAnCVvKBe0kcClvCWrrxRt1QT85b+9IwG1yhRxlxheleePX1Fwlg/d2xj6AB3Cz7kAVO2phGPAF16Ke/UQeMxhbOIcy20g7RoiCpfx9jvdwExhDmbmUR7cleL1seFH+wgAM6uQwh80+q8IDJWPNyeXOwiA2siPwexb20xN+n1kIMa03U5Bn+lBqYoh0xXhlDHP3FiKew6xjSducNUtzyKm24kQaWSOfYIqTxYFRTI0bDgRu6xWGmZL37VSMWqDj3TIWOMBoLy0JBsRl6Jj07keJ0CwaNEa4cCWZ0s6nu49mp04JfJWF2r9ksX+2OVeDjSgX5JBB/V79j3I8iu4Nlp0pjyBKPlST/FUDAl1jT12X1grkYjXO8UyJ9AQqqnqK5lM+KYVR15Ui1lBb/vISPqiiw45bcUyHfVAAt7hcFpYLaYB0om3mernccN2fi26lawhhambRd7FGkILKA3byE9ytqGvDQ2CxtjA30kbGxeqXVFsyzROahR0c3KdKlnuCO9Uar4J5VEXgv2obNlNUfSMa9uleWDuhveBaE+2jtKUJd2P4wIIzF/VJGxgWGSge/ji0EV36EFfMg/Tyizdw5wtv4rQF0M+Uu6j/n/l62SmHnT/30H8IFCFuXWmtEo1xcssMymY4ricU3kJIgjGO9h+DrBP1GBczj7yVjLHTpEhRF0yP790xgsJrP4IQB2lOtGf5MCXLrBDYkOZ5xM3+Rq5ZNH0SAHRU/qtFUmLtfkcidjkPiwdqJ0e1LUtLwmSlsot1CkPs7hKORassyUrug7dCtv9QjRMDbtW61PlIbXqa59Aimql4IUcWyUybx12E8wRqmgcX5kG2wGfd9ZFUj6mXhQINFqChsTjXSavQw3u3m8kvd1mJXfjKS12ajr2X1e5wPDUEpLzc3wTOvVgZizGeykKTcKG+GXSjPXLR61ueAO26rboYiDAeSd73shFX/vvut/aB47kZobMOooljGVtnfZjVGY8dWzdNeGvBeLws7vnFrH1u/WXPxpktGz2/eJ0L8ANJd+BZ2+wC+R3OnHeDiXHfofm3dZJTncgxYPqboKKCXRzMviSCWB3poQTm5vEltsQOR6Lj17UmHu5MX7os7t7TrfW/op4Qko9ViWT5vtrUrCZzVqJS+d8hq4lm6ANMhi3Ql+nIMIxK+hjGZNBuKZEyKY+r+Lhz9E/xdOBGVB8QH4g32DWsYvaHfpcvJC8CkGO1nRIGFyrMc10lrv++XQYtiZ1Z4a0oOtQGAXaPGQTJB4KzwlGWc0+kguV+lK4h0QIvHvuorghYC4EJerNdRUviRxZB5mTDyJc1gGq6YgMr4d/a4tyXwoEzPbPGc/3YJATZPYLXOMaGDo0rd2961CFfrsneElNIZ71DWoy41P1fJG7qrfN0gLjU0aSC1vVnzDM8GQvoJGV35cONT7N7u+hjjFBFciLBNEE1DKge156EnP6VbR2LSptWrHeq3zOe9fN3FFR1WWor+lOl+SFztt7uVHCLuWxYPV+csOeBLQi6OhFnh9r4mLTc43wjPkbuci2jqEVM6Bf5gXQoEGzybhDb/3HfQK00NXovru5uEdREYDaj5NVyzyBhOT29JuOvqX7wEMNDqE//Me6Tx8bU12cuUM7Lne7grgYQMbYfLs3gKzRbeuYCqGCIz6KQMDOZvTR38EXqJxysrPb/HuiPfoSGHoAIHviJeIsy6bF7hKA8BikrMmoNc4762pKNKNzBGR+/HeQ1trDBCbYrTmlqoXPJaeANUZlD9NdwiopTJCBzjP/F61s5bpurAiJF6Ymx5yUHljZGVPFOH/ZawfhEcfYGvMUnAOup+EJCih5WQsrn2vodbVYFJ5GNMrDH9//uMi/cwqFWlBqnKGgnGdyqzXlLYTTMlv7fuh3XxkjRRTh6ZVuLyBqEBnXzSWwlcLOUdw3r/48JJ0JC2/rTLVnb+R7T2/+7uXVQISIrBx1ijtRCzFwaFWAPqsL+nMevAHnjpWl9NvanNWKIPIQ6cHGywxdi/7ynEnCYlY13fyIpagFKrgywsHcHuez8cyNtGLpg6hwbSEeN2wZYld+DQc5UH9pqPvvTuNHu3J62WJHZlkc6yBs/hiZBT/sEZUrL2Bf3SNFjzt/IcNSjlVbpP6dd6HpIH6tuN+lQJNypRe//TgKviHBkN0mzmw7IuRIDz1tcVA28COCo8NkzyD194zxDJ8yYKfKH/YwN5q8/R/r/EuUcY4qbeAokaS7XcIkOp/QFKHVM6AYKZ3SPyB5ZjkHFoHBG7YNDrx8AHDNemG+WUev/flmsEv3ykgTztgOoCmTqH/rduS+BGcKwsNW0iMwni9mUiJfuNdYLqhWohGLWb/mkUVoTgycXtsJ8x5BGkk4wSuGSwGCur8yVel7+Fr6CzsVGiPJOa0RHO6sN+Y9jnSMPIVm+mx16j3Q==,iv:ZGV3C0nvqdEnukiPkeMxDD66OjeXQF4anQLkALmBno8=,tag:ELar6NeP5bjL5L/Z5m7Piw==,type:str] -bitwarden-admin-token: ENC[AES256_GCM,data:WWkkhaSwJA423FSeSoEmssACB6qjyM2usKFQhGqzP+es5bIbr4SxpC1vhWHoS3om+OndVsWzQe4NZ9bNvWAefw==,iv:S/JBDXLZDaCG6EvFigIdSv6GvmFAL8w0BJZFYoGgkl8=,tag:bc7bjJUlcyHEsO3AEd4sxQ==,type:str] -bitwarden-db-password: ENC[AES256_GCM,data:ues1754DstLekOtmjbi1LgpA4nV+4i9xUcUH05xPQSa1osvig1prh3JVnyYxJpy2zOqeRF0adZuRyb7/P/SLpA==,iv:AZG8FGPrcgfgNCtYjCVvIEHI3bkIjWVf82QRJ+qQdRA=,tag:IHnlKpWdyAjrgrzYaJtYiA==,type:str] -bitwarden-ldap-password: ENC[AES256_GCM,data:gz8ntl7mwA9f2I8LjTR2lBky7J3xYYTyQwXBrunF8/6eEgAme0zxeA5u3DTUrQ4BNfUqPfxHOIX38IxiLKRyzg==,iv:5J+KIER7R+93wdaiK7FAfS5+m8qFDruyTYh2a3n6PIg=,tag:dsT7s2TKWKcwgl3yOE3I5g==,type:str] -bitwarden-smtp-password: ENC[AES256_GCM,data:og0n7HJhplyAUDY45iuKtjnOOwmW9wD2UUwrt7/Mf/DgWbhLiYJH/NVPiUhSERMimZjTkjuHHp3bNGiIPRojX0ukJTbfiX01/BipDon1TVleLNq/tYB+VjL9KDoYi5Og5gg2ZG0DfXu8IKYshF0UD9gpYHmmxDWlZ+ZTi19cDKkiVErj44ov3Bia7hs22FHqg2J946PmWJbWDTuYKRqyynAoOtfwmrSXVW+Q+xmHNYIfOiNHo/33V1xj0Ldl49g3ry3nFBP9OGnPKOOYmekv14ehJ4eixDuZQT9gpU5m2zdHRAcapW3T8TGZIibOGlMeYRbPzBoISOr+q419bsAuB90lzpGLZfkvriHxuxtpGSg=,iv:WTvc7i4hrDi5aSc+PCL+gTuf4KKZehwk6WfgXumnRPE=,tag:TOHJsAJi2t6L9ahrikS67Q==,type:str] +borg-passphrase: ENC[AES256_GCM,data:l4yO6pdxeaiyyYhTVpr00HPwCgBsrvJzN+YjQb+sf0HdmSiXpiwVvD7MuVcN1OgdupJ3uVR4sfDa0fM0wXJZjw==,iv:xp8rcuBicg/JhOvBe9dv7vUzqjlp6qAR3/gDt0dX8ZY=,tag:yYXPN8GVbYbi1DrLbDjgNw==,type:str] +borg-ssh-key: ENC[AES256_GCM,data:bS84F9jvxuUR3190aBOhTuKbC+ieKmTby64PUTKQiWuhI9aChRSrgmPRPEwGW1aV7lWzC3rBmWwC9BRMuL7J0ZqYlijssO0h8cMZ5RR3REhmZf9ypfS015EBmyB3cUk0sYuQSSzNV6yYNvaparPlK+LOqCguWNtpHnstfh1doHbvaFXcm4dULU+n4b5yKu2vOG7c4HOJIefFeN06ZH1ikOtW5u9sVxPVB5vCvyM1GE6A/pBVZN6fNisnPNTUZLEwDnM01FS/jdkBIHJtV44tspWxwUcCySCL04VTa991TGqVFz0LzSByNmdFcpvdzTBYdUu5e6mRXwRZ6NUytRDcAL/iA6IWK9MOceY+dF0ykaR4y7XAs9TnfUk69Lveb9xFF1Tv43EsLW2yLwkm28p2FLgdhv1jck97mQa7wJKU73mV0YLYPkourEeiMMdyYLlK9wfGluAekRwMAxjfmAZzu2+s8JpvNHmggYXV4McvuWkPiF7yOGFeijl6BOaOxJKiNSpdmszpxxmI52X9nO8L,iv:Evd5X9tDKytlfn5WZt8+IOAm0vA2k6gAUYXcZoevGoQ=,tag:SFjOnpeNDufZBvgQjzLJKQ==,type:str] +vaultwarden-admin-token: ENC[AES256_GCM,data:61qZTUh60L09dAn5Cbj1VVPIrs0xiw5oWDxvJ7CvPHi3urtjnU0QarclgMtYDo7ES0yBV8omFLb27hQZ4OY7ww==,iv:QHtGNhzJiefIWXdaq50dnLKl6qsD3k3zGI7BZ91N0ic=,tag:R3vsVE6vXrB45rb2RaepBQ==,type:str] +vaultwarden-ldap-password: ENC[AES256_GCM,data:ZHSGJslZLG4Zan+LZo4FxHjVjOv8u/s3Mu2572VR4HyxtsFzzsIU/1G4As0Dj9HnWx9Jad695udtzSsREf2TGw==,iv:ruyPj++6tLxbzRoOTl1bT+4M8ZpV5gu1GLj4EavMuVU=,tag:y3kaiXrGjuhwx2SOJ9ZCMA==,type:str] +vaultwarden-env: ENC[AES256_GCM,data:wDhfHW7BcO0eGq30jJNT6OLv5+LLOQskQrJjtKzUXQg6ptMGQuPmDlgetUq602HplP5mDWULoleyUBYCQB44FrU2nq+FXCCeUk/5N9cyfCsnXcpF4eZhLLT6jVFfSOZMs6vPYVl/Er+wklwbztguyLMtBHqc4p8XqVSigs8Bod6iLBO7Pbr1qm8gWUNcy++cLl9ZHncpLbcIfIqo/rQXMujXu/+wTSQPwR6x/cRV9zqUdPB2EEOCoGBSbYfHIxLBpOK5nbFoi4m03XHF8e68z+TE2e8KmhqoLH0J8MYGtH50WCc172pDTWzQ17BKr87KrL2YgSqe2g==,iv:XZKq5AC5ziaxtdd5/KVteEY0O7CcF8KKX3V7lyxVR5w=,tag:3r26CTdVvYsuYOam4wwQsg==,type:str] authelia-jwt-secret: ENC[AES256_GCM,data:sr3+B5UPtPsAYq8Dwqrbb/hXKuY49nWKhkQ11DGfSSgdIEOnDHP7jnyDCB1Mt536djovmrl1AlOG6/JKyxvakQ==,iv:r/LtU4sef4bwSY+T9TFccZq+bKrcdZ/lPsY9QInQ3xk=,tag:GNC4kVLRuxxShLwIPGKZmg==,type:str] authelia-backend-ldap-password: ENC[AES256_GCM,data:36qJ5r/ddjgxzq82/EkvYVM8VAKoHpNUbIKlimm7eABk2FkEw+U/7h5ZLjFPmKtKkbOUSI7R48xY0cKkodKwuA==,iv:jG0rXAX8Yi2okp1Y6ZSiGgSSAVFJakKEI781EpVgOLc=,tag:cPd4wmAaF81KbVsnmIy+NQ==,type:str] authelia-storage-encryption-key: ENC[AES256_GCM,data:A0w+CuVEUZZruXYbPiM3Mv7DcsXlu0+PvzLUS0oX71YAX7jnYBrJBFQ+sg7Y19JhQOvugCn2VJoSkcXErPq7Fg==,iv:p90bnFfoXOVEZ+BalN+Qs6PMWG8cIAqHE8jGQAaJAJU=,tag:1yp9z6UyrasKPYHHTRyHlA==,type:str] @@ -17,6 +16,10 @@ grafana-oauth-secret: ENC[AES256_GCM,data:OXsKChjgnDEKG58LarUpdJlDy4FJTrs1lrHH9I promtail-nginx-password: ENC[AES256_GCM,data:zk/Wq+Nss6Md0GdhoOcysPrDBqfoAobmqb4LMDkJBjpCn/mdP3/HPiIYdZnZ0vV0JmYpQVqgVFPMlA==,iv:TA19kKllw0Vco6RRlbW4eUqeGQ0SQJRr/TATmyZBMrs=,tag:10/87/svXdL1hpUcTOtY0w==,type:str] victoria-nginx-password: ENC[AES256_GCM,data:+rKDzML5eQX47JF1i/ZU9jwdeLgRXPyzwSCt+iDzsCx8RKSn+omTESs/P4lj9dBPO0zjo6w=,iv:o4JW6EIwTMt3SAqhGscnc9iQBwWr6VYFSIA5sc86+pc=,tag:OvupW1Py8pCu5IAemdc81w==,type:str] nextcloud-adminpass: ENC[AES256_GCM,data:/vt17v+aaucz8sq/uYUA0hlj1urKNYcmCN0LbgGAMhWoTiTwzYr5FzrygOuZWZBeaAFH1pWItTZRXj74OX8XqutLPlYDg/jZqLszU0/9HgSBoHb5ZnPUpzIjNI9dpMttPphpo5TVrYKoh/vR3OWjJa3ObcpGLdvMQc1r8ABEvvg=,iv:0xW7++80CwZy0O4J3bFElqp0ZMC+RpO5kcczshM1pzg=,tag:PJj5PHfkoHE8jRbS4mpq6Q==,type:str] +nextcloud-secrets: ENC[AES256_GCM,data:FwP+z4B03m0VEFEb8c/UwBKMcWXo+2dnlBAuO4SCVXNBLdq3IK+e8gGzKima+sac+WZ3k3ncPAqyIomBLwEmIUB/24xYx4SL6AddwDoyytZbVDv5Zt7Vpvy6aheOvARoqez3pWMaC+rW11JFVw==,iv:BT9eGRUhHMbwkhuQ+cC32zHICRbm2hQQeVfIHrCB+JM=,tag:GNpdz1QYEcfVvmkjFJY1vg==,type:str] +nextcloud-smb-credentials: ENC[AES256_GCM,data:Ra1iVCP/Y1G87oDrn01JxorTQy6d80POKIVEbHPttrd6x5QgEvvyWIz6rCiK4mEH,iv:6wXHBSwq9P+tHrkB82ZReFXsUOF0rDi2hpZ8jXLU7OE=,tag:Fu4RB0hPyHFpN6YLTtfGDQ==,type:str] +pushover-api-token: ENC[AES256_GCM,data:itcWlyaJi+saBmhLabOOgbOej9yxQgCIiwU9uuOg,iv:dnD12MPZsENogsnCMGpZe1F0cC4eFfefSx7sP9Fl9Mw=,tag:lk1+pkvNab6yG0Sv/+TVIQ==,type:str] +pushover-user-key: ENC[AES256_GCM,data:swXKXMAeCyYbBQNAEEpDTJXjdNmFFVWnhExAqfnn,iv:AZd6phibpwEX97U/SzeiRoFFL3TviSONwOWkPsXdcKc=,tag:+mzfrxHpTWOzb3bEzN3D5Q==,type:str] zammad-db-password: ENC[AES256_GCM,data:4LkMM06cs9H/ricsE+2LNin8PIn4MLbi+TaYpESeAhUz7M6JFcoLGdn2Rws3crGuCWVLColh1bv0hALLSYQs2Q==,iv:MIufiAixz6wLp1byQ2tiAx27jJGUAnVGs8KLWLaqk+4=,tag:Wbq6V3661r3Ue942q1jBRg==,type:str] zammad-key-base: ENC[AES256_GCM,data:IERHJKzK/kRa4P6EfpSzt/9Xj1I0/YGl/Fj8ISA/WQFn4+hu9VqdJzMoVgZexbjhpB+fPWmxwyGBhrsJRf77zJGosRzG+4MPWPw6Yggai6TGbZkxj5St+I7nm9KZbtkCbo3pH3YLXhKCFVZJuSNtBb9Y3sqd0h8XcygMQbaf2Js=,iv:FEZUOBulpPDGUuJztod+r/17MEmojKrOe+HptecMdTo=,tag:ZsFKuUKaCgc01/iDJgbkNQ==,type:str] sops: @@ -28,23 +31,32 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTRTZCcnlXaHhiVlRhTlo2 - RWlWQkY0bkJseHdVU1BvVHRwcHhNNU1Yb2xvCm1ZeU1KY3Y4WkZPRmlvQ01HdTVP - b3lDTjZLVTRnV0NxQkU4ZVg2ck9FYTAKLS0tIFhnaTRSVVlpM28zaGI1OFJ6VkpW - QkNTd1hzSm9zNnlmTzlpQ1hsa2loeXMKfWYt6gtlXRv97kmSeT31fSA+JfQFAeH/ - e+Z8maFTUte0NF/toqsxDJPyLG8TPaWMiS+75RCRPXyvxtt58H5iOQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4ZjFGT0N2SGZkQWx6NS9x + OWpsU2RsOG51akRUYlRoL1Rwd0NyZkl4ZTNFCmowdXl0QlplMlFhYlg4bFpwYVZm + OTRXWE5wY0JJQzlaQVRuVE40Qi9XcE0KLS0tIGJ1MmhIc3RuR0U0WWhDTjl1aFJG + aGNabFJKR216dlFETmRPMkdnT0J2bEkKDz9UCFSUgFxPHJLvs8Olm/UYowbuCEl8 + wDCJFobtV7AYYB3gJmXA46DHefsC+7rbUJ2E5y50SFIeofcEK/oorQ== -----END AGE ENCRYPTED FILE----- - - recipient: age136s4znrmkheztq6mps46dj5z4avy2umzz3the58fqtlsksvx5skq9ljqgk + - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSM2NzUVVWZGZ2alJ4L0lC - TE9UWHEvNmtaT0pnVS9mUUh5VHdkQ1lIaDBNClVmendCYW5PZUNqUTFEYUhldnRZ - UWJqVTU1ajJNa0FtcnBDdThFYnBETUUKLS0tIFFROVRoTFNUOHVLSjN6elZzb1RQ - MXlOWjQ0cU1mUEhhTGlLWVNyS2V5c28KDNN6eK17Z+RZtb1/pH/tr8y9qk34cHPg - UGKimFTU2o0CvZY7ZnA24XV2RgfKs2J7COUc8I34b1kWPge57yQbJw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3MWk3dEpkYkZxdjJpVDdI + RTdvSElPcG9JdjdzVGI5RTJWNUtBTEt6cFRjCnJpQjBtdUdpTHlHUXZMaVIraDdE + YlBKYWdBNzA3L09oVzRPdDEzOGJiOVUKLS0tIEpzTWhuUnR6VHpMMVhVdEpWKzBy + WGo2cHEyZFg5UnZEcUlmeHoycERCUDQKEPymfQ8YOkDtamYtyXkws5H5yuylOjtD + 7C6nmKruZzFNIUs8Wf6u2TLtEPEsR2AX9k70ZjtOoygIHhvIpqY1uA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-08-19T12:12:46Z" - mac: ENC[AES256_GCM,data:W7MGnXfVxBgS/AQ5Xl6PcK3P4rH+1OjbWGBJBlz7KaG3uZXf8rnZGb7OUgYadu1KjhWZIJf8i3iyOBSqPTnBbd2xYKRMmxJj1qMlGY6dx8eGv4Zlvahs4pzT0iGqhC9Ce0+mc1QQwiD7paq0PSgNAy8q2XudITCS6iIL9woc+CM=,iv:SyTmDoG49wp1WPYUsnjw6u28Ch4N8a3T6EFncCgel5I=,tag:xJk//KA/Zhq3bjy1GG1L3g==,type:str] + - recipient: age1ylrpaytkm0k5kcecsxvyv5xd9ts4md0uap48g6wsmj9pwm4lf5esffu0gw + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJc0FIMmwyTFpHNlNOSEhv + TmM2eW5IZlZpekNwTERuLzRLbW5ZYk8vaFVnCnlTQlNiaVFwdU9BWHFrc1VnSWc2 + d0R1eHhWbTJPQjBsV0J0WjFyckZXL00KLS0tIEdwY1oyeGsxZzBLeStJSmZKVW1V + ZFBWTUhrbVJHTERMMkdDaDBkMU16VEUKi214s0sjzOR8wTK55lZelBKO+ar03lG2 + Ue4Rx1utf3DDskRY6ELqSroIYEMIWDk9rxQTovIQD978mP9vpXgfPA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-08-31T15:45:49Z" + mac: ENC[AES256_GCM,data:BjoytvHEO/mvFUdAN/jf3EnwIjmWzSbY3TgCOjIp4zlVi+QrtwLD1G6fTN6q8tWOrYUBETS93q5FsCHKqCh58TEp/JZSnw2OhODBAn8LmdNvbvXX3dNFkVvjLsLH9rl4knMD5gr2fSc+YqHsTcb1sKBom7pFEsRppnnbU6h+FZo=,iv:ipoiDA2Er9gaqKg5bbjvVSC3RTiUV+t7J72ns5IEdac=,tag:1/4KRpnUnm14jGAdS6EoxA==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.7.3 + version: 3.8.1 diff --git a/hosts/web-arm/sites/feeds.cloonar.com.nix b/hosts/web-arm/sites/feeds.cloonar.com.nix new file mode 100644 index 0000000..2f6a5cd --- /dev/null +++ b/hosts/web-arm/sites/feeds.cloonar.com.nix @@ -0,0 +1,54 @@ +{ pkgs, lib, config, ... }: +let + domain = "feeds.cloonar.com"; + dataDir = "/var/www/${domain}"; +in { + + sops.secrets.nextcloud-smb-credentials-feeds = { + owner = "feeds_cloonar_com"; + key = "nextcloud-smb-credentials"; + }; + fileSystems."${dataDir}/public" = { + device = "//u149513.your-backup.de/u149513-sub4/dominik.polakovics@cloonar.com/files/Audio\ Books/"; + fsType = "cifs"; + options = let + automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s,user,users,file_mode=0770,dir_mode=0770"; + in ["${automount_opts},credentials=${config.sops.secrets.nextcloud-smb-credentials-feeds.path},uid=1011,gid=60"]; + }; + + services.borgbackup.jobs.default.exclude = [ + "${dataDir}/public" + ]; + + + services.webstack.instances."${domain}" = { + enableDefaultLocations = false; + enableMysql = false; + authorizedKeys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDBGlzrg6NP5ezRFVu1CV8r0uCcS2oIgYG2/u6Cit++ARWQRO5Y0+9qC1Y2RNUaLPbvTmXg7ShskolUeuLryqvp10K2kXQ4E9NlmJ3BNLiAfWCzfe6gAgr6u5unVlXHttnP0leYpGGMUCKuiJpzy/bR6rMIUrCQC6W/MeXkwysNWKvL+ZD0IeQbogtfMFZmag9PO04RKZZvuUn9YvlgkTEK97g5dtyP1NxdtE9dDYf0G+0HcHITcw+lVmGNNwi43nAoUHieQd1kWc8YmxFB+y5O+vRH2O6pZBSdr0tdK6bPcezxd3Gk6i3a54yZfbvSislWA+o7s6uw/qExocpZb7xWa5ymPrGlEPbpYdT1y3hFO25+L1lR4QdG9oUNtJ974bL+EmYmHU+j32K3f8fxDg6BRo8FuriLtAzP7/2/7W8K4nIdMoosS+Ond2JE6XFkg1kSrXCivDBQoetZLO2y+ZPYcsQwIZsdjOnZqVr76nTepqCGIKYCuNM/9sl4AWCsyU=" + ]; + extraConfig = '' + add_header X-Frame-Options "SAMEORIGIN"; + add_header X-Content-Type-Options "nosniff"; + + index index.php + + charset utf-8; + + error_page 404 /index.php; + ''; + locations."/favicon.ico".extraConfig = '' + log_not_found off; + access_log off; + ''; + locations."/robots.txt".extraConfig = '' + access_log off; + log_not_found off; + ''; + + locations."/".extraConfig = '' + try_files $uri $uri/ /index.php$is_args$args; + ''; + phpPackage = pkgs.php82; + }; +} diff --git a/hosts/web-arm/sites/matomo.cloonar.com.nix b/hosts/web-arm/sites/matomo.cloonar.com.nix index 5f03a88..f81aad9 100644 --- a/hosts/web-arm/sites/matomo.cloonar.com.nix +++ b/hosts/web-arm/sites/matomo.cloonar.com.nix @@ -113,5 +113,16 @@ in { }; }; + services.mysql = { + ensureUsers = [ + { + name = "matomo"; + ensurePermissions = { + "matomo.*" = "ALL PRIVILEGES"; + }; + } + ]; + ensureDatabases = [ "matomo" ]; + }; services.mysqlBackup.databases = [ "matomo" ]; } diff --git a/hosts/web-arm/sites/stage.myhidden.life.nix b/hosts/web-arm/sites/stage.myhidden.life.nix index 1596040..3604d55 100644 --- a/hosts/web-arm/sites/stage.myhidden.life.nix +++ b/hosts/web-arm/sites/stage.myhidden.life.nix @@ -38,12 +38,12 @@ ''; }; - systemd.services."stage-myhidden-life-schedule" = { - startAt = "*:0/1:0"; - serviceConfig = { - Type = "oneshot"; - User = "stage_myhidden_life"; - ExecStart = "${pkgs.php83}/bin/php /var/www/stage.myhidden.life/artisan schedule:run"; - }; - }; + # systemd.services."stage-myhidden-life-schedule" = { + # startAt = "*:0/1:0"; + # serviceConfig = { + # Type = "oneshot"; + # User = "stage_myhidden_life"; + # ExecStart = "${pkgs.php83}/bin/php /var/www/stage.myhidden.life/artisan schedule:run"; + # }; + # }; } diff --git a/hosts/web-arm/sites/support.cloonar.dev.nix b/hosts/web-arm/sites/support.cloonar.dev.nix new file mode 100644 index 0000000..da24144 --- /dev/null +++ b/hosts/web-arm/sites/support.cloonar.dev.nix @@ -0,0 +1,72 @@ +{ pkgs, lib, config, ... }: +let + domain = "support.cloonar.dev"; + user = "support_cloonar_dev"; + + # phpPackage = pkgs.php82.withExtensions ({ enabled, all }: + # enabled ++ [ all.imagick all.pcntl all.mbstring ]); + + phpPackage = pkgs.php83.buildEnv { + extensions = ({ enabled, all }: enabled ++ (with all; [ + imagick + mbstring + pcntl + imap + gd + curl + intl + zip + ])); + }; + +in { + services.webstack.instances."${domain}" = { + enableDefaultLocations = false; + enableMysql = true; + authorizedKeys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIChPB1wdZUO/VTt2J9e0+mLYhXcsWSL487HNQfmt23vB" + ]; + extraConfig = '' + add_header X-Frame-Options "SAMEORIGIN"; + add_header X-Content-Type-Options "nosniff"; + + index index.php + + charset utf-8; + + error_page 404 /index.php; + ''; + locations."/favicon.ico".extraConfig = '' + log_not_found off; + access_log off; + ''; + locations."/robots.txt".extraConfig = '' + access_log off; + log_not_found off; + ''; + + locations."/".extraConfig = '' + try_files $uri $uri/ /index.php$is_args$args; + ''; + phpPackage = phpPackage; + }; + + systemd.services."freescout-worker" = { + enable = true; + serviceConfig = { + User = "${user}"; + ExecStart = "${phpPackage}/bin/php /var/www/${domain}/artisan queue:work --queue=emails,default,a5b8cea21bd06d071d2d8da9307d9e04 --sleep=5 --tries=1 --timeout=1800"; + }; + }; + + systemd.services."freescout-cron" = { + startAt = "*:*"; + wants = [ "freescout-worker.service" ]; + serviceConfig = { + Type = "oneshot"; + User = "${user}"; + ExecStart = "${phpPackage}/bin/php /var/www/${domain}/artisan schedule:run --no-interaction"; + }; + }; + +} diff --git a/raspberry/sd-card-zero.nix b/raspberry/sd-card-zero.nix index 8bc28a0..0f1ff79 100644 --- a/raspberry/sd-card-zero.nix +++ b/raspberry/sd-card-zero.nix @@ -35,7 +35,7 @@ in ''; }; - hardware.deviceTree.filter = "bcm2710-rpi-zero-2-w.dtb"; + hardware.deviceTree.filter = "bcm2835-rpi-zero-2-w.dtb"; hardware.deviceTree = { enable = true; overlays = [ @@ -46,7 +46,7 @@ in /plugin/; / { - compatible = "brcm,bcm2710,bcm2837"; + compatible = "brcm,bcm2835"; fragment@0 { target-path = "/"; diff --git a/utils/modules/borgbackup.nix b/utils/modules/borgbackup.nix index a796a43..8b3a257 100644 --- a/utils/modules/borgbackup.nix +++ b/utils/modules/borgbackup.nix @@ -70,6 +70,8 @@ in { "/var/lib/docker/" "/var/lib/containers/" "/var/lib/containerd" + # dont backup nextcloud as it is already backed up + "/var/lib/nextcloud/" # dont backup logs and temp stuff "/var/log" "/var/cache" diff --git a/utils/modules/lego/secrets.yaml b/utils/modules/lego/secrets.yaml index 3fac7e7..94be571 100644 --- a/utils/modules/lego/secrets.yaml +++ b/utils/modules/lego/secrets.yaml @@ -8,101 +8,110 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJMXJwSnlPZSswdE0zcjht - SVU5QzhkQWhQQndKWUFHeW5PRHFkTXB1YkZ3CjNONDJ4dmNmdjZDbUFWbmlibitu - eDZzNDd2VysvNTJHVTJtUkhRb0h2SEEKLS0tIFhzZ2VjK2EyUTRxWTQ1VVAyT1BO - S1dmN3RKdmNlQlMxWDJXeGhvV01JWHMK5vekesz0Rul/62RL3G/vcDF9ZmO5TIPY - YdAzZrjAt5Z87kobunkZbey0CJIBq25eIidg8PdbGmrx6VFoutns9Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzalcxQ2wySWNGZ3B1M3pT + d0tDaTFGMVlZN2tUeFFEOWpmbG1EVWpkb0Y0Cmp5aWFYaEFuTEpVNUFoZHRUVzN6 + K0ZjakpyQ3RXNEk3aTNLMTR0am0xaWMKLS0tIGhDbExpM0hLQzNyL3NoLzZzSkp2 + b3ZZbDJ2cjRNakdsMEE1TFdFaHRHb0kKGQCXJ602pCk1GqtN7/UiQqzGYmVWuSo+ + Pu1wBTNWaR8kjZX8+Kmuaqy4Be33bvqlKZio91RkATSdp618zSH7bA== -----END AGE ENCRYPTED FILE----- - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDMmxHZnJjVHp0Vks2WG51 - N1BGdjI5bzRUWDVyQmRjWVYxWktFSlB0TGcwCncxeE1uSTlRTzNjL2dMOUhJbmJI - bFNTaUYrTlBUL29rbEZDdkNISjlOSkEKLS0tIGNiM2RFRXhUV3RmY0M0N0UrTE41 - M0liVXlsMFJzVmR2T1hHUUt0d0VSbmsKANZB5eDBTVhG6jPA1mUQyN9VEWC3V4uC - eBXdxs79ZSw8MHzqVpyCLh6+ztY4oVrw2dkMYVlsK1Oe/9fEMeH4+g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTVkY2dDhTL2YzZVhsdDJ5 + NWpWdnVITmhuVUlDSUU4TmM5bjNCU1IvRm44CnE0aFhWcXBVWExuYzN4Z3hXRVoy + cWVVN3l6ajFCRE4yNUFKeFNKSlRyQlkKLS0tIFpPSGQ1eUlhdldsdWdYbDFhVjhI + NTFuaURGVzI4Um1rWmlBR0RwZkFPTU0KgEnu51tjyxqxU0Bl7I0wkqhIwMC3FFHg + czn+bfwC3O85ZIl4/30DZ7I1LEGhg9byFp6Ge6ywiUcRg2KEGR5gMQ== -----END AGE ENCRYPTED FILE----- - recipient: age106n5n3rrrss45eqqzz8pq90la3kqdtnw63uw0sfa2mahk5xpe30sxs5x58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHUWFPNTB6MG9iSGRNSTlZ - c1R6TGtOTW94eE9mS0ZCSjRkUEloNkF5TnlrCmJjaUIxU0dKaVJub2NQTlV2Uksy - Rm9NaDBWN2VuNEFIdUNrdFNBbDdsdW8KLS0tIGF3TExLK2Q3VEs2YWQvVUxVbWlr - em9hQXlSZ2VKZkN4MVMzWFNQOFJvWGMKc567TYejDxyH4Jx2iQvPpQkeyDA4w0of - ZIlW0vfJE61pkuWJs6lQ2F+0VzMHmpIsC2wR4p4+JfQEES3jCG3P3w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSVG9qQTlGcGcxaXVSUTUx + bitjSU40U3hKRHdkdkZ0Ly96MzlzOXFadWowCmp5Wk9NWHo5a0w0U0l6dmdaMzRj + d09sd3IvVnpxaTNZbWRzQ2dqd3JkVEUKLS0tICtmb3dJbkxMOHlEdzMyWEcyR0lm + c0dvaHNYcHk0WUpIZ0V6ejZNcWJTV1UKjUsp7EtC35qhTGDzaqpSzr5jnpSZbpZ/ + 7XgT84m0Y0j2uuOpbuG/GqSLj0QI0WJzxsSVq3lW5COKtrC1yqcaMQ== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuYk9LQ1RrUVp2U1RDekxR - OWZXcmJsNWdGK0pnRDhJempoSWlUc2t1elVNCnoyRE5RRGJ6QkYzZ1lOc3pveGty - aUNKczVDamJuc3lRVm5Ca3Z6bWViYXMKLS0tIHZwTDd3emVLMzQ1QjNuY3EvZXVQ - emt1K21WNndYbnh4b1c0SERqTEJjNHMKKEUxjSAVO53bL9jGkbLn8xoj5motIlC9 - d2UvlsPGU6Vi6zdg6ugf58WMD/pgr0NjmVFL0nk7XmNL19+eBuDPqw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4S1RNZlpkTzl0cXZQa2lx + MGcxZVZyc0dvT3ovRmtRY3h4VFpjWndiYXhBCkZ4enpQejFnVGp5Y1NCVER1OGJJ + ZDNnQklhWkZKWmNOWXo5ZW5sWEhXR0EKLS0tIFdRVnkveitRWW5JWE5Cb2dPbVo5 + eVFoalhMOFF4M0cvcDlLNVZHdHBCZnMK64lm47z0AkLPP0T9XOLWCqgvLtEe9E2v + ydmCqYIRyp8DuGWzcjUZ8dQ2RaPBjcBtbm7GpwdqOvsdHfFhrBTNyQ== -----END AGE ENCRYPTED FILE----- - recipient: age1gjm4c3swt8u88e36gf2qlg3syxfc0ly94u64c42f2tsf24npw4csa6e4fw enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzTGVCOTlJQkZ1WDRkaHh6 - dUlEcVBhMDRmZjJYdHdpUUhyZkxsaXFLd2dBCnZMVFhudGJTNmpDWEFEM0pRM3JJ - cURqLzdsMHdxRG9oNGhXOE1VU1NCRmcKLS0tIGJodWoyYlhIQzBMRnRKTzFPckll - YjM5cGFFWlZocUs3dXRSaHJDYndCeEEK50eynm0a4FYdT+BTB1mj/BXu/sXAGYnk - jrWzH2HMdQARszniSHflguIOLo/oVCefF0EbAWyEa5XbpSVyRyYQxw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2R05XU3JDTjBhRm5WdDJJ + b3hjYnVKRXYzZ1F1Yk5xWmJsTUJLekpiRUdjCmdaekMxTDZBVG1Pb09mOGdGVVpa + TTc3QmJJSkp5TVFxdXZnWW1XbTYwMHMKLS0tIER1bXk4SkxmbDZhWTRLSjF4YWdC + MGowS3M4WUZqdVlEemdlb3E3RjRBb2MKO9FnhZhNPI+yQraaI7/0HTavIpAGZKTz + Oz4uUsRS+7GD7ylp8dJW8r1pz1//YeVODT5d4fsImknsDu8MSLEI/A== + -----END AGE ENCRYPTED FILE----- + - recipient: age1ylrpaytkm0k5kcecsxvyv5xd9ts4md0uap48g6wsmj9pwm4lf5esffu0gw + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBdmczbDhVWkJVNlJGQ1JI + TkNoSlNVSThqM3RBaGt2MG1tOEh4RzQ5a2tzClUzdm1uMGVleXRhU0loRGQyK3E2 + L1ZQYno4VlRnK1Zqd1ArZ3doc1VlM3MKLS0tIG5JM08zM3hMMlJZY0diSC9ZRUxO + SUh6WnpYV2RVZjBWa1Y2d3pSZk56cGsK4gB1IcWHIw1DOCtttU2LoZ0j2kNdGXIr + Z5y1ita0fsiHEwiI1k+aRZre6OL4s2dCrswjcvX4EYFeUSlpuXxn9A== -----END AGE ENCRYPTED FILE----- - recipient: age1ezq2j34qngky22enhnslx6hzh4ekwk8dtmn6c9us0uqxqpn7hgpsspjz58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6K0dNUlQ1UVBTVUJsRXBu - cVY4NDYwUTUwaTVYTlZaNy9mdHUvbXpOVlJNCnRHanBuVkJMbEkvUSsyU2gwd3R2 - RG5IM2c4N2w1UjZVWG9QbzhyRTNyd00KLS0tIDVVOE5FZlNYaGsxdHJ4RUlTRjYz - Z0xuVVAzemF6b3dBZGNYdFRUdktYR1EKX7QXdIGBry3j1QfFDGqYFGBVo84NcW4B - wz8ijaCnFb8FR6+PIOfXe44KGXgpqelUP2KjGyo8XbBgFzrHH+BX4A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhWlVQckZCUy9aVTI3RWRS + WFNyM0tlL1lpTjdWOTYwN05DV3JWdERDMnlrCkxqSTk3M2tLKzFyTVMvMnA5V2xU + WkVaN1ZiZDhkMzlZVkg0OTkzOURjVEUKLS0tIG0vZ1FrZCszQVpkOWswclBWSDh6 + UHoycDk2TEEvMzVFcFlMMmNpVjZJd0kKj0K/EKZ8hrNA3Q8pI+1HHEEQ2JC8qLP2 + IKrm1c7CREB5dpxnhbj0ToDVBQd9iGpso03RL0sd/DAA5w3RCnsB1w== -----END AGE ENCRYPTED FILE----- - recipient: age1jyeppc8yl2twnv8fwcewutd5gjewnxl59lmhev6ygds9qel8zf8syt7zz4 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlVmpyQ281MHl3L1k2aVls - UDBXbnNqa3pIZEs1TXFCanphY2NCcmdLUVU4CmVOZ3FWT0ptOEE0Y1NPQXlTS0Q3 - QVFpazNmMkx1Zkp2eXR2RXZEQjc5MU0KLS0tIGxIRmtjNllrbmVFZVZWZ21VNlZC - WmZKNFBzTkNBNlJkSmRXRWpqdk9HMlUKYeLz0i+P1i6zo8DT/AX+b81vWoQ8c6I7 - p4xBmiGr+wvtAcA8viR4q65F3ZfFxY5GOsEtvtiSROj7Jcr/TIi+iA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMT2t2U3dpcjBYL0NoV2lw + MHVBNXZsbDhEcG55UjY2RE01YkFzOXU5bzJNCmxtTWtYaEpPVkJpekVUVFlHS1FX + SWFFU3UwbEhqa1hyMFBVU0hJbUpoQWcKLS0tIHJtazBWR1BiYUxjeTNUc1JGNzFq + Rmc4aDROQnNmTzVDMU9EcUl3dXFjWkUKHdwYkwWVXG5AMY9IuKh3l4CmNtmrHuKa + G63acQDm4L7sbAE6TiHs4aFgmhwDPqOS64MZOEKUWt+/60zH3gbU4w== -----END AGE ENCRYPTED FILE----- - recipient: age1azmxsw5llmp2nnsv3yc2l8paelmq9rfepxd8jvmswgsmax0qyyxqdnsc7t enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDY0pvTEhPVnY3U3BrNENl - NTE3S0NHQmVMRFc4b0VoRXp1ZEtkZnBseGtNCjc1ZWhDeWZmZHR1cHYyaEFGQm00 - dXE1WXZFd3FzcEJpSzcrQ2x2LzNUUkkKLS0tIGhhRW9RNk5Da21JdElMd1kyd1RQ - VVVrYUJmamdnU1BZK09qN2pqWWZyV2sKXu0CGOeSxi8KXvJbZ85KlmhYez7LflaA - PPiJbrbvVLR5Ui18zOZFAUewqKANTS15ut75V3rUoa2JVeSfpi617g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWb2YrZkUwWVRyTWRRbW5o + cmVHZWZSWnF4K24za2dLUWpUUjdZNTk4bVRJCjhHeXRnalhybnVwTkNrN3ZTYWdC + VFFEWUNxYkVKemVSL2pMbG42alNpeUUKLS0tIHBVRWF4TDZwWTdSQjUrNWdjN1Fl + TVRvQUZlbTAxUXNiQXJXNFQrVUQ5c28KDlB4prV+/bNTFIp7P0jBzqxWAZioZ8Tq + I6OVD/xKJ8soKhXeIyeGFKZyaWu0MsZiebbNKEQjhQhewaHUtZW0rA== -----END AGE ENCRYPTED FILE----- - recipient: age1zkzpnfeakyvg3fqtyay32sushjx2hqe28y6hs6ss7plemzqjqa5s6s5yu3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQN0JLWlFLRUdkT0Z4MmlF - R2pMNktUR1BPNG0xdmp5VGVKcFVCYW1iZldzCjBXdXFlaVRVYmNYU2FKb0I2WXp5 - V21YTUxWTytTbUZ6OGVoaVhaZjlNKzAKLS0tIGlrRGVtUjM5OUNUZkxtcE5RcFBF - VGJ0V0YwS08zQW1Ua0dESmtWNjNZbGsKQ2eAGtCydscSQvLfHBxtUJyPgxNymWyT - wcMty732aWZw/uroJYYcrlfTm3q5Qs4+1mT57sxGBiL2XE6ruWdKgg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCYlVBai9TK0pnL1ZxVnI1 + azJJMVliNFJZZDRLcVh0bDJGaEZaSEM2UTBVCmlaa0JnUzVyUG1Fa0hZeW5qK1p5 + RUJtM1lNY0pYYkdxRVBHNW0rWHM0QXMKLS0tIGV0K1IrVnpjTEdoOHd6MkVrcHFG + RFRiZU8ybTB0ckRxVkR2VGlrV212aUkKBO9fi4n77ysamlZ3opIP1P1uEC5Kubaz + j8vSgaPs6qGkon/xknjwVo3RLYzS6zYIAzMIGf2Ru7pPn3ybJV3TYg== -----END AGE ENCRYPTED FILE----- - recipient: age14uarclad0ty5supc8ep09793xrnwkv8a4h9j0fq8d8lc92n2dadqkf64vw enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkN0R6Y3JPS2tRcnB0VFBo - YzNNaVhodERUcnlTTmtNc2tzcy8yS0x5R0RBCmJtb2RMMkFjdUd3OUc2MFZoZnU4 - M0hGUW5YU000c09zR1hHZUs3cUVqOTgKLS0tIEFsVENreWcrZCtiNjg1YS9hVHpQ - WGVNNVZOV0JNQllpUnNSdHJiTDdOWFkKcwPzK8difry1xwjHZkOLDNcUaPUd1RCo - QeW8SPusotYscSQmVckxOUppdhpewF95isfCdoy4JtVulkNQCOJJVg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyL01hMWNGdDJQZlN5blEv + d3NpZDF5N3JLYjdNcElYbUsxL1J4VERHSlQ4CmtmM293MHV4MVhSR0RTZS83YVdr + eE5sWlZOT0lXODBSdDFNY25KaW9zbFEKLS0tIG1wdENYVHFuK0ExbEdBU2o1QXlx + cWt2cVZOOE5VdXRnMjEzSkwxUWRKK0EKo9NInApXiycrBJ1AiWkksFiFixgi7iJu + pUh6ZDGUR2PvnUNId+73YBCoX4DS/raymtAXvfS2Y5NlEJouxCu2Tg== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkRHMrMDdLSEhLUjliblhB - WUFZTUkrOEFnRkl5a21RaXhoMnJRc3lDRldvCk4wZ1ZJaXRxaEVNYTVwOFZVcUNH - cDl6QThwTVhXMVdRY3h4R0hXSDJDLzAKLS0tIEppRFJMK2Y3dDZ2eTZPblNxQnA2 - S1hyR1VxNFJkRnp0aDI0aUR1cHI1bGcKVVpd18ll/IsHjYajG4ziu1jfn5px+I/y - s2eWJY9CAHAFStl0MV8AoBWpZ+KoeMbBDZ1HXwK8UBZhCsjm0nnyfw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKb0ZxeEFic2d4dFNIK2RI + QjYvU1lqRldCclJiMnpKU2FRYlVSMENqMUQ4CktnQlFQRUhza09mVEQ4dG1GRmJM + RStuOUpOYTFQekFvc05raVRHV1pkVWMKLS0tIERVc0t4dkZ5UU1EbmtQNTlVRFRR + eHpPeXBwbk0wazBpazZwRzNuaFN0cWcKmVkaXDQ4dBJdc9Fcgtxe3Um4K5kyafR6 + mYDXC1PHkYOr+7JD+NZS9JSwnnAUvH5T8cDsfsfkV2i1tWpxJco16g== -----END AGE ENCRYPTED FILE----- lastmodified: "2022-11-09T07:12:13Z" mac: ENC[AES256_GCM,data:gqsD5gTtE5ZqWzWKAAIscecvIsGSC9j4Cnbik6Yk7Jf7Z5/NIxbkInzDsLmlU3ObbLZAhGAlOAKIrUVy37rCcEZ+I04ICXK1dmUdsVud6E4SvTdDjh9qlXTbEkcDCY2YqXlTuQl6IZyveaPuF6fRe1FMh8JEpDv/foZTl8+AuQQ=,iv:+nV6YW9m1B0qo7xbB1lw9dgiQ877GQ6OxMqjk7lei10=,tag:NmeSwBWRKpqlwZxYYC7trg==,type:str] diff --git a/utils/modules/nginx.nix b/utils/modules/nginx.nix index 71765e2..8ba3167 100644 --- a/utils/modules/nginx.nix +++ b/utils/modules/nginx.nix @@ -4,7 +4,6 @@ environment.systemPackages = with pkgs; [ imagemagick ghostscript - wkhtmltopdf ]; systemd.services.nginx.serviceConfig.ProtectHome = "read-only"; diff --git a/utils/modules/promtail/secrets.yaml b/utils/modules/promtail/secrets.yaml index 71d7628..2309241 100644 --- a/utils/modules/promtail/secrets.yaml +++ b/utils/modules/promtail/secrets.yaml @@ -8,92 +8,101 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoNlN1UmlKdjl2OXZEdzhu - U1V5R28yT3pNYnBMWC9VV0kyMlRUK0d5NVh3CmxPZGQyalU2b2wzTHI4T25vTWVB - RkZwb1IzM3o5N28vblRKUUpzUGk0bDgKLS0tIEQ2NUM0NDFHb1pTc0lQSmorM1Za - MW41UWwwanVRaW13bHR0b29KeHBQalEKn2L32WEORA//Ot4X3IVLOWDiwWXstYxN - FtCKgamUW3d9nYGT+9WTsfamA0JDxQxZIENV/Lq149VKP1tiYv0gWw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0SlZtbS9iS2c3Q1dXdkNt + N3JpRUQ2K0hPcERQVXN2UHJrQVBVQkpPTTE4Cm5ycmU4R1cxL3JqUGI3ZFlhd0xz + VC9ON0tybWJZU3JzQ2Y3TzkvVk9iRVUKLS0tIEswQjlQL2tPejM3YnpJWVluR0FC + bGw1MjdqZVhJcE5ja051MnlFVkxjSncKORmQoZynBBzqJe30mnMV4WqQKO+EUaxI + 5SFgveM549T/8BNHDrdI2t9EhJXB7ZnmjgVlbcrO9e/7dHXK0knPXg== -----END AGE ENCRYPTED FILE----- - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlS2dseXhRTWFPN0x1UXBJ - WXphNWZKdU84bkp4cy9VMUdJZ0RTNzVhQ0hrCko5anhlZ2FFTUcvK1YwdXhzVDFq - QjFtNFo5UlBvWGNWeitEMENXS1FSa00KLS0tIHpGeVhEb1pobkU2RlhLLzdSNjd6 - MlczM1JDK1FFamZmYTNkbkdMRHdRMlEK0gau8fJEkNH255Gb8wER0c5xcp2pXgoN - eo7jPPansVIuKjEV7oQD/oEyDVKnW3r2Mt3n6Po4/TbAQbnHXUfeiA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDeEhhaWpqbEprOWdaWTJH + aUtxRDJYb04vcWxtUU1RN3lQS09oQzd5eDBrCjF3aGRWWTBkejJPUWt6MUYrd2pP + VHRHQTlNZ2syYndTSStCYzc4eUxpaTgKLS0tIGlpVktoQXdwVmw3dGNEVlVYRnJo + dkk1d1V5VEtHRnRlOWorNFZaaksrcU0K1N/7pGj7mY8gjInL9sdI5tG7VzUn6QCE + mZ6XW7jvYlGIlnqXB4tkq1UWmL0V4KUrs704F8D1bixIr1WW1p8b/w== -----END AGE ENCRYPTED FILE----- - recipient: age106n5n3rrrss45eqqzz8pq90la3kqdtnw63uw0sfa2mahk5xpe30sxs5x58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1WkZOemhKUzZFQVFPSkpD - T0JORjNydGJpN0I3WGozTmp3aklScWNuZEdRCitTTHplK0o4VnZrT0IyaGhqSVJz - dWcwU0RIazRWV3RrTkp2Y0E0NGVkOVEKLS0tIE1TOFRuTEV2ZWVpaVdtK1VYZ3dS - djFoODMyQ2VnR0dkVWpwcEQzVzhPbEEKk+B8SOS/H87UxpHMcPG1mRku6bnUVmk6 - sRKkpQsyPF4+RVvWvICAfGUV5ELAqZ5ha4+xwxb/gf/T/36UIHIlow== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBWnJCN2hoSlgzYjlia21K + U0FTSHdhdXV2YnJLSHJuTk1TSDZBV1FvVndvCnNYakh3V2V1QXBpZTBmUnMyMXhF + d1B4ZHovOWlCcEtKbnN0Q0pUeEF0cEkKLS0tIG9MNmlQRTRnVnQ4a0ZEMXRZQUNM + UWlHZVJiTnBYUUlDU3Fhb2VJc2tkcGsK89srvqDXzawAKc9PQIXw0vyLQNb+UkOF + f8UCXpjhdd9iRn2RpXlH4uz9sXJTg2/5X/NuaigabnM/KrP5aWDjLw== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3RHM3d29nVU1MeVRBa29s - aU9HK1ZLSEVreG05dk13TnhpUHN5K0lJL3pFCjJRaVE3UGUvTlplSmRndE54bzRs - a1FSanFkc3duYlJQeHpLd0hVbXJmSzQKLS0tIDRIdVMyMktzcXd5K1A5c3l0MUFT - Q054VzErR01wV05QWlBGSDlKbVkrV28KeYtjzy7E2gZvhC6SYa4HiDDce4LrHacH - a0VChUYQd6eUzd8oeC5A64E1YftcyV3G6O9YTDspQYp9EURMatjNxg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3Y3l5YTdEMUx0ZlBKdk01 + T3RpUWJiZm9POEh0VHAybUNIZ01qblRha1ZrClNEakIxMENFZkMxZEdxMkFldEtQ + bFhHS0tkV1U1Nkpucko1aTBzUGh5T1UKLS0tIGE0U2N2YjNvN2VWa3d5WDg3N3hs + SER2RVk1VkVWb0M2d05oV3VJK3NaeFUKbjFAUyz4PS7EZaXqOaQpXr4viJeXTfnw + wr6xkydPzdBp7lURiR3o5W+U/HDVDgIyWfjeHQU7s7gEz1POs3BPVQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1ylrpaytkm0k5kcecsxvyv5xd9ts4md0uap48g6wsmj9pwm4lf5esffu0gw + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFTURzdGxaT3hGb3I2aDB1 + T3UzUm1ybjBNTEUvUkorUjB3NXJPSi9oS1JzCmNTNVMrUldoM09xUVJHM1I3eFBs + Wk5VMldudy9IR2lCR3NRdG5qOEZXdmMKLS0tIEEweVdCMkxKcVR6VUZTY3UrdVlJ + eEpNSWE2clhuS2Z3eWQ4Q2lrd0xCWlkKkJaQ80E1HOgtFY+YpPEBu2frscMUuwdh + Nd9nM+lmMfYAfo0mIHG5UwTgo5sFqVTDGHXd7RuRh873DQ7ckb/xnA== -----END AGE ENCRYPTED FILE----- - recipient: age1ezq2j34qngky22enhnslx6hzh4ekwk8dtmn6c9us0uqxqpn7hgpsspjz58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWb0E0cFoyenQrMnF3SnRQ - b3Vpd2V4ZndlZUZucmFCcXE3Zit4Y2lOQUdnCmthSUxpRHhxemxTOE9nNGduM0xN - TUhNMVRrbmUrTUJMYUpaTWNNUE1CN2MKLS0tIDVmUVVNQkdQVDFqQjRyWG9YcHdt - UGhiMEs4R0plVmVXOXBWZC9zVjNZdnMKl9yl008YfVJA2KIakq3iqyv483C6E60Q - WGUtCDjfK03ZxSBWMBcLkyqZLb6M9DeLS1V1HEQ0UIDYYJZxuvBVhA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtaEgvMHdVK3RnekFJTi9v + RWpkQXFRU09sNkh2Y3BpcFVLYkI4Mmo2UkRZClBWYmYvaXRtc1NNUzhVN2pPY3RP + dE1acCs0N1RRZVI3ZGMzYlV6TWw4ZGMKLS0tIDBVcXkzZi8zVFBqU2cxdmVteElL + TmdkZDZjK3U5THo5V0lGeFk0TlJLdW8KH5W6ju7bXoov6JAKkyYWQBQ/ZCSabmsN + x+TTWre/fChdiX90ZcenaXvmp/XpqNRHwxgT787hD+C+eljoVj2CBw== -----END AGE ENCRYPTED FILE----- - recipient: age1jyeppc8yl2twnv8fwcewutd5gjewnxl59lmhev6ygds9qel8zf8syt7zz4 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDdExSczI5L2dTYmozdDBR - QngyOG9aVTFiRmk5VC9MU05jcmx0Q2c0K3dZCngwYVVIWW4wOEhWaFlHZVJEV215 - SnVjL2E2U2F1b3dBYitUMGludU1KTlEKLS0tIFdKaHlMQ2NPSkU5ZWF4Y29DMis4 - L2p3RXc3YWZzMkduOWNoaHcwZlA3bHcKD4rmKTdXbJOMVGTuMIf7FRlCa9FKdtGz - GsMdQtQXdEVRViO3Cn6KTad0bsFIcJhrsh0TlnEVyqpmpF64a/qJaw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVbzR5REtMdzJ0aS9uWFg5 + TzFsZUxmd2UvRnZzTUJBMlc3NS84NHFON0NJClJVR0szeFYyU2EzbzBmWHhBT2Vr + bkN4TzE2TkI1SVJ5RlU2ZTdQdmNuV1kKLS0tIHlqQW13bEhpRlhSZTNKWXFBcGxa + NUVCRXZ3cFIvWWdvZWpzNXhtQ3RPU0EKwpFed9e/DsKQfPMO89Ptxwq0BQabxImT + /S0Uxg3Q5F1USt8soSpHc167UTY8XDh5IPkMcu8uGjUStkliouaklg== -----END AGE ENCRYPTED FILE----- - recipient: age1azmxsw5llmp2nnsv3yc2l8paelmq9rfepxd8jvmswgsmax0qyyxqdnsc7t enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyWG5hYVlQTUV6amcrbldu - TkdIQ2hmTWo4UUJWR09UdU1VV1ZWRGJNTGgwCldkU242SVQyVkZTOVlTSGRMdWNJ - TzhqbENrYm9DYklPcFJFR216dC9JVVUKLS0tIHpSU0xQM1NtQ3pQK0RkSHFlekVt - S2NRSEVHdzlUNklNVE9CdkVrbnEwUjAKhHIpG9Oi6lXxIX76dkXiVpVXItLJVfWx - pTcvNJzhrLnEHu41preJa9QQVND5Yy4NIM7zOCZce9SJv728nL+r0Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3bzJDZHdxRVVLaVFybndH + QmtnNnpzamhNZlVvMC94aEtLNlhYcm5oY1dRCks2cGVGRjV5QVhKZWJZS1N0S3Ar + ZlRrZ1VLL211SGJiUUI4SHRnOWU1VmsKLS0tIFBQVlhSWWxlcGxxUmdkWWU5TGE2 + c1Q0NkZtV3A1dWVkOURUcDkzMTlqV0kK2ZiyOzGiFRj7qBWgbK07hNTpOxfhIQgR + Khdkwj8Cm4mP+kLbxnyxH4sGipu7hXebeQZU5x+rOLNfKTZoJ85NSA== -----END AGE ENCRYPTED FILE----- - recipient: age1zkzpnfeakyvg3fqtyay32sushjx2hqe28y6hs6ss7plemzqjqa5s6s5yu3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBET2FYdjNQSFhTZDdNVUEz - cEZLN1BNU1ZacmVsdmNFWWdzNFkwRnpYelgwCmo1UUQ4MExrNTAxaGFZVXRlV3dv - U1l2ZXJOVmkzUnNHSEdBQ0hHeGlvOE0KLS0tIE9LdkgrN0svVU1mQnpDZFJaL0Ir - eWRYL3hyNXVWSWxKZ1g4SUFBTWE4YjgK0g+oQaZhD/dBBGcilflBoe+KsMLxAPwm - 36R16c4J2lTxft7rj/oYQr7k1vFMOFCY80/67Wl0sSvTBWr9iw/2wA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVRjBnSnlta01oQWZoaUJC + YW9RZTExU2xTZU55aXlGc3pkaE1FTG9TZmlJCjVMdmgvdncyanBiWGc3OWg3UWE0 + NkV3Y3BGTTQrOVhmSS9CTnQ1Q2ZWL1kKLS0tIGVEdE0xWmpNZVZvTDZBT1NDenNF + K1RzM29IMDJzL081a2NXS3BJdkNmZkEKU9SAKVg4XQlIFIMWq2zRIu2/uEMICsUz + KL5uyA1qC6evNZh+QsPMwBVlpBfbqZv+6ub5Z5oTbGkNdoWtTO+Pww== -----END AGE ENCRYPTED FILE----- - recipient: age14uarclad0ty5supc8ep09793xrnwkv8a4h9j0fq8d8lc92n2dadqkf64vw enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWNzVSODMwQ3lxT245aVMr - T0wrTm9JU1pjdnZZLytYcjBYcWx5dFJIM0VJCk10ZWc0OUtKU2w3TmtnbGpzZGl0 - WEl1SWtFOGV2Y25yTENpZFhTYVhTYlUKLS0tIHplS3VEejhJY1psKzN6VDJPM25t - elFoK0NvTFdWUVMrSnF1SVVoVVJHSFEK+rF/Y9J1L8BGjgBwTqZrVytVQ12B2MYR - yE4d7yunQihfP8jF4ySc6IlTgtEMA444alqfw+IR7kG3MqqgGLAzWQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBMm9HNlRFSm1oMU1xck8v + aEYzelBnUjlBdlNpaWFWOUJISlE2eUtxZG5vCnZRSCtJTU53ZWdiR0RkclZlcVFZ + K2tUZTNVSmtsQnIxVjZTbDVZbWJRWVEKLS0tIGxJUFI1S1Y2U2NubmxoaVJQRWVJ + V0pxbHNCbzhScXdrUmJ0bWE0TFlVN00KRn/qB9axbzBJUf1qcrUo3c3tB5spQ8Ht + Uo10Mq6NM1dnHOcV3b1pP2E8D3FE8JDzBP9LWM7QIUDjptmLfy3rcQ== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpa00wcldTV0paaUNKSVM4 - a21VajQzN1pJQ3ROcXQvZnNkWTlPV2FjQXhVCjVoUHVxN0sxcVVicUZOOVVqS3kw - NmR0dG1rK2pyclhoZ0ZjLzVXa0tXN2cKLS0tIHErbFdZa2dsT3lpc2RFaHorTGJQ - MW9zUm14OVFqcU1XankrVmdqL2had1EKkK9He8A7/wG+09W0mUNrS+0foR0Rxtye - PQginkaSUbtu3S9y4Ei0ETJ3iUR3Iopf0YP39J3EP8BhplwbI9SA1A== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPOVVXQmhTSzFJRWpFOWxQ + N3kvSEwvend4T1hBSEZ1TkliUDlPd0hvYTBzCmZmVC9HL29MMEpoWGFiQ281cjJM + WHMzaHFYRUdzNUxHSEJ3L1BaOER0ZkUKLS0tIEFPTDlkbTR0Y2p3Qmw2aDIzVHk5 + Qk9kQXJjaDRGaG1KVS9KNkxKV1Bxd0kKIwfnJNgGzt0H5NRwH1xjCx3oBnNYQ/PV + oxFHbRZHtpkHHaxmsxJ58C6bSpuhypNO3RMHc5OIPtHlhuE106aQdw== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-08-19T00:05:00Z" mac: ENC[AES256_GCM,data:BO3WZzW4MzXpOLKTi6vzVq5lFMATANvIH8Kl9HJPH4bRTRf+z/IX3GmmowjOQis8aGnbfbMja6K0hBWMSY0mY7WzMN9W2ARHTgbXre9/5l6PfFrW4q36sLwXOJU/mzLVz4errHSt6A3Te5AOqThlULuJO/F4pPX2i0Sgs2F1tVA=,iv:zOTWgbuUzuIhYbJFKocwEdR9DxZ3enjc2aIchkovfuA=,tag:x+2jEytk5XrSAGWvbB6bKw==,type:str] diff --git a/utils/modules/victoriametrics/secrets.yaml b/utils/modules/victoriametrics/secrets.yaml index 2770bf8..2a534fc 100644 --- a/utils/modules/victoriametrics/secrets.yaml +++ b/utils/modules/victoriametrics/secrets.yaml @@ -8,92 +8,101 @@ sops: - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZVDdFYThxK25KMzBaOGQv - cGpQNGhnNUE0Q2xUalVubS9VaE1kRjdPeUJzCkJwQXEwT0I5MkV5TGc5bzluejYx - bld2OWYwanJKSjRyUjR1a2Z2aUYxTDAKLS0tIFp5SENBYng2elFUejlEaWIvdDhs - NnRlK1dja1FyMkdPMVJwQ2pUbUFXUWsKeFCTINxibBefcTJnw38vBipaHg0ClhiP - p0fy73UasShGP91tkZ8nYLtZ2HpvLMQi5dVNLCwkv5boLhz/EzMNug== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIUXJVWXc2TnE2ODJYU1Rn + SDNWeW5LMklTKzc0RWpaN3pVZ2V6VHR3RnpRCnlSUGlHNmFhRGtkMkJHbjNoSTdt + N2JWZ1BjYWZpdVUvVnE1SWh2aTlEUW8KLS0tIGlkUkxweHZVTDlZN2V2YzdPRmtZ + dElvOUpTME4xYlFLS0k2Uk4vMktiaGcKLuGeC7n2sj90/5IOQ/wGqxLGpdfvVZK5 + 2n8YuRbjlxdGcKlR/qPHcF57Y6M6Md2psbg5Ru29rOnimYFPTUvc2g== -----END AGE ENCRYPTED FILE----- - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSWGZhRFVoVXhTK3hQTEZm - T3pYRGZmRUVZVUlnK0M5eWI4MUZQQU9WRWdzCjYzOUFISUw2YlJscUozMldxaWQ4 - eW5jZVV6SEpxeFgySW43Tmt1dERuWUkKLS0tIEI2UndHZTNPcVliQVVDSHlVMU1Z - Nklva3N4RHFDcTYrV1MrTTZONnZoWkEKTRGcwXQiFw0DjrG1cTHnaC7/j5YLSTgr - 1wwNgK4OtM89yLA+8MfnRkTucgxu4AZrihYuz2Q9K8m17qDLSEGQOA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpSFphYUZVc2doS3g4Z1Fw + NHI2clRmWGczd2J0YUdwOG50VDA4YW5hVW1VCkFpN3dWNzgreW9rZytwTlJrVlpx + bUl0aUNTb01nVC9PSTVhRmF3TUpEY3cKLS0tIEVrWVRRVXl3M1JSQ25Fcm4yRnBD + NEZYbEIyWVJ1a1M2REJFY1NoZFF5YTQKFCmtrT8e7GwYwR5PUVUcHIPR7rQYVNqS + eEoYPf/WSmTolIODr2YaCnATWa5ALO/Tkh0OjRDVB5qH1j/gCZeSng== -----END AGE ENCRYPTED FILE----- - recipient: age106n5n3rrrss45eqqzz8pq90la3kqdtnw63uw0sfa2mahk5xpe30sxs5x58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyM3VvUHkzNlJKU2tscEx6 - ZU1DMHZuUlZKMnRYNGp3WlFNMEUwSkV6SENBCjM3RC9kcGQxZG0raFFhOXdmVW1B - ZGlTRzdoSnQ0MFlCSG1nN3haKzd4NUkKLS0tIFVBeHJzSTR2T2FhUytEdGF2bWlG - YmVFZ1JLQmFNUnZFVXhLTEljR3hHZjAKe9wxnlMLqAH8gHDo63Rmt3KibTQWAdZl - BMKWjmmjLpraMuec2zLU/YPkZPs7lemmSmrp8QD4JYxRqqb4/BI3Yw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkR1JkZ2gzbkNJNGc3ZjVr + MlY0bXZTRmpaejlVamZvSmNTZjBDYjYzOG40CkJwemR4UnZYTHFSQVlEVUJpRDJW + VEJxTWF4NzhIRitQaEJIT0E2Ykt3YTAKLS0tIDRyRTFFSmFHUzF2Ry83UVpRRnN2 + RHRnYmcwRTBWQzJCTm9KZDFCUWVpYkkK4LBYIZaz4S5KNj2gpZmECs8zOsHU+xPZ + 71lPT6abiW1D1BwLe9PixCLuBNUlrFLXr/OTcVvJc8v/Se3l3dArMA== -----END AGE ENCRYPTED FILE----- - recipient: age1y6lvl5jkwc47p5ae9yz9j9kuwhy7rtttua5xhygrgmr7ehd49svsszyt42 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhQ0ViaGU5OWNIcjI0cWM3 - eVQwejdlcnlHWXIvNXhTcFVTUmNFVkloRFFJCkxnbWxRMGUzc0hQMDBBSkkvMmha - SVZvWktNbDN5cFB0ak9vTU8rcEtJeDgKLS0tIDg4MjNTMEFwbW9ZWDdUQUVwdUJx - M1NVWjg0QkFiZi80RHdsVWJ2YVdRSTQKeinMXSQZMoB11wRUIGWHI9maml0J+781 - h1zKPA0E2udI6G+dLrGJ2MAWZOs2s+o7vYnBdLJGYLQKYUV3jmDXzg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4WFhraUNxOVJvRmRnUUN1 + TWRobndtZnIxWHIvTFhiMkduTXI0ZmRVNW1NClg1bGpSVS8vVUttNnBMaHdFTWZx + Q0RHWlE0cEhKYXpKV2JiNmpVY1l2TEEKLS0tIEVPT0M5eDEyUnJSM0pDUTlSUDRF + NytwdGVKNFRoMXRvWEdNSTRFR01CNVUKWF55Z52rODbs2Jzz4oBybzbpApf4klY9 + YRAw08mrjcrPnRv45+D6txY3TZgpaMowrEIUut9FlrpSJlNZ3wqyiw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1ylrpaytkm0k5kcecsxvyv5xd9ts4md0uap48g6wsmj9pwm4lf5esffu0gw + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaeTRsektCYXR4eHVOMlp6 + bTJpaGN3ZTBjZFcyQ0g4ZVEvdVFadGtNVEFvCkZMUDFiV1pGVThFeHhUUFR3ZFdz + TlZCV1FCckQ1OG5XNW5mSVdURlR1cTQKLS0tIFRhQ2JFNnNqaFdEeGtKYkloRFZa + aDQ5N1N5WTVxLzhHNVBzNVo0SmtlRlkKqxV7lOwmcqwobiiMHDvAmcDG4v7depF6 + cHjil9JJP/aQwVM+p6Q179pXggy1vNj4mmoliNCeq6v4m5gSvunfHw== -----END AGE ENCRYPTED FILE----- - recipient: age1ezq2j34qngky22enhnslx6hzh4ekwk8dtmn6c9us0uqxqpn7hgpsspjz58 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoaW9MclBYR3FSZDQ0OFZW - SVN1UzF3UXVXZHdIM01EdGJWQ3EveW5YVTNJCnFkR1E1c0IwN3FqcXdVenVFUU1V - clBDeTNxa1FoRjZ5N3JkSnZOTHFodmcKLS0tIFRvZHpKMEZ5RlIyQnRYSkg4MWdV - R0hxTG5KRE5aTk55Yy9pRzFHSG9tb0EK7+2mAfhJUZlMYpJCVpdRpyJiBXuqP2Bb - R2YX9u/bHvvniXydLjNeX8YoPl3adTwaQoI2aDMpBo8JlQxRnpLaxg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaem43dCtZQVNTclNsa3Iz + Z0hsckJ6NUV1dlFNY1VSVkd6SFZoL3FyNGtnClpIOGVGUTllTlRlQjBHenVJWHVx + QnJSZll5Y0YzRWM5cVJPMVlodDMvaEUKLS0tIC9aR2I0dUJWN2IzejJMV29pcmw3 + TEdaaUlCaDduTzhlWG9VaExidFFrNmMKlJ1FXJvBs2DKrh68d5CNt7CVP/02PJij + dO6PstwPHlrrGzkDFFsCo2/klnNr6/u1onKrxoF4SIDqKe5uc7lCew== -----END AGE ENCRYPTED FILE----- - recipient: age1jyeppc8yl2twnv8fwcewutd5gjewnxl59lmhev6ygds9qel8zf8syt7zz4 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzeS9NL2FhbWI0R1FNS1p5 - UlY2aUYwRWU5R3ZvQ21NVGd1SGRySlpMUGlvCk1lT0praThDT3Y4NTFnUitNTjQv - Z1BzNy85a3p6QzcvczBtcGc5OEwxS2sKLS0tIFo2TGxUQXdFWHJZUk5GZnhlNFdj - ZEdhZTQ1b0E2N3FvRTNGbk5ZWDE3V2MK2rUMFu7dmeWWP1aXEJLdKT9fWaw3kFRY - GqJE8fmCupfOj7q5BLQEE+WKgkLGRpfl5DkZD8xQ0MX8F46179MAvA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHVHFDSVlmZTBGNm9qMHAv + WGlhbGg2RlEwWGgwUThZSDFMWCtaRkovUlJvCmhGdDRsWG05UzQrdnExakxMa012 + YzZMTHk0cngvdEVmMmRLVVJydE9lcUkKLS0tIHN2RS95bEhqZ3Z3TjlaSWZPOWxi + Zmw1SlFmcXRHd0VCLzQ2MzJGeENFMVUKq2ZVDC9b2zaYqCp1ZmZG9Xrg6hzR3uSt + XyTTJZiiOb85iYsxs19MqvKYl74k4Yqmyz8ZjAkMDE1bSOF6BWKutw== -----END AGE ENCRYPTED FILE----- - recipient: age1azmxsw5llmp2nnsv3yc2l8paelmq9rfepxd8jvmswgsmax0qyyxqdnsc7t enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1SmQvMjFSSStGclVsblR2 - aDFseENHanZlMzM2b0hyTjlCa3BycGdxNnhBCnZWS2JTZ2VEdXZZVEM4bG1ybmJZ - VTRWRklYdWljcGhGcHF4aGFiZHVOalkKLS0tIDErS3dEMmJLaXR6YVczeFY1QS8x - MVVaMDZydkcxdEpUS2ZlWCt2WXUva00K32w7T1BxQRI77ahVkb0wlnBac8e4Pai2 - 1+LGOEN7lMwGGaD07wSHvjq5Epd2kwcO0Ebzu1cSF5neQP84ExkpPQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvZUhFZW5yaGxUUEo0WXhy + M1FLQVY2dzkxVzgrbW9qNEJhQm94dGtONFZZCkdreTZ0WklOK2ZSUytTZWNSbThv + OEFFbW1jQkJxaDlZVXZYZlVXRUljbmcKLS0tIDcvRHMvVTNYZFBNamhhSFArMm1i + L3RUTFZVZzZicmwvT3g1ZHRPOWFzcmcKaHQqShGZFMtY8FliQ+OokvEYZIbjFsi9 + zxUHYxDzcLtNkRioYnK4gb3Nv/lA8AOL4RaH0AlU0kQLaXwVVGhiIQ== -----END AGE ENCRYPTED FILE----- - recipient: age1zkzpnfeakyvg3fqtyay32sushjx2hqe28y6hs6ss7plemzqjqa5s6s5yu3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0VTRlWXkweWZJeU0xRkNJ - ZGhZWVg5anhiL1hjTzFWWmJqelE2M00wMHhVCis3b1N3bU83alJGSkp0UUo3RFpi - ZmE2ODYyQUJIalhWWnMvNjlvN2RFRDQKLS0tIGVLbWFmVzFWRUJNalVmWHdxcjN2 - ZEVlOUV3aDlPZml3clJ4dTFvZHh5SVEKBw1fBY62X1hLRZUL3yqpAJCGb2H1UEIt - jFcKnyBxA/u2GNZlbiX3EZy/WzWtm305BV+zW7ZltQ05azM6VkpX/w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnSHJuajhUZ2hxODBJNVMx + cTMrSGJKeHoxd2docUpqYS91TUszTHQwcHgwCnV6WG1UcVBmcUIreUVQYU5uODhO + QXVnKy9vUlRhWjRKcnJCWDdNMGVkcDAKLS0tICtoWXlESDB2c1M3UDh0V2k1VHhU + SFhVd1Exd293NEZRK3dVNDBTcS92OUkKj6RDzuAKCX53kGLNL+lygtynYECTjOXn + KgKlvwcp32eNCmo4uzAiNv8seRsBbnV3SeZaGQyTVdEsz5hw8UNNxw== -----END AGE ENCRYPTED FILE----- - recipient: age14uarclad0ty5supc8ep09793xrnwkv8a4h9j0fq8d8lc92n2dadqkf64vw enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKRXUrTXZTdzhYWE9sZjVR - akplZTdZNVFlV0ZEVW5pZlFJTENtdEFxaWhvCmZzOVpsbTdPc0NKbXh6RUczYXhz - VDhadWVvWENuQlVFaFExSWxLekhWV1EKLS0tIGM5RGliMEk3UkVJczNOQWdYSzF4 - NHVCbHRTR25JcmZIOVR1Q3F0TUVzZFkKTZEtFBU0zQp3131jRsX5HmD4il8jNAMQ - suP7S8BzHE9Qfdx4iFND0UNzg32en6fUjYJftSC7hIIZcJ8fLzDPfw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGZ3F0NDgxbGIwUUNTWGNu + QWkxUVVIT1NNVDd3emdVSHVkVEtlZ2lGNmtNCjBPNFJQdm9JQnBNc2RtNmJvOWkr + YjFrTVBqdEk1UncrcWtVaTI1MU9GRlEKLS0tIHlxV1QzN3NDcEROS0ZKbGFrRHBm + NDM0dWFqR3l5QjNxdDZjNVhaaGxIWkkKoIykk64vKTXtojm+iR8mhIHy3wwGKPvt + KI5kkqsHQ8cO8K8JUFJRgizyHd9dPcbcciaE1WrD3e5yhYqgh/VhrA== -----END AGE ENCRYPTED FILE----- - recipient: age1wq82xjyj80htz33x7agxddjfumr3wkwh3r24tasagepxw7ka893sau68df enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVQ2RheGx0ZWFyRkNiRTBP - b2VnQ3VJVUxDaThBVllHNy85VURDN2FQc1hVCjFiM3FqaFMxQ1RVdnYydHpkVWE4 - NkNYWHpTUHd1Y3MwWTZ5d29RYzROWjgKLS0tIDdLM3BYTHhlQVdTTm5yMExCYUhh - d0N1QWtSdEMyZ2RBWDlkUUt2RkV4TTAKeqn287GKCUCIoeAIVOy1YiJzZJD5ueub - 4k9iqWRYKvc3yDtS615eMRUQQUrXNj0WX4Y+D/maRti/PP9JK3tZQg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFVng0TDlhSHNqOGpqbnZO + Q054VWQ1anR0Q21wUWhBRGhLVXF3cE5Ib0ZjCmYrS0NZYXJ1NHRQR0J3RVZBbDZy + dmRpQXJoYzYwNDRXd2g4NkRKakNIVkUKLS0tIEhVV1Nwcmt3OGhqMzN6L3EzL0JI + YWxOZ2dUd2J3S09QNVl0WW9JWUlJaUUKZWgXbwGlqLwE5XN/kwYFYqWiKvmTJFJo + S1t+iZp5Uc8LFrPk+x6wdiXP/7FHCXqmy+4nOryJNM0evyydUZbVyQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-08-19T08:05:08Z" mac: ENC[AES256_GCM,data:xggGGP0zLQHCh3p8b1K/1m+EfkU8lemWvV4jk4pujJv8ZcXwqbpz5REAibIKy42PHN0vfOQhTkcTBWd8sK9AkmeyrHwKkR8ecBbDf5t1RzJ0vXmy9Ro8OIbUwSPpbAjlOYoFU3NWTwOgOOyCNze8iXI48Zu4prdJoGiAhsOKvQ8=,iv:pYutJgy2lJnckDAG279El8Sas/YEWLHLIM1+/NHxxTQ=,tag:drMFDUQDZ8nJeq9/F5Y+mg==,type:str]