alpha
Login
or
Join now
aly.codes
/
infra
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
[READ-ONLY] Mirror of https://github.com/alyraffauf/infra. Hybrid cloud cluster monorepo with Ansible, K8s, NixOS, and Terraform.
cute.haus
ansible
k8s
nix
nix-flake
nixos
terraform
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
k8s: add nextcloud and collabora
author
Aly Raffauf
date
1 month ago
(Jun 8, 2026, 12:43 PM -0400)
commit
a5bc11a8
a5bc11a87cf176dea31b3e87d812960fce4a9f3c
parent
d5ed5a6b
d5ed5a6b3d7eb6de4013d936468279778df7de7b
+674
-2
21 changed files
Expand all
Collapse all
Unified
Split
ansible
playbooks
tasks
integrations
nextcloud.yml
vars
oidc-clients.yml
k8s
charts
collabora
Chart.yaml
templates
deployment.yaml
ingress.yaml
service.yaml
nextcloud
Chart.yaml
templates
configmap-hooks.yaml
configmap.yaml
deployment.yaml
ingress.yaml
pvc.yaml
secret.yaml
service.yaml
helmfile.yaml
values
secrets
nextcloud.yaml
pg-shared.yaml
secrets
nextcloud.yaml
pg-roles.yaml
terraform
b2_buckets.tf
cute_haus.tf
+8
ansible/playbooks/tasks/integrations/nextcloud.yml
View file
Reviewed
···
1
1
+
---
2
2
+
- ansible.builtin.include_tasks: _write-secret-and-restart.yml
3
3
+
vars:
4
4
+
secret_name: nextcloud-sso-env
5
5
+
secret_data:
6
6
+
OIDC_CLIENT_ID: "{{ client_credentials_by_slug[client_spec.slug].client_id }}"
7
7
+
OIDC_CLIENT_SECRET: "{{ client_credentials_by_slug[client_spec.slug].client_secret }}"
8
8
+
deployment_name: nextcloud
+11
ansible/playbooks/vars/oidc-clients.yml
View file
Reviewed
···
67
67
isPublic: false
68
68
pkceEnabled: true
69
69
integration: paperless
70
70
+
71
71
+
- slug: nextcloud
72
72
+
name: Nextcloud
73
73
+
logoUrl: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/nextcloud.png
74
74
+
launchURL: https://nextcloud.cute.haus/
75
75
+
callbackURLs:
76
76
+
- https://nextcloud.cute.haus/apps/user_oidc/code
77
77
+
logoutCallbackURLs: []
78
78
+
isPublic: false
79
79
+
pkceEnabled: true
80
80
+
integration: nextcloud
+6
k8s/charts/collabora/Chart.yaml
View file
Reviewed
···
1
1
+
apiVersion: v2
2
2
+
name: collabora
3
3
+
description: Collabora Online (CODE) document server for Nextcloud Office
4
4
+
type: application
5
5
+
version: 0.1.0
6
6
+
appVersion: "26.04"
+75
k8s/charts/collabora/templates/deployment.yaml
View file
Reviewed
···
1
1
+
apiVersion: apps/v1
2
2
+
kind: Deployment
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
spec:
8
8
+
replicas: 1
9
9
+
strategy:
10
10
+
type: Recreate
11
11
+
selector:
12
12
+
matchLabels:
13
13
+
app: {{ .Chart.Name }}
14
14
+
template:
15
15
+
metadata:
16
16
+
labels:
17
17
+
app: {{ .Chart.Name }}
18
18
+
spec:
19
19
+
terminationGracePeriodSeconds: 30
20
20
+
tolerations:
21
21
+
- key: node.kubernetes.io/not-ready
22
22
+
operator: Exists
23
23
+
effect: NoExecute
24
24
+
tolerationSeconds: 60
25
25
+
- key: node.kubernetes.io/unreachable
26
26
+
operator: Exists
27
27
+
effect: NoExecute
28
28
+
tolerationSeconds: 60
29
29
+
containers:
30
30
+
- name: {{ .Chart.Name }}
31
31
+
image: docker.io/collabora/code:26.04@sha256:75859dc9f9084d1877ce36cf96ec86600f495bade33289c9cbc27e0a0ee23b81
32
32
+
imagePullPolicy: IfNotPresent
33
33
+
# MKNOD is required for Collabora's per-document chroot jails.
34
34
+
securityContext:
35
35
+
capabilities:
36
36
+
add: ["MKNOD"]
37
37
+
env:
38
38
+
- name: aliasgroup1
39
39
+
value: 'https://nextcloud\.cute\.haus'
40
40
+
- name: server_name
41
41
+
value: "collabora.cute.haus"
42
42
+
- name: extra_params
43
43
+
value: "--o:ssl.enable=false --o:ssl.termination=true"
44
44
+
- name: DONT_GEN_SSL_CERT
45
45
+
value: "true"
46
46
+
ports:
47
47
+
- name: http
48
48
+
containerPort: 9980
49
49
+
resources:
50
50
+
requests:
51
51
+
cpu: "2"
52
52
+
memory: 2Gi
53
53
+
limits:
54
54
+
cpu: "4"
55
55
+
memory: 4Gi
56
56
+
startupProbe:
57
57
+
httpGet:
58
58
+
path: /
59
59
+
port: http
60
60
+
periodSeconds: 5
61
61
+
failureThreshold: 30
62
62
+
timeoutSeconds: 5
63
63
+
livenessProbe:
64
64
+
httpGet:
65
65
+
path: /
66
66
+
port: http
67
67
+
periodSeconds: 60
68
68
+
timeoutSeconds: 15
69
69
+
readinessProbe:
70
70
+
httpGet:
71
71
+
path: /
72
72
+
port: http
73
73
+
periodSeconds: 10
74
74
+
timeoutSeconds: 10
75
75
+
failureThreshold: 3
+23
k8s/charts/collabora/templates/ingress.yaml
View file
Reviewed
···
1
1
+
apiVersion: networking.k8s.io/v1
2
2
+
kind: Ingress
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
spec:
8
8
+
ingressClassName: traefik
9
9
+
tls:
10
10
+
- hosts:
11
11
+
- "collabora.cute.haus"
12
12
+
secretName: cute-haus-tls
13
13
+
rules:
14
14
+
- host: "collabora.cute.haus"
15
15
+
http:
16
16
+
paths:
17
17
+
- path: /
18
18
+
pathType: Prefix
19
19
+
backend:
20
20
+
service:
21
21
+
name: {{ .Chart.Name }}
22
22
+
port:
23
23
+
number: 9980
+14
k8s/charts/collabora/templates/service.yaml
View file
Reviewed
···
1
1
+
apiVersion: v1
2
2
+
kind: Service
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
spec:
8
8
+
type: ClusterIP
9
9
+
selector:
10
10
+
app: {{ .Chart.Name }}
11
11
+
ports:
12
12
+
- name: http
13
13
+
port: 9980
14
14
+
targetPort: http
+6
k8s/charts/nextcloud/Chart.yaml
View file
Reviewed
···
1
1
+
apiVersion: v2
2
2
+
name: nextcloud
3
3
+
description: Nextcloud
4
4
+
type: application
5
5
+
version: 0.1.0
6
6
+
appVersion: "33"
+51
k8s/charts/nextcloud/templates/configmap-hooks.yaml
View file
Reviewed
···
1
1
+
apiVersion: v1
2
2
+
kind: ConfigMap
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}-hooks
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
data:
8
8
+
oidc.sh: |
9
9
+
#!/bin/sh
10
10
+
set -eu
11
11
+
12
12
+
occ() {
13
13
+
if [ "$(id -u)" = 0 ]; then
14
14
+
su -p www-data -s /bin/sh -c "php /var/www/html/occ $*"
15
15
+
else
16
16
+
php /var/www/html/occ "$@"
17
17
+
fi
18
18
+
}
19
19
+
20
20
+
echo "[office-hook] configuring richdocuments -> Collabora"
21
21
+
if occ app:install richdocuments 2>/dev/null || occ app:enable richdocuments; then
22
22
+
occ config:app:set richdocuments wopi_url --value="http://collabora.default.svc:9980" || true
23
23
+
occ config:app:set richdocuments public_wopi_url --value="https://collabora.cute.haus" || true
24
24
+
occ config:app:delete richdocuments wopi_allowlist || true
25
25
+
occ richdocuments:activate-config --callback-url=https://nextcloud.cute.haus || true
26
26
+
else
27
27
+
echo "[office-hook] WARNING: richdocuments install/enable failed (non-fatal)"
28
28
+
fi
29
29
+
30
30
+
if [ -z "${OIDC_CLIENT_ID:-}" ] || [ -z "${OIDC_CLIENT_SECRET:-}" ]; then
31
31
+
echo "[oidc-hook] nextcloud-sso-env not present yet; skipping Pocket ID setup"
32
32
+
exit 0
33
33
+
fi
34
34
+
35
35
+
echo "[oidc-hook] installing/enabling user_oidc"
36
36
+
occ app:install user_oidc || true
37
37
+
occ app:enable user_oidc
38
38
+
39
39
+
echo "[oidc-hook] reconciling Pocket ID provider"
40
40
+
occ user_oidc:provider cute.haus \
41
41
+
--clientid="$OIDC_CLIENT_ID" \
42
42
+
--clientsecret="$OIDC_CLIENT_SECRET" \
43
43
+
--discoveryuri="https://id.cute.haus/.well-known/openid-configuration" \
44
44
+
--scope="openid email profile" \
45
45
+
--mapping-uid=preferred_username \
46
46
+
--mapping-email=email \
47
47
+
--mapping-display-name=name \
48
48
+
--unique-uid=0 \
49
49
+
|| echo "[oidc-hook] WARNING: provider registration failed (non-fatal); SSO may be unconfigured"
50
50
+
51
51
+
echo "[oidc-hook] done"
+39
k8s/charts/nextcloud/templates/configmap.yaml
View file
Reviewed
···
1
1
+
apiVersion: v1
2
2
+
kind: ConfigMap
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}-config
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
data:
8
8
+
NEXTCLOUD_ADMIN_USER: "alyraffauf"
9
9
+
NEXTCLOUD_TRUSTED_DOMAINS: "nextcloud.cute.haus"
10
10
+
OVERWRITEPROTOCOL: "https"
11
11
+
OVERWRITEHOST: "nextcloud.cute.haus"
12
12
+
OVERWRITECLIURL: "https://nextcloud.cute.haus"
13
13
+
TRUSTED_PROXIES: "10.42.0.0/16"
14
14
+
APACHE_DISABLE_REWRITE_IP: "1"
15
15
+
PHP_MEMORY_LIMIT: "512M"
16
16
+
PHP_UPLOAD_LIMIT: "10G"
17
17
+
18
18
+
POSTGRES_HOST: "pg-shared-rw.cnpg-system.svc"
19
19
+
POSTGRES_DB: "nextcloud"
20
20
+
POSTGRES_USER: "nextcloud"
21
21
+
22
22
+
REDIS_HOST: "valkey.default.svc"
23
23
+
REDIS_HOST_PORT: "6379"
24
24
+
25
25
+
OBJECTSTORE_S3_BUCKET: "aly-nextcloud"
26
26
+
OBJECTSTORE_S3_REGION: "us-east-005"
27
27
+
OBJECTSTORE_S3_HOST: "s3.us-east-005.backblazeb2.com"
28
28
+
OBJECTSTORE_S3_PORT: "443"
29
29
+
OBJECTSTORE_S3_SSL: "true"
30
30
+
OBJECTSTORE_S3_USEPATH_STYLE: "true"
31
31
+
OBJECTSTORE_S3_AUTOCREATE: "false"
32
32
+
33
33
+
SMTP_HOST: "smtp.resend.com"
34
34
+
SMTP_SECURE: "ssl"
35
35
+
SMTP_PORT: "465"
36
36
+
SMTP_AUTHTYPE: "LOGIN"
37
37
+
SMTP_NAME: "resend"
38
38
+
MAIL_FROM_ADDRESS: "admin"
39
39
+
MAIL_DOMAIN: "aly.social"
+115
k8s/charts/nextcloud/templates/deployment.yaml
View file
Reviewed
···
1
1
+
apiVersion: apps/v1
2
2
+
kind: Deployment
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
spec:
8
8
+
replicas: 1
9
9
+
strategy:
10
10
+
type: Recreate
11
11
+
selector:
12
12
+
matchLabels:
13
13
+
app: {{ .Chart.Name }}
14
14
+
template:
15
15
+
metadata:
16
16
+
labels:
17
17
+
app: {{ .Chart.Name }}
18
18
+
spec:
19
19
+
terminationGracePeriodSeconds: 30
20
20
+
enableServiceLinks: false
21
21
+
securityContext:
22
22
+
fsGroup: 33
23
23
+
tolerations:
24
24
+
- key: node.kubernetes.io/not-ready
25
25
+
operator: Exists
26
26
+
effect: NoExecute
27
27
+
tolerationSeconds: 60
28
28
+
- key: node.kubernetes.io/unreachable
29
29
+
operator: Exists
30
30
+
effect: NoExecute
31
31
+
tolerationSeconds: 60
32
32
+
containers:
33
33
+
- name: {{ .Chart.Name }}
34
34
+
image: docker.io/library/nextcloud:33-apache@sha256:56bdc45109067500fd0832fa64832b7c77a167d9394cbf5f0f4b59740b94194d
35
35
+
imagePullPolicy: IfNotPresent
36
36
+
envFrom:
37
37
+
- configMapRef:
38
38
+
name: {{ .Chart.Name }}-config
39
39
+
- secretRef:
40
40
+
name: {{ .Chart.Name }}-env
41
41
+
- secretRef:
42
42
+
name: {{ .Chart.Name }}-sso-env
43
43
+
optional: true
44
44
+
ports:
45
45
+
- name: http
46
46
+
containerPort: 80
47
47
+
resources:
48
48
+
requests:
49
49
+
cpu: 500m
50
50
+
memory: 1Gi
51
51
+
limits:
52
52
+
cpu: "4"
53
53
+
memory: 4Gi
54
54
+
volumeMounts:
55
55
+
- name: html
56
56
+
mountPath: /var/www/html
57
57
+
- name: hooks
58
58
+
mountPath: /docker-entrypoint-hooks.d/before-starting
59
59
+
startupProbe:
60
60
+
httpGet:
61
61
+
path: /status.php
62
62
+
port: http
63
63
+
periodSeconds: 10
64
64
+
failureThreshold: 90
65
65
+
timeoutSeconds: 5
66
66
+
livenessProbe:
67
67
+
httpGet:
68
68
+
path: /status.php
69
69
+
port: http
70
70
+
periodSeconds: 60
71
71
+
timeoutSeconds: 15
72
72
+
readinessProbe:
73
73
+
httpGet:
74
74
+
path: /status.php
75
75
+
port: http
76
76
+
periodSeconds: 10
77
77
+
timeoutSeconds: 10
78
78
+
failureThreshold: 3
79
79
+
- name: cron
80
80
+
image: docker.io/library/nextcloud:33-apache@sha256:56bdc45109067500fd0832fa64832b7c77a167d9394cbf5f0f4b59740b94194d
81
81
+
imagePullPolicy: IfNotPresent
82
82
+
command:
83
83
+
- /bin/sh
84
84
+
- -c
85
85
+
- |
86
86
+
while true; do
87
87
+
php -f /var/www/html/cron.php || true
88
88
+
sleep 300
89
89
+
done
90
90
+
securityContext:
91
91
+
runAsUser: 33
92
92
+
runAsGroup: 33
93
93
+
envFrom:
94
94
+
- configMapRef:
95
95
+
name: {{ .Chart.Name }}-config
96
96
+
- secretRef:
97
97
+
name: {{ .Chart.Name }}-env
98
98
+
resources:
99
99
+
requests:
100
100
+
cpu: 50m
101
101
+
memory: 128Mi
102
102
+
limits:
103
103
+
cpu: "1"
104
104
+
memory: 512Mi
105
105
+
volumeMounts:
106
106
+
- name: html
107
107
+
mountPath: /var/www/html
108
108
+
volumes:
109
109
+
- name: html
110
110
+
persistentVolumeClaim:
111
111
+
claimName: {{ .Chart.Name }}-data
112
112
+
- name: hooks
113
113
+
configMap:
114
114
+
name: {{ .Chart.Name }}-hooks
115
115
+
defaultMode: 0755
+23
k8s/charts/nextcloud/templates/ingress.yaml
View file
Reviewed
···
1
1
+
apiVersion: networking.k8s.io/v1
2
2
+
kind: Ingress
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
spec:
8
8
+
ingressClassName: traefik
9
9
+
tls:
10
10
+
- hosts:
11
11
+
- "nextcloud.cute.haus"
12
12
+
secretName: cute-haus-tls
13
13
+
rules:
14
14
+
- host: "nextcloud.cute.haus"
15
15
+
http:
16
16
+
paths:
17
17
+
- path: /
18
18
+
pathType: Prefix
19
19
+
backend:
20
20
+
service:
21
21
+
name: {{ .Chart.Name }}
22
22
+
port:
23
23
+
number: 80
+15
k8s/charts/nextcloud/templates/pvc.yaml
View file
Reviewed
···
1
1
+
apiVersion: v1
2
2
+
kind: PersistentVolumeClaim
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}-data
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
annotations:
8
8
+
helm.sh/resource-policy: keep
9
9
+
spec:
10
10
+
accessModes:
11
11
+
- ReadWriteOnce
12
12
+
storageClassName: longhorn
13
13
+
resources:
14
14
+
requests:
15
15
+
storage: 8Gi
+15
k8s/charts/nextcloud/templates/secret.yaml
View file
Reviewed
···
1
1
+
{{- if .Values.secret }}
2
2
+
apiVersion: v1
3
3
+
kind: Secret
4
4
+
metadata:
5
5
+
name: {{ .Chart.Name }}-env
6
6
+
labels:
7
7
+
app: {{ .Chart.Name }}
8
8
+
type: Opaque
9
9
+
stringData:
10
10
+
NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.secret.NEXTCLOUD_ADMIN_PASSWORD | quote }}
11
11
+
POSTGRES_PASSWORD: {{ .Values.secret.POSTGRES_PASSWORD | quote }}
12
12
+
OBJECTSTORE_S3_KEY: {{ .Values.secret.OBJECTSTORE_S3_KEY | quote }}
13
13
+
OBJECTSTORE_S3_SECRET: {{ .Values.secret.OBJECTSTORE_S3_SECRET | quote }}
14
14
+
SMTP_PASSWORD: {{ .Values.secret.SMTP_PASSWORD | quote }}
15
15
+
{{- end }}
+14
k8s/charts/nextcloud/templates/service.yaml
View file
Reviewed
···
1
1
+
apiVersion: v1
2
2
+
kind: Service
3
3
+
metadata:
4
4
+
name: {{ .Chart.Name }}
5
5
+
labels:
6
6
+
app: {{ .Chart.Name }}
7
7
+
spec:
8
8
+
type: ClusterIP
9
9
+
selector:
10
10
+
app: {{ .Chart.Name }}
11
11
+
ports:
12
12
+
- name: http
13
13
+
port: 80
14
14
+
targetPort: http
+16
k8s/helmfile.yaml
View file
Reviewed
···
254
254
values:
255
255
- values/secrets/paperless.yaml
256
256
257
257
+
- name: nextcloud
258
258
+
namespace: default
259
259
+
chart: ./charts/nextcloud
260
260
+
needs:
261
261
+
- default/cluster-tls
262
262
+
- cnpg-system/pg-shared
263
263
+
- default/valkey
264
264
+
values:
265
265
+
- values/secrets/nextcloud.yaml
266
266
+
267
267
+
- name: collabora
268
268
+
namespace: default
269
269
+
chart: ./charts/collabora
270
270
+
needs:
271
271
+
- default/cluster-tls
272
272
+
257
273
- name: uptime-kuma
258
274
namespace: default
259
275
chart: ./charts/uptime-kuma
+6
k8s/values/secrets/nextcloud.yaml
View file
Reviewed
···
1
1
+
secret:
2
2
+
NEXTCLOUD_ADMIN_PASSWORD: ref+sops://../secrets/nextcloud.yaml#/admin_password
3
3
+
POSTGRES_PASSWORD: ref+sops://../secrets/pg-roles.yaml#/roles/nextcloud/password
4
4
+
OBJECTSTORE_S3_KEY: ref+sops://../secrets/b2.yaml#/B2_KEY_ID
5
5
+
OBJECTSTORE_S3_SECRET: ref+sops://../secrets/b2.yaml#/B2_APP_KEY
6
6
+
SMTP_PASSWORD: ref+sops://../secrets/tranquil-pds.yaml#/secret/MAIL_SMARTHOST_PASSWORD
+3
k8s/values/secrets/pg-shared.yaml
View file
Reviewed
···
17
17
paperless:
18
18
database: paperless
19
19
password: ref+sops://../secrets/pg-roles.yaml#/roles/paperless/password
20
20
+
nextcloud:
21
21
+
database: nextcloud
22
22
+
password: ref+sops://../secrets/pg-roles.yaml#/roles/nextcloud/password
+214
secrets/nextcloud.yaml
View file
Reviewed
···
1
1
+
admin_password: ENC[AES256_GCM,data:Bc4YXilbVCqlCSf8br4DvZgdusBu+Ke6ufaajluxGffIc8tZWeSOyg+xZgMRLKE7,iv:tmp/SLCbzsJR0S34wnx8vNIMoVN5LcIVq8oabjyqD84=,tag:1wvqrukxCM+wg35f9B96vw==,type:str]
2
2
+
sops:
3
3
+
age:
4
4
+
- enc: |
5
5
+
-----BEGIN AGE ENCRYPTED FILE-----
6
6
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwUEtUWGxsMGQ4SEdSSThv
7
7
+
UURBT0hXQ25KdzQ0Z0Nwd1Q1THZ6N1FwVHhZCllINjdMamJDOXdEYWp6OUpDalV6
8
8
+
akFlL3ZFUnpXa0s5OEtoN3lOMTFaT2MKLS0tIHFUbDBTTlQvQkEvTUpjdXZxNVVK
9
9
+
K2xhRmdwWVMyZUpya3JDRlI5VmNZTGsKgnZnEXOpwuvd37vlvRdfHygElEknl70w
10
10
+
XxAzm+2F44HkeLRjHCO3u0+qU+Pm2UJkqXBb+5zff0EKfXapqWiDjA==
11
11
+
-----END AGE ENCRYPTED FILE-----
12
12
+
recipient: age1g79dfm0p44q5yxzhwd9syg965lupdu3n5lgyltdannmul5v5v5aszzz3gs
13
13
+
- enc: |
14
14
+
-----BEGIN AGE ENCRYPTED FILE-----
15
15
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGaEV2eUFDNytiaXdRb0Rr
16
16
+
MzRSQ1QyTzQ0MGQ2Q3B3TzVKUFE0YnJka2h3CnR4N1hzMlM1RTVhb3BYY0Z3c2NY
17
17
+
MGljbCt5bmRNVXFRYzhDRklJcDUzYUEKLS0tIHVCeVNHTHFCdHhCRy9GcTlPTEE5
18
18
+
Z3Vtdy9DSnV6YWtnbmE1T1Vka2ZWckEKpWUEd2rKCNrvUGEHE0qPlpSVEJraAQUS
19
19
+
z7/Gb0G25xJpyYPOPtO6kpP6YBiszn+65fOYioqRrhAJmI8AO1X3jA==
20
20
+
-----END AGE ENCRYPTED FILE-----
21
21
+
recipient: age1cpcg5t420nf72k0c9rrx7amg0szch98uzqu273exj7lw3yu0j99q6vcckn
22
22
+
- enc: |
23
23
+
-----BEGIN AGE ENCRYPTED FILE-----
24
24
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWSlhVRHpiOG1Vc1dadmh1
25
25
+
dFJjVWpER0FZQVB6Y0gyUHhoTjdob3VQS3pjCi8vVXNBSzE3YWxPQk1oZEYvSFNF
26
26
+
aE5PNUxMQ3c5eXQ2MFRsK1k4aCt3dEEKLS0tIFV2L00xTm5WT3ovdGlROFlsYkRz
27
27
+
UE84djlpNXdJM2pKQzd3eEYyaVI4bW8K+81WQNLnsqjba5rBQg5TFQwDEztVKWfM
28
28
+
V2i23wUb6bFyRqfPzENNjIxUmNp9zl2jEPRSFS1PDKx4DlS4sHMBrA==
29
29
+
-----END AGE ENCRYPTED FILE-----
30
30
+
recipient: age1w4mzwe89aqgs56mn8zg7dd2l623kwmw80k90wr2sa6dnlcdmhcnsp4kt54
31
31
+
- enc: |
32
32
+
-----BEGIN AGE ENCRYPTED FILE-----
33
33
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArMGN4WWV1enJ4SFVoeUow
34
34
+
b0RaYnRBQ0pzY3dQWU1YQ25hL3YvYlgxbkdJCkZHcmZqb1Zkay8zUndoaWE1MDVp
35
35
+
OWU4T2JXZW9HUzNtd1k0b1B3N0tpRFUKLS0tIE9udkorSFAzakpKbmhlMkdmOUhn
36
36
+
dWNWWlRVSlBRTjhWTzBhOHlWSnlrYncKOilUIM5JCk0EEFW/CI3w7RnukQY9fuVN
37
37
+
dbF9mZ5VNjWwKwMSIBCVHCkqbyr3vqEVX2C8fL2h8Xzz3jVlZlRFYw==
38
38
+
-----END AGE ENCRYPTED FILE-----
39
39
+
recipient: age1e5a0aaueyk34klry2qk094zrwfsvga0uft93mwweye30xhqhvfzs3jgqku
40
40
+
- enc: |
41
41
+
-----BEGIN AGE ENCRYPTED FILE-----
42
42
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2U3JyMnlTMkhFTmZ5WWNn
43
43
+
SStiRWNMMm8yS1hZMkcrc2owczdhQ0xtVGdzClNWZFc4bGxPYW5SRDVCdDBmbm8v
44
44
+
R2pIZEEvcHpUK21UUHpKOENqRSs3Z1UKLS0tIElCMWRxVWhyRXN0SFJ2Myt1MjZr
45
45
+
RzF2eDNxMzUvUDV6bUFOb3o1Tkl5NEEKqhfv4P4AwDpM4aISe0Hg5z5fLi58oRrQ
46
46
+
CYxWzDta6yTGx3hlI0IY8brJ2yJL7TFaeQEYgKRREbd+jaUrixdP9A==
47
47
+
-----END AGE ENCRYPTED FILE-----
48
48
+
recipient: age1j9jju3whwj72udhge7v4c77gk6v6w2cq8zjngzyppwtptfsz499qyywu9a
49
49
+
- enc: |
50
50
+
-----BEGIN AGE ENCRYPTED FILE-----
51
51
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXclIySG5TZFpNYzB2aDlx
52
52
+
MUFBWm1uVStIeGdNYTB2cFpiN1J3VFNjaVdVCnBDQVBuT2xnelkxNC9PM0p5TWJV
53
53
+
UnhLeHFZd3lVcEFBOThSS2VOcWx6elEKLS0tIGZCQVkxWFR5YkRiT3JwRmdOdnJ0
54
54
+
OGZhR2NPeTJuekU4Snl2K3I5dGxzbWsKuyclabTBlzenFFPslLFBdzkTQMLJDKJ0
55
55
+
qihHnA1uuk+JVsvwATU5LpD4NQ1T1zzBpRCKiIuSn+PbEtJbbraWDA==
56
56
+
-----END AGE ENCRYPTED FILE-----
57
57
+
recipient: age162sx8kppp90mjxw88eqs78hgnpkddf8k9kgtksmmexzvcdxknpkspmkgaf
58
58
+
- enc: |
59
59
+
-----BEGIN AGE ENCRYPTED FILE-----
60
60
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPd1BLeHJQNzhDUEZsb0FK
61
61
+
NDlLRk9VK2JIVnpVWUh5VXQvOGxlTzYxWG5RCk5aQTdSeFlNbW5vTytWdVBDajM4
62
62
+
U1RVVDdRWlZjNmtqcVVCb3BTMXF5bmMKLS0tIHduWkdYVWRreXVYYnlqekFBNzdB
63
63
+
ckRQSUNYdiszblU1azNyOEtUbU0vRm8KA17+BiGItlBjEXuPZhoZLoUoqgJPXi1d
64
64
+
j/K0bv/6ckBQDT683O9xvkG6uIVtGHZZLcRjGZLo9lhfK9hRoREgFA==
65
65
+
-----END AGE ENCRYPTED FILE-----
66
66
+
recipient: age1n90usl6sl9tvl64lrxt66gmxyw3u8lkqmv5zxga3pmqmsyjr2c6sadnttd
67
67
+
- enc: |
68
68
+
-----BEGIN AGE ENCRYPTED FILE-----
69
69
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiU3F6V1pXRW1BRlNuZUp1
70
70
+
TElhK3NmdUdqVVVPdHJiZ2JpL2IwNEdxZkQ0CmEwQzlQMU1sK29MRy8wZTkvd2o5
71
71
+
Zkk5ZE13TUJsYmpDcEVOSzE3anBMcTAKLS0tIGJSU25RWXNYdU1sQWZyLzR1S1Jv
72
72
+
akpVY1pxRWw2WmZRMERGT0g4TkZkWUkKF8y0mohU/bZXtz2hfIDvyjp5d3tnYiCl
73
73
+
iOeskm7Vzg3KXSj5zc63K5uVAnzveosHbpBY9A62M19SPJVatbyiQw==
74
74
+
-----END AGE ENCRYPTED FILE-----
75
75
+
recipient: age1mpcyeqjcl8j0dd4sj6f0vufs2vpus3xn4dvxe3cr8g8rgcm0nfxq03ds4y
76
76
+
- enc: |
77
77
+
-----BEGIN AGE ENCRYPTED FILE-----
78
78
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOTnh3R2U3OVd6Qi95UTJL
79
79
+
MlJZOFJYQmtBYXNPRzRkdDFoSG4yOFlWdWlrCjZENjIxblVKZUh5anFpRzc2SlBx
80
80
+
VlNHWGlMcFFIUWttc2t5ZlNCTlA1OEUKLS0tIHBRbVZaSjNGV01tVWc3U25ibzI0
81
81
+
UXJPUkM2dmp2VDNhWG5xQU5FVDIrOWcK1Zmm/ww0Px2pVCB98VL2zHWLkdO1Nqpv
82
82
+
ipPEsmzXSIqXT7pchl5j8Z3fKh5RiLswdNQfSVgDsG8w4QvC843ztQ==
83
83
+
-----END AGE ENCRYPTED FILE-----
84
84
+
recipient: age1zj2aq2a2v3ngcer7s3jz6pufhh8ula8pw56etmy28dy25wrkk3vq59hu2s
85
85
+
- enc: |
86
86
+
-----BEGIN AGE ENCRYPTED FILE-----
87
87
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxaFFZVDRKRDRKeEhoWWtD
88
88
+
K05IbTJXbW8ycTF0YjZGd1V3cktGcXJ1NlZ3Ck4rbVZZOUVsVlJwWXZyMThOb1Zv
89
89
+
bkYwa3ZnTitEdHRWLy81NGJTRk82eEEKLS0tIFVqRGhHV1VuaHVtUkNHWTMrc2xp
90
90
+
TVNST3N0d2FpTXBxNlcvdTY1a3I4TE0KbGMHTUfXNYIPAUEmQQlJvHltiTInsCIf
91
91
+
CI1HcAGfYRmDvoOAEWLNt5wukHSPvxOpK13acgb6KVINVFsPzDO62A==
92
92
+
-----END AGE ENCRYPTED FILE-----
93
93
+
recipient: age15td0jk5e2qeq2pexvxguhuuaxuaa7nhql7mhx9jr79caska6t4pqdv5spl
94
94
+
- enc: |
95
95
+
-----BEGIN AGE ENCRYPTED FILE-----
96
96
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaN1Bla2lRMjRJNWJ1SUhx
97
97
+
c01zdGdZd3VnTllZbS8wSXBuUXArL1pMWnc0CkJmUjdUM0kzZzN2dDZpbXIxM04y
98
98
+
NnlYaHBIMzF1Tms4V2RtMC9UdHV4cWsKLS0tIHVtRXltanpPcDdZbFpuSFhBUjhy
99
99
+
ZTJTa084K3lhM1Z4M05BL0VndHdjTWsKfBMQD2z3S56Uo2oa+PTpwWmREJBGbV8U
100
100
+
5xu1n34Y3426QnFoZbr6OsS7H3eXFGi1sfncRxuWIoq2TXvO21nMeQ==
101
101
+
-----END AGE ENCRYPTED FILE-----
102
102
+
recipient: age15mhrzghrmprq387xqsln6996yx3ja2e2zpamh9mtuu9zqmxahunqg9qugw
103
103
+
- enc: |
104
104
+
-----BEGIN AGE ENCRYPTED FILE-----
105
105
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBod1BhcnR1d3BEUzVpVGls
106
106
+
cEFxUmhTMFJFS1NGV1hoQTRoY1piVXdldFJ3CmY0SUVsYXE0bVRSRktaVk44VHZP
107
107
+
SEd4VWswSUhwWlFQZmNKV0V5Qkg2NkkKLS0tIG8ySDROWkovemxiZ3gzUTEyOEpB
108
108
+
UW4zOU1meWxGd0IvTnlhcVZ0d05oRlEKMWlVkVCy8fKIwpltsXH3PSK47dEj+bZw
109
109
+
wyERwJmRv7sA8dxfjahNlAzpmnvlvIFqmN1VoZpQsvlxbEvXGvKGTw==
110
110
+
-----END AGE ENCRYPTED FILE-----
111
111
+
recipient: age1su5lre6favcv6gdc50yh7ecv33qgfp0tm6klunpuasa3q79kmqtsykaq0d
112
112
+
- enc: |
113
113
+
-----BEGIN AGE ENCRYPTED FILE-----
114
114
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKUU95TnRjUXdDM3BManpN
115
115
+
RnBvMzdOVS9ValVXQ2JjRFU3UTZRd1N5UFRjClg5aWMrbWFzaWxBMmZINzRQTlYw
116
116
+
TFFra2loNkZRVWtwbXlZVWpPYTdTUEUKLS0tIGJnZ2dlZlUzUjk1VlVQbGh6ZVdC
117
117
+
b1FXdlZKc2xMY1J1ZkxtZmlaNmQzcmcKTnju/b96VVM6WEQnl+abFRfpR1m5oBt1
118
118
+
3oJolfyBfkfoPPnBSrM43LaiO83ShP9/WJcG182/YPFSMCarpDpazA==
119
119
+
-----END AGE ENCRYPTED FILE-----
120
120
+
recipient: age1v4x5alkmvxsx5jsrwpecx0tne0ch2rwfkk0rq5w8x578j2pf5urssg5gx2
121
121
+
- enc: |
122
122
+
-----BEGIN AGE ENCRYPTED FILE-----
123
123
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxVWp0bEZmWFdtWklYSGNj
124
124
+
RUdhS1pmYnA5NjZ6VmpXWW15U1FGQW9CVVZZCkFkNlRja0IzcEp5SC9uTzFlcG5H
125
125
+
VHA1RlM0cDRWb05OV1NHeU0zRk5zck0KLS0tIDloV3FmSXNqbWppbE5UcGg0N2ZF
126
126
+
ZXM4cE9JWmlVTW1YMHlvVVZJUjk0UjgKiNFZDggRYMgus65s5JCtnojtABGCX73E
127
127
+
6me40Ch/gm9uFoQSL2Yt5DKg3dIZAc79APlf1bwId0NqURDAJES4xA==
128
128
+
-----END AGE ENCRYPTED FILE-----
129
129
+
recipient: age1f9hd8fu0694rc3tr6hwxz3ldfpepref937rmvqdxvvsr0kfcjdxswyzvw3
130
130
+
- enc: |
131
131
+
-----BEGIN AGE ENCRYPTED FILE-----
132
132
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArdGxnMDFHWVJxUS9oU0xV
133
133
+
ZnJQWHgzN2piRllCN0h4NlNuSnRYYWpqMUFVCmZrZGdoSk9aR3dlZTc0bmZaQ0lr
134
134
+
bW9ESWYvWmlEaXJ5KzZTcEgwdnBSekUKLS0tIFFKZ0VGVnc0TXppTkdQKytsaldN
135
135
+
T1Z4RXdudkI0eXFzbE9ZcVEyTUZWMGcKWUm37xi5Ly60znxndgcXe3oJXz1PSZO3
136
136
+
tsIMQX7SJKJzFq0AUIPAf7j/3i3R6Osw8HY/HDyHdXoYkcpg2X8j3g==
137
137
+
-----END AGE ENCRYPTED FILE-----
138
138
+
recipient: age157en2pt286a22pxzyugt84ak6rn2at89tpma88juqfgj84lme5csq4999g
139
139
+
- enc: |
140
140
+
-----BEGIN AGE ENCRYPTED FILE-----
141
141
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHQTVxSTlYQ3FiWk9vRlJ6
142
142
+
RG9FS1FyeW8xdkx2SWxqVDhrNmR5TjdrOXlRCmRmSE5jY1l4Q2xUeTJnbzB2V3dZ
143
143
+
V09xbk04Z1c5eThLUG44bm5ac0x1cDAKLS0tIEY3aE1EVDVSb2gyWERwRVZRbmN2
144
144
+
c1NoMjJuMUVUUWo1Q3Bib1E2aThHeVUKiAFTltGSFDsio23Qkr0a/roRDB1ZNKNW
145
145
+
9FO4JvTKGjPq7nMPAcCvfpXvSNpGmCWRFGA00xiWvKATjvb9S9QUxg==
146
146
+
-----END AGE ENCRYPTED FILE-----
147
147
+
recipient: age1axn36h9356ena7rq6y2xa4rcm250w9h0m9pz6x0677gla0v4f4dsj92yfm
148
148
+
- enc: |
149
149
+
-----BEGIN AGE ENCRYPTED FILE-----
150
150
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOcUNxSWVnMTlBbWttSk1r
151
151
+
aFgyTXREUXVoS21pWlArSUt3M1RIVXFNdEJrClNPOVVRMVFMRGFyUHV1RG5jNmpO
152
152
+
WXNSNVBpQWxNeWJHYUQ2ZjI5a21JSk0KLS0tIEhaYmNTSGdENlNBbHFteEtaYTRC
153
153
+
OGVBU2NFRkU2czkwYjBlc25pdzJucU0KOAyM2tdCRjpSpzO7xBfUqOKmn9k2Vyfd
154
154
+
1p1nmNtIPBKyVPSRvEhZ1uBzKT0HruD+Vd7QGpKbhlJUYFDnjwY+eg==
155
155
+
-----END AGE ENCRYPTED FILE-----
156
156
+
recipient: age1xwlrtfu3du4jxg2l6eemzqeed8tflhdkjn0q5j9pzpecshtp3cpsh60l4j
157
157
+
- enc: |
158
158
+
-----BEGIN AGE ENCRYPTED FILE-----
159
159
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwQi80dlBtcjV1Y1ZyUFdJ
160
160
+
ZjhqSW1vS0hoVTREQWd0QnZBalFvNGJLYlVBCnNzbStiZmJqYmlyQVVEVnhOTzls
161
161
+
Mk4vTFhJbWMvb2x0bGpsRU1wZ2ZBZUkKLS0tIGFvNm01Y1J4UFFrUm1wS0pWS0ZZ
162
162
+
Uk5JbUxQUjJla1N5cmJhMzYrQ3Z0SVEKJDZdYz3oB9aegALdjp0b7LTFu3Qn3hww
163
163
+
tXZ9c2Dd9Yx7vBmVpSvLRkavGR55e8WWXd6BCyVxb5fiunuqppGuLA==
164
164
+
-----END AGE ENCRYPTED FILE-----
165
165
+
recipient: age1kgp3x48wn0dmzwqp0vdpfsdw42rej0ypkj0qavs7c2t2tgdud5zqcmhl40
166
166
+
- enc: |
167
167
+
-----BEGIN AGE ENCRYPTED FILE-----
168
168
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJTmdpRUlmREhWWThmZVM3
169
169
+
a1dTbkxTMytuMEpmbHp3d0VZK1RhdjlUVERjCm5yUkoyaUFqTkJqWGZQODdmN1NI
170
170
+
Z3cveVRsTTVrTGc5Z09CVFhUSHJ2S2sKLS0tIFVYQnQ3M0dsSHdHREpBOFpCT3Fk
171
171
+
OFcwTVBTYXpselFaNFRLOERkWXFjK1EKkMKBtvJOg0VwQnRgJlTYr5UNtU04CzxE
172
172
+
H8o+XVqiCB9/vPBg7MAMTgAUn6oszHG311tWWmz0UeSqaJ5dReIhtA==
173
173
+
-----END AGE ENCRYPTED FILE-----
174
174
+
recipient: age1sukfru07msq8fm5ddgym23yal9lfm99090p999p09mxgrrwh9aqs6zp4fy
175
175
+
- enc: |
176
176
+
-----BEGIN AGE ENCRYPTED FILE-----
177
177
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQUkNJWktJWHNYUW9wWVVW
178
178
+
VmhGaU14cVdSNldkNUl6NTVvT1JPMlM4NzBnCjVVWGNWWG90aUoreERiMmEreUhS
179
179
+
U2p2b29TdkMySisrdDEyYVZDcmxMVzQKLS0tIFRnZ1V6T3F1Z01nMVZHM0cxc1dz
180
180
+
MjBwc0wyK2NpS0oweFl4eE5nYm0xakkKI5z+g2O2uhvpJqFPsSAu4nMo44fSEjU+
181
181
+
wVqNgQL+mx1TEH8xTYiLnFCTmLgfLE8c0rQ+j0QCye0p3Nvka4kqtQ==
182
182
+
-----END AGE ENCRYPTED FILE-----
183
183
+
recipient: age1ephzrpgftmvq4cul9766q2r3mss38xu6un74ryfmw0729afysghsh0a3qg
184
184
+
- enc: |
185
185
+
-----BEGIN AGE ENCRYPTED FILE-----
186
186
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaODEwVTFJa3M3UHJLTU1Z
187
187
+
djNpbHM5eU05TzZwN3dFTGtCazJWNDZhNVdRCnNWNUJOUGNzWTN4dXAyOEdqS1dk
188
188
+
T2g4R213MGJidFhoVTJyRlFVRGtHRmMKLS0tIHN0dzZKQlVEbGhHRnpvMnVha3Rx
189
189
+
ODJBVW9xM01Mcyt3NklmcDRvaEVFOHMKRSJvsPqyV+vnreU041rkzEXOzMNNS8Cf
190
190
+
RwuFYgitVfSFa+7+a6scFA7PdkxHrE/DeatvhZFawnN57joobcyj7g==
191
191
+
-----END AGE ENCRYPTED FILE-----
192
192
+
recipient: age1stsuakfyj3gkee4sm328ky2crmymyuzwjjmxrpvnm754sdt2zvnshf68jx
193
193
+
- enc: |
194
194
+
-----BEGIN AGE ENCRYPTED FILE-----
195
195
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzNEFVVzQ3N2F5NVowQVly
196
196
+
YzQwVHQ5R2pwZzlpUnpzbk15UEdtakVlSkRjClVubm9PNzNvYnNIb08xOGt4eFVJ
197
197
+
U2tZZDRBRmNuekFzV1oxdWlEdnZtRTgKLS0tIHVMdXRLbGxkM1MrKzNod2pBZ2pi
198
198
+
Z1VaQ3RmeFpuVUlSU1JNYzNSUXY2WGsKEzDVr0SPAjO+JpHSCVzfsZq7RXuIx2sQ
199
199
+
2c3+Ne5QlhVpACj34uUAJ7/M97efHUteFWZJpBvbu3MN1ahofRTJ8w==
200
200
+
-----END AGE ENCRYPTED FILE-----
201
201
+
recipient: age1n66v74s70rma853sdhf7q9tn2wj85v25hh6qvyvxrf42hca284esqr26wa
202
202
+
- enc: |
203
203
+
-----BEGIN AGE ENCRYPTED FILE-----
204
204
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPQXMwU2dqNzhhZnVhc09V
205
205
+
K2wydHRrMmxBMTJJZXROcFUvNStuZEZzYUV3CmFuMW9LY0dlUHZ4b2VXdjhIK1NF
206
206
+
eEZQZHJRWXNnbG1BQWZxb0M0TzNNbVUKLS0tIHZrK2RLZk90RHlUZU43eVIxazBB
207
207
+
alplTUs0WWkrZnRzdDAwR0dnc0RMYlEKLc2adhWSK1cRQ+yHwRkPFXOv9u/Gj6k0
208
208
+
yg/SQIf9HGHm7ODxxe3NkPHpp5e3YXtwSTga8uxcLpiYUVqlVPnsdg==
209
209
+
-----END AGE ENCRYPTED FILE-----
210
210
+
recipient: age1s7ecrfntus8rvyprzhffjpqk2tmrc259knf9xqajlrqvewfp8d6svwp9pp
211
211
+
lastmodified: "2026-06-08T14:35:17Z"
212
212
+
mac: ENC[AES256_GCM,data:hLveXdlI7RiWtcuGuvs+FRPuVcjXse9Jrk9VzXVUdb8pAZ5O0UiHJHcrin9/8+GhTb9ZbYnvd8+dkEw8eLN5u7ksPdoPxGfOoIOGQM1qX79Qfol722bKmmfPvU3Jengtqch7xj6d5xeiYHTILmDEOVxhTFl6tT/EB5o0Ql8CwXA=,iv:WUMo5XnyOf7WCrFIky2M7GXcU1URgE3AMCjpFzCl3zA=,tag:gwNnmrueJW8pWlMvA3LuqQ==,type:str]
213
213
+
unencrypted_suffix: _unencrypted
214
214
+
version: 3.13.1
+5
-2
secrets/pg-roles.yaml
View file
Reviewed
···
11
11
paperless:
12
12
password: ENC[AES256_GCM,data:m2QI5QmqheJ3MZ1hnntzkwLCxBOS2jW8q61MQyz7Jw78Ko56+34P2q6usX/cQSzopym12rPXTYSf+RMYX4IusQ==,iv:BYqeBwJ1sGN791QmU7aebxsXWQihA6mGKPd60xg5DfM=,tag:h3625djRxyKd7BiTXM5KKA==,type:str]
13
13
url: ENC[AES256_GCM,data:7DckTrO2EWy4eKQOhLavV7p44XcZuWqUXFKPKMqJbqcaMju6Pu1bqqeMEI6+NijWa2VxNV1D5qxz7Afq9Z0q9813hZF4F+nevpRmBrjmxMj5OP+KiaU072lytrF37G8VuKZVhmaJzlUPZnF2v3YOKbziW6wAHcEjUgRHqZE=,iv:hj4hw//iPj0Y/DaGqbJSM5lQrmkU9kLtBffgqS35NwU=,tag:SYvZyfTzXfkxndVizgOmpw==,type:str]
14
14
+
nextcloud:
15
15
+
password: ENC[AES256_GCM,data:GxI1aqDwB5uWgmOKREHJkPLLYyuhTu2owk+7sEQWKuWBW7wtmbAXQkGYM03i5iOZBMuJa1xmvQmFyY9PiU4eQw==,iv:On0PrWjKkFZj580VTr5N6j43gCRlPT9x7YEQ2SZ+0v4=,tag:eSi1MnzLCV8IazOwu3KsSA==,type:str]
16
16
+
url: ENC[AES256_GCM,data:AcbYsz+6jNl9rJLk8fnU+4MXIqoToPV+Ox/+ve2duv+noYJTf4BIFYRMYMNz5rNAtcPcnoFFArdK6Wbxu2YbO+RUdtfdheQ28R0wg/a6I1uf8Wo3M4OvvYINB1whwf1zSGcKX53Vm4FacHbl0MzeAaAz9uIduA4cuN8Li5Y=,iv:UCbMpUQxRLFvX3oj5/w4EHpZrYRmgeX/DgGRb/RYdQc=,tag:qRxiY6SyWCSKtMlslxgblg==,type:str]
14
17
sops:
15
18
age:
16
19
- enc: |
···
220
223
znT8ibF54y7Y3ksc/f88PnivW0JNy/Mx3dQ7C4MZqStXRa8JR4a7PA==
221
224
-----END AGE ENCRYPTED FILE-----
222
225
recipient: age1s7ecrfntus8rvyprzhffjpqk2tmrc259knf9xqajlrqvewfp8d6svwp9pp
223
223
-
lastmodified: "2026-05-14T04:18:43Z"
224
224
-
mac: ENC[AES256_GCM,data:jCBLOeQFW0N1LIeZLxX8OFCnRwEHkzAG7cUsK1AYiJX7zTTRPvoRi6GTzc69AY3My2GDmJs7UDslhuXhZd3LQUSHbTkaEHtfnTA/0/h1+pZArCOiLynVJxRKtsWAsCgEL6c2XXkRs2LafTRXgvfzdNh+qFqXHBlPvqpG9nvmfG0=,iv:rSspDzib23zZJZzslb0Q9pt1ahrp0EoF2FvL+hc2UzU=,tag:RRGe9KLxfNAR8HYkfaqXMw==,type:str]
226
226
+
lastmodified: "2026-06-08T14:35:02Z"
227
227
+
mac: ENC[AES256_GCM,data:cvn2dqAsbgKnPQZycMpsnpLflIMUYn/dmBPesiy6Y4mqIs877gaE2o/DDwDPsM9ALV+6WdSLYcD1vmkHVoucvDO9F5CC5NzsRzI4H0ufOG7ijny2vtauu4Q1n6CQmTxtVagSCkUWa0pR23B0AvQKTpV0fenZ+yblpYpaf2V7QEk=,iv:CY7M+yV0QmJfyqQDth35H4w1fWnxyrryNQ2ZC/2MvMc=,tag:dwZLkKJfezfihrwWY/7CXA==,type:str]
225
228
unencrypted_suffix: _unencrypted
226
229
version: 3.12.1
+13
terraform/b2_buckets.tf
View file
Reviewed
···
128
128
}
129
129
}
130
130
131
131
+
resource "b2_bucket" "aly_nextcloud" {
132
132
+
bucket_name = "aly-nextcloud"
133
133
+
bucket_type = "allPrivate"
134
134
+
default_server_side_encryption {
135
135
+
mode = "SSE-B2"
136
136
+
algorithm = "AES256"
137
137
+
}
138
138
+
lifecycle_rules {
139
139
+
days_from_hiding_to_deleting = 7
140
140
+
file_name_prefix = ""
141
141
+
}
142
142
+
}
143
143
+
131
144
resource "b2_bucket" "aly_outline" {
132
145
bucket_name = "aly-outline"
133
146
bucket_type = "allPrivate"
+2
terraform/cute_haus.tf
View file
Reviewed
···
2
2
cute_haus_ingress = {
3
3
"audiobookshelf.cute.haus" = true
4
4
"auth-navidrome.cute.haus" = true
5
5
+
"collabora.cute.haus" = false
5
6
"cute.haus" = true
6
7
"id.cute.haus" = true
7
8
"immich.cute.haus" = false
8
9
"jellyfin.cute.haus" = false
9
10
"kuma.cute.haus" = true
10
11
"navidrome.cute.haus" = true
12
12
+
"nextcloud.cute.haus" = false
11
13
"ombi.cute.haus" = true
12
14
"paperless.cute.haus" = false
13
15
"pds.cute.haus" = false