File tree Expand file tree Collapse file tree 7 files changed +195
-13
lines changed
kubernetes/applications/miniflux Expand file tree Collapse file tree 7 files changed +195
-13
lines changed Original file line number Diff line number Diff line change 1414 authentik : " cross/data/apps/authentik:postgres_password"
1515 matrix : " cross/data/apps/matrix:postgres_password"
1616 sonarqube : " cross/data/apps/sonarqube:postgres_password"
17- kestra : " cross/data/apps/kestra:postgres_password"
1817 immich : " cross/data/apps/immich:postgres_password"
18+ miniflux : " cross/data/apps/miniflux:postgres_password"
1919
2020 tasks :
2121 - name : Include vault secrets loading task
Original file line number Diff line number Diff line change 3333 lc_collate : en_US.UTF-8
3434 lc_ctype : en_US.UTF-8
3535
36- - name : kestra_db
37- owner : kestra_user
38- encoding : UTF8
39- lc_collate : en_US.UTF-8
40- lc_ctype : en_US.UTF-8
41-
4236 - name : immich_db
4337 owner : immich_user
4438 encoding : UTF8
4943 - cube
5044 - earthdistance
5145
46+ - name : miniflux_db
47+ owner : miniflux_user
48+ encoding : UTF8
49+ lc_collate : en_US.UTF-8
50+ lc_ctype : en_US.UTF-8
51+
5252 users :
5353 - name : invidious_user
5454 password : " {{ _secrets.postgres_users.invidious }}"
8282 table_privs : ALL
8383 sequence_privs : ALL
8484
85- - name : kestra_user
86- password : " {{ _secrets.postgres_users.kestra }}"
85+ - name : immich_user
86+ password : " {{ _secrets.postgres_users.immich }}"
8787 databases :
88- - kestra_db
88+ - immich_db
8989 privileges : ALL
9090 table_privs : ALL
9191 sequence_privs : ALL
9292
93- - name : immich_user
94- password : " {{ _secrets.postgres_users.immich }}"
93+ - name : miniflux_user
94+ password : " {{ _secrets.postgres_users.miniflux }}"
9595 databases :
96- - immich_db
96+ - miniflux_db
9797 privileges : ALL
9898 table_privs : ALL
9999 sequence_privs : ALL
Original file line number Diff line number Diff line change @@ -46,6 +46,7 @@ pihole:
4646 - { ip: 192.168.0.81, domain: "tools.local.ildoc.it"}
4747 - { ip: 192.168.0.81, domain: "immich.local.ildoc.it"}
4848 - { ip: 192.168.0.81, domain: "pdf.local.ildoc.it"}
49+ - { ip: 192.168.0.81, domain: "miniflux.local.ildoc.it"}
4950
5051 - { ip: 192.168.0.81, domain: "pocmanager.local.ildoc.it"}
5152 - { ip: 192.168.0.81, domain: "pocsender.local.ildoc.it"}
Original file line number Diff line number Diff line change 1+ ---
2+ apiVersion : apps/v1
3+ kind : Deployment
4+ metadata :
5+ name : miniflux
6+ namespace : apps
7+ annotations :
8+ argocd.argoproj.io/sync-wave : " 4"
9+ spec :
10+ selector :
11+ matchLabels :
12+ app : miniflux
13+ strategy :
14+ type : Recreate
15+ revisionHistoryLimit : 3
16+ template :
17+ metadata :
18+ labels :
19+ app : miniflux
20+ spec :
21+ initContainers :
22+ - name : prepare-env
23+ image : busybox:latest
24+ command :
25+ - /bin/sh
26+ - -c
27+ - |
28+ echo "postgres://miniflux:${POSTGRES_PASSWORD}@192.168.0.30/miniflux?sslmode=disable" > /shared/database_url
29+ echo "✓ DATABASE_URL prepared"
30+ env :
31+ - name : POSTGRES_PASSWORD
32+ valueFrom :
33+ secretKeyRef :
34+ name : miniflux-cross-secrets
35+ key : postgres-password
36+ volumeMounts :
37+ - name : shared-env
38+ mountPath : /shared
39+
40+ containers :
41+ - name : miniflux
42+ image : miniflux/miniflux:latest
43+ command :
44+ - /bin/sh
45+ - -c
46+ - |
47+ # Legge la DATABASE_URL dal file scritto dall'initContainer
48+ export DATABASE_URL=$(cat /shared/database_url)
49+ # Esegue il comando originale di Miniflux (l'immagine ha già un entrypoint)
50+ exec miniflux
51+ env :
52+ - name : RUN_MIGRATIONS
53+ value : " 1"
54+ - name : CREATE_ADMIN
55+ value : " 1"
56+ - name : ADMIN_USERNAME
57+ value : " miniflux_user"
58+ - name : ADMIN_PASSWORD
59+ valueFrom :
60+ secretKeyRef :
61+ name : miniflux-k8s-secrets
62+ key : admin-password
63+ ports :
64+ - containerPort : 8080
65+ name : http
66+ protocol : TCP
67+ volumeMounts :
68+ - name : shared-env
69+ mountPath : /shared
70+ readOnly : true
71+ resources :
72+ limits :
73+ cpu : 500m
74+ memory : 512Mi
75+ requests :
76+ cpu : 100m
77+ memory : 128Mi
78+ livenessProbe :
79+ httpGet :
80+ path : /healthcheck
81+ port : http
82+ initialDelaySeconds : 30
83+ periodSeconds : 30
84+ timeoutSeconds : 5
85+ failureThreshold : 3
86+ readinessProbe :
87+ httpGet :
88+ path : /healthcheck
89+ port : http
90+ initialDelaySeconds : 10
91+ periodSeconds : 10
92+ timeoutSeconds : 5
93+ failureThreshold : 3
94+
95+ volumes :
96+ - name : shared-env
97+ emptyDir : {}
98+
Original file line number Diff line number Diff line change 1+ ---
2+ apiVersion : gateway.networking.k8s.io/v1
3+ kind : HTTPRoute
4+ metadata :
5+ name : miniflux-route
6+ namespace : apps
7+ spec :
8+ parentRefs :
9+ - name : cilium-gateway
10+ namespace : kube-system
11+ sectionName : https
12+ hostnames :
13+ - " miniflux.local.ildoc.it"
14+ rules :
15+ - matches :
16+ - path :
17+ type : PathPrefix
18+ value : /
19+ backendRefs :
20+ - name : miniflux
21+ port : 8080
Original file line number Diff line number Diff line change 1+ ---
2+ # Secret condivisi (PostgreSQL) dal path cross/
3+ apiVersion : external-secrets.io/v1
4+ kind : ExternalSecret
5+ metadata :
6+ name : vault-miniflux-cross-secrets
7+ namespace : apps
8+ spec :
9+ refreshInterval : " 1h"
10+ secretStoreRef :
11+ name : vault-cross-secret-store
12+ kind : ClusterSecretStore
13+ target :
14+ name : miniflux-cross-secrets
15+ creationPolicy : Owner
16+ data :
17+ - secretKey : postgres-password
18+ remoteRef :
19+ key : cross/data/apps/miniflux
20+ property : postgres_password
21+
22+ ---
23+ # Secret specifici Kubernetes (admin password, etc.)
24+ apiVersion : external-secrets.io/v1
25+ kind : ExternalSecret
26+ metadata :
27+ name : vault-miniflux-k8s-secrets
28+ namespace : apps
29+ annotations :
30+ argocd.argoproj.io/sync-wave : " 1"
31+ spec :
32+ refreshInterval : " 1h"
33+ secretStoreRef :
34+ name : vault-kubernetes-secret-store
35+ kind : ClusterSecretStore
36+ target :
37+ name : miniflux-k8s-secrets
38+ creationPolicy : Owner
39+ data :
40+ - secretKey : admin-password
41+ remoteRef :
42+ key : kubernetes/data/apps/miniflux
43+ property : admin_password
44+
Original file line number Diff line number Diff line change 1+ ---
2+ apiVersion : v1
3+ kind : Service
4+ metadata :
5+ name : miniflux
6+ namespace : apps
7+ annotations :
8+ argocd.argoproj.io/sync-wave : " 4"
9+ spec :
10+ type : ClusterIP
11+ ports :
12+ - port : 8080
13+ targetPort : 8080
14+ protocol : TCP
15+ name : http
16+ selector :
17+ app : miniflux
18+
You can’t perform that action at this time.
0 commit comments