feat: add postiz temporal
This commit is contained in:
@@ -2,6 +2,9 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||||
version: 4.6.2
|
version: 4.6.2
|
||||||
|
- name: temporal
|
||||||
|
repository: https://go.temporal.io/helm-charts
|
||||||
|
version: 1.0.0-rc.3
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 2.4.0
|
version: 2.4.0
|
||||||
@@ -17,5 +20,5 @@ dependencies:
|
|||||||
- name: volsync-target
|
- name: volsync-target
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 0.8.0
|
version: 0.8.0
|
||||||
digest: sha256:1c7f2f341be8892e4b8e016c34676dee45f35caf75908a0eabe845b5683948c4
|
digest: sha256:a5d285d997702cefaac9808ac6556a566d7974773c7fb2c7a0defb8f64226443
|
||||||
generated: "2026-04-05T19:40:33.153012-05:00"
|
generated: "2026-04-05T20:33:43.946895-05:00"
|
||||||
|
|||||||
@@ -8,8 +8,14 @@ keywords:
|
|||||||
home: https://docs.alexlebens.dev/applications/plex/
|
home: https://docs.alexlebens.dev/applications/plex/
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/gitroomhq/postiz-app
|
- https://github.com/gitroomhq/postiz-app
|
||||||
|
- https://github.com/getsentry/spotlight
|
||||||
- https://github.com/gitroomhq/postiz-app/pkgs/container/postiz-app
|
- https://github.com/gitroomhq/postiz-app/pkgs/container/postiz-app
|
||||||
|
- https://github.com/getsentry/spotlight/pkgs/container/spotlight
|
||||||
|
- https://hub.docker.com/r/temporalio/server
|
||||||
|
- https://hub.docker.com/r/temporalio/admin-tools
|
||||||
|
- https://hub.docker.com/r/temporalio/ui
|
||||||
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
|
||||||
|
- https://github.com/temporalio/helm-charts/tree/main/charts/temporal
|
||||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
|
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
|
||||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
|
||||||
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
|
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
|
||||||
@@ -21,6 +27,9 @@ dependencies:
|
|||||||
alias: postiz
|
alias: postiz
|
||||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||||
version: 4.6.2
|
version: 4.6.2
|
||||||
|
- name: temporal
|
||||||
|
repository: https://go.temporal.io/helm-charts
|
||||||
|
version: 1.0.0-rc.3
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
repository: oci://harbor.alexlebens.net/helm-charts
|
||||||
version: 2.4.0
|
version: 2.4.0
|
||||||
|
|||||||
30
clusters/cl01tl/helm/postiz/templates/elasticsearch.yaml
Normal file
30
clusters/cl01tl/helm/postiz/templates/elasticsearch.yaml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
apiVersion: elasticsearch.k8s.elastic.co/v1
|
||||||
|
kind: Elasticsearch
|
||||||
|
metadata:
|
||||||
|
name: elasticsearch-postiz
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: elasticsearch-postiz
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}``
|
||||||
|
spec:
|
||||||
|
# renovate: datasource=docker depName=elasticsearch
|
||||||
|
version: 8.19.8@sha256:e6ef2af8db3269ffd075ebf5e605d62324345d646c4fa201654f648d1cad44a4
|
||||||
|
auth:
|
||||||
|
fileRealm:
|
||||||
|
- secretName: postiz-elasticsearch-secret
|
||||||
|
nodeSets:
|
||||||
|
- name: default
|
||||||
|
count: 2
|
||||||
|
config:
|
||||||
|
node.store.allow_mmap: false
|
||||||
|
volumeClaimTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: elasticsearch-data
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
||||||
|
storageClassName: ceph-block
|
||||||
58
clusters/cl01tl/helm/postiz/templates/http-route.yaml
Normal file
58
clusters/cl01tl/helm/postiz/templates/http-route.yaml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: temporal-ui
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: temporal-ui
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- temporal-ui.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
|
backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: temporal-ui
|
||||||
|
port: 8080
|
||||||
|
weight: 100
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: temporal-frontend
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: temporal-frontend
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
hostnames:
|
||||||
|
- temporal-frontend.alexlebens.net
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
|
backendRefs:
|
||||||
|
- group: ''
|
||||||
|
kind: Service
|
||||||
|
name: temporal-frontend
|
||||||
|
port: 80
|
||||||
|
weight: 100
|
||||||
@@ -10,17 +10,21 @@ postiz:
|
|||||||
repository: ghcr.io/gitroomhq/postiz-app
|
repository: ghcr.io/gitroomhq/postiz-app
|
||||||
tag: v2.21.4@sha256:a339e9ee256537526d0eda19e5919e01fa7649a40596ebec5d9e1389850836bc
|
tag: v2.21.4@sha256:a339e9ee256537526d0eda19e5919e01fa7649a40596ebec5d9e1389850836bc
|
||||||
env:
|
env:
|
||||||
|
- name: JWT_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: postiz-config-secret
|
||||||
|
key: JWT_SECRET
|
||||||
- name: MAIN_URL
|
- name: MAIN_URL
|
||||||
value: https://postiz.alexlebens.dev
|
value: https://postiz.alexlebens.dev
|
||||||
- name: FRONTEND_URL
|
- name: FRONTEND_URL
|
||||||
value: https://postiz.alexlebens.dev
|
value: https://postiz.alexlebens.dev
|
||||||
- name: NEXT_PUBLIC_BACKEND_URL
|
- name: NEXT_PUBLIC_BACKEND_URL
|
||||||
value: https://postiz.alexlebens.dev/api
|
value: https://postiz.alexlebens.dev/api
|
||||||
- name: JWT_SECRET
|
- name: BACKEND_INTERNAL_URL
|
||||||
valueFrom:
|
value: http://temporal:3000
|
||||||
secretKeyRef:
|
- name: TEMPORAL_ADDRESS
|
||||||
name: postiz-config-secret
|
value: http://temporal:3000
|
||||||
key: JWT_SECRET
|
|
||||||
- name: DATABASE_URL
|
- name: DATABASE_URL
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
@@ -31,10 +35,12 @@ postiz:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: postiz-valkey-config
|
name: postiz-valkey-config
|
||||||
key: REDIS_URL
|
key: REDIS_URL
|
||||||
- name: BACKEND_INTERNAL_URL
|
|
||||||
value: http://localhost:3000
|
|
||||||
- name: IS_GENERAL
|
- name: IS_GENERAL
|
||||||
value: "true"
|
value: "true"
|
||||||
|
- name: DISABLE_REGISTRATION
|
||||||
|
value: "false"
|
||||||
|
- name: RUN_CRON
|
||||||
|
value: "true"
|
||||||
- name: STORAGE_PROVIDER
|
- name: STORAGE_PROVIDER
|
||||||
value: local
|
value: local
|
||||||
- name: UPLOAD_DIRECTORY
|
- name: UPLOAD_DIRECTORY
|
||||||
@@ -67,10 +73,27 @@ postiz:
|
|||||||
key: secret
|
key: secret
|
||||||
- name: POSTIZ_OAUTH_SCOPE
|
- name: POSTIZ_OAUTH_SCOPE
|
||||||
value: openid profile email
|
value: openid profile email
|
||||||
|
- name: NEXT_PUBLIC_SENTRY_DSN
|
||||||
|
value: http://spotlight:8969/stream
|
||||||
|
- name: SENTRY_SPOTLIGHT
|
||||||
|
value: "1"
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 10m
|
cpu: 10m
|
||||||
memory: 1Gi
|
memory: 1Gi
|
||||||
|
spotlight:
|
||||||
|
type: deployment
|
||||||
|
replicas: 1
|
||||||
|
strategy: Recreate
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/getsentry/spotlight
|
||||||
|
tag: 4.11.3@sha256:be6eb5b5d0df882025dcef138c217d493e6dcb684aebc235bc1b2832eb347c7f
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 40Mi
|
||||||
service:
|
service:
|
||||||
main:
|
main:
|
||||||
controller: main
|
controller: main
|
||||||
@@ -78,24 +101,12 @@ postiz:
|
|||||||
http:
|
http:
|
||||||
port: 80
|
port: 80
|
||||||
targetPort: 5000
|
targetPort: 5000
|
||||||
route:
|
spotlight:
|
||||||
main:
|
controller: spotlight
|
||||||
kind: HTTPRoute
|
ports:
|
||||||
parentRefs:
|
http:
|
||||||
- group: gateway.networking.k8s.io
|
port: 8969
|
||||||
kind: Gateway
|
targetPort: 8969
|
||||||
name: traefik-gateway
|
|
||||||
namespace: traefik
|
|
||||||
hostnames:
|
|
||||||
- postiz.alexlebens.net
|
|
||||||
rules:
|
|
||||||
- backendRefs:
|
|
||||||
- name: postiz
|
|
||||||
port: 80
|
|
||||||
matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
config:
|
||||||
forceRename: postiz-config
|
forceRename: postiz-config
|
||||||
@@ -117,6 +128,94 @@ postiz:
|
|||||||
main:
|
main:
|
||||||
- path: /uploads
|
- path: /uploads
|
||||||
readOnly: false
|
readOnly: false
|
||||||
|
temporal:
|
||||||
|
server:
|
||||||
|
image:
|
||||||
|
repository: temporalio/server
|
||||||
|
tag: 1.30.2@sha256:d5334ee3ddce1617efbe280a10afc85916cf8d81798415c98988dbda2b46773e
|
||||||
|
metrics:
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 60Mi
|
||||||
|
config:
|
||||||
|
logLevel: "debug,info"
|
||||||
|
persistence:
|
||||||
|
datastores:
|
||||||
|
default:
|
||||||
|
sql:
|
||||||
|
pluginName: postgres12
|
||||||
|
driverName: postgres12
|
||||||
|
databaseName: app
|
||||||
|
connectAddr: postiz-postgresql-18-cluster-rw.postiz:5432
|
||||||
|
user: app
|
||||||
|
existingSecret: postiz-postgresql-18-cluster-app
|
||||||
|
secretKey: password
|
||||||
|
tls:
|
||||||
|
enabled: false
|
||||||
|
visibility:
|
||||||
|
elasticsearch:
|
||||||
|
version: v8
|
||||||
|
url:
|
||||||
|
scheme: http
|
||||||
|
host: elasticsearch-postiz-es-http.postiz:9200
|
||||||
|
logLevel: error
|
||||||
|
indices:
|
||||||
|
visibility: temporal_visibility_v1
|
||||||
|
tls:
|
||||||
|
enabled: false
|
||||||
|
frontend:
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
metrics:
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 60Mi
|
||||||
|
history:
|
||||||
|
metrics:
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 60Mi
|
||||||
|
matching:
|
||||||
|
metrics:
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 60Mi
|
||||||
|
worker:
|
||||||
|
metrics:
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 60Mi
|
||||||
|
admintools:
|
||||||
|
image:
|
||||||
|
repository: temporalio/admin-tools
|
||||||
|
tag: 1.30.2@sha256:024c6473df113e4b220b3caf6056d30964582ffcae6f6e46a1074aa6c67968d3
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 60Mi
|
||||||
|
web:
|
||||||
|
image:
|
||||||
|
repository: temporalio/ui
|
||||||
|
tag: 2.48.1@sha256:edb5dd1b3e0ddb35611939dde9b573533afd6fbafbbf077b73c7131a30ca91ff
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 60Mi
|
||||||
postgres-18-cluster:
|
postgres-18-cluster:
|
||||||
mode: recovery
|
mode: recovery
|
||||||
recovery:
|
recovery:
|
||||||
@@ -136,6 +235,10 @@ postgres-18-cluster:
|
|||||||
immediate: true
|
immediate: true
|
||||||
schedule: "0 20 15 * * *"
|
schedule: "0 20 15 * * *"
|
||||||
backupName: garage-local
|
backupName: garage-local
|
||||||
|
databases:
|
||||||
|
- name: temporal
|
||||||
|
ensure: present
|
||||||
|
owner: app
|
||||||
valkey:
|
valkey:
|
||||||
valkey:
|
valkey:
|
||||||
auth:
|
auth:
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ metadata:
|
|||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
version: 8.19.8
|
# renovate: datasource=docker depName=elasticsearch
|
||||||
|
version: 8.19.8@sha256:e6ef2af8db3269ffd075ebf5e605d62324345d646c4fa201654f648d1cad44a4
|
||||||
auth:
|
auth:
|
||||||
fileRealm:
|
fileRealm:
|
||||||
- secretName: stalwart-elasticsearch-secret
|
- secretName: stalwart-elasticsearch-secret
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ metadata:
|
|||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
version: 8.19.8
|
# renovate: datasource=docker depName=elasticsearch
|
||||||
|
version: 8.19.8@sha256:e6ef2af8db3269ffd075ebf5e605d62324345d646c4fa201654f648d1cad44a4
|
||||||
auth:
|
auth:
|
||||||
fileRealm:
|
fileRealm:
|
||||||
- secretName: tubearchivist-elasticsearch-secret
|
- secretName: tubearchivist-elasticsearch-secret
|
||||||
|
|||||||
Reference in New Issue
Block a user