Compare commits
20 commits
ce69567138
...
7420814710
Author | SHA1 | Date | |
---|---|---|---|
7420814710 | |||
c3a3d6d111 | |||
ccd6f09d37 | |||
49e525cf5d | |||
e57efa2aa3 | |||
fb03638cd7 | |||
d80673daf9 | |||
27d9722e2f | |||
7666558378 | |||
1122775f03 | |||
4b9f40740e | |||
59b0e69e8f | |||
48611b23c1 | |||
8be46bccde | |||
754073318c | |||
8a541ee1e0 | |||
36b18602d1 | |||
0490a15eec | |||
93a10ea9e3 | |||
110781bea4 |
13 changed files with 137 additions and 29 deletions
|
@ -10,7 +10,7 @@ spec:
|
||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: cert-manager-webhook-dnsimple
|
chart: cert-manager-webhook-dnsimple
|
||||||
version: 0.0.10
|
version: 0.0.11
|
||||||
interval: 30m
|
interval: 30m
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
|
|
|
@ -5,3 +5,5 @@ kind: Kustomization
|
||||||
namespace: database
|
namespace: database
|
||||||
resources:
|
resources:
|
||||||
- ./helmrelease.yaml
|
- ./helmrelease.yaml
|
||||||
|
- ./objectbucketclaim.yaml
|
||||||
|
- ./podmonitor.yaml
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
apiVersion: objectbucket.io/v1alpha1
|
apiVersion: objectbucket.io/v1alpha1
|
||||||
kind: ObjectBucketClaim
|
kind: ObjectBucketClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: pgo-peertube-backup-bucket-v1
|
name: crunchy-postgres
|
||||||
namespace: monitoring
|
namespace: monitoring
|
||||||
spec:
|
spec:
|
||||||
bucketName: pgo-peertube-backup-v1
|
bucketName: crunchy-postgres
|
||||||
storageClassName: ceph-bucket
|
storageClassName: ceph-bucket
|
|
@ -0,0 +1,33 @@
|
||||||
|
# yaml-language-server: $schema=https://ks.hsn.dev/monitoring.coreos.com/podmonitor_v1.json
|
||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PodMonitor
|
||||||
|
metadata:
|
||||||
|
name: crunchy-postgres-exporter
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
postgres-operator.crunchydata.com/crunchy-postgres-exporter: 'true'
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- peertube
|
||||||
|
podMetricsEndpoints:
|
||||||
|
- port: "exporter"
|
||||||
|
relabelings:
|
||||||
|
- sourceLabels: [__meta_kubernetes_pod_container_port_number]
|
||||||
|
action: keep
|
||||||
|
regex: "9187"
|
||||||
|
- sourceLabels: [__meta_kubernetes_namespace]
|
||||||
|
targetLabel: kubernetes_namespace
|
||||||
|
- sourceLabels: [__meta_kubernetes_pod_name]
|
||||||
|
targetLabel: pod
|
||||||
|
- sourceLabels: [__meta_kubernetes_namespace, __meta_kubernetes_pod_label_postgres_operator_crunchydata_com_cluster]
|
||||||
|
separator: ":"
|
||||||
|
targetLabel: pg_cluster
|
||||||
|
replacement: "$1$2"
|
||||||
|
- sourceLabels: [__meta_kubernetes_pod_ip]
|
||||||
|
targetLabel: ip
|
||||||
|
- sourceLabels: [__meta_kubernetes_pod_label_postgres_operator_crunchydata_com_instance]
|
||||||
|
targetLabel: deployment
|
||||||
|
- sourceLabels: [__meta_kubernetes_pod_label_postgres_operator_crunchydata_com_role]
|
||||||
|
targetLabel: role
|
|
@ -27,7 +27,7 @@ spec:
|
||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: quay.io/prometheus/alertmanager
|
repository: quay.io/prometheus/alertmanager
|
||||||
tag: main@sha256:c9158d4597dda0887f089c9a6d81c5c989fb147bb66e562c81a97f896a6198ce
|
tag: main@sha256:12e1a50fbb3970f0df6bf96f712d009f48fbf55f29256ce80b4f38c78b8b4264
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
reloader.stakater.com/auto: "true"
|
reloader.stakater.com/auto: "true"
|
||||||
|
|
|
@ -154,6 +154,14 @@ spec:
|
||||||
editable: true
|
editable: true
|
||||||
options:
|
options:
|
||||||
path: /var/lib/grafana/dashboards/thanos
|
path: /var/lib/grafana/dashboards/thanos
|
||||||
|
- name: crunchy-postgres
|
||||||
|
orgId: 1
|
||||||
|
folder: Crunchy Postgres
|
||||||
|
type: file
|
||||||
|
disableDeletion: false
|
||||||
|
editable: true
|
||||||
|
options:
|
||||||
|
path: /var/lib/grafana/dashboards/crunchy-postgres
|
||||||
dashboards:
|
dashboards:
|
||||||
default:
|
default:
|
||||||
external-dns:
|
external-dns:
|
||||||
|
@ -183,6 +191,28 @@ spec:
|
||||||
gnetId: 5342
|
gnetId: 5342
|
||||||
revision: 9
|
revision: 9
|
||||||
datasource: Prometheus
|
datasource: Prometheus
|
||||||
|
crunchy-postgres:
|
||||||
|
pgbackrest:
|
||||||
|
url: https://raw.githubusercontent.com/CrunchyData/pgmonitor/development/grafana/containers/pgbackrest.json
|
||||||
|
datasource: Prometheus
|
||||||
|
pods:
|
||||||
|
url: https://raw.githubusercontent.com/CrunchyData/pgmonitor/development/grafana/containers/pod_details.json
|
||||||
|
datasource: Prometheus
|
||||||
|
postgresql:
|
||||||
|
url: https://raw.githubusercontent.com/CrunchyData/pgmonitor/development/grafana/containers/postgresql_details.json
|
||||||
|
datasource: Prometheus
|
||||||
|
postgresql-overview:
|
||||||
|
url: https://raw.githubusercontent.com/CrunchyData/pgmonitor/development/grafana/containers/postgresql_overview.json
|
||||||
|
datasource: Prometheus
|
||||||
|
postgresql-health:
|
||||||
|
url: https://raw.githubusercontent.com/CrunchyData/pgmonitor/development/grafana/containers/postgresql_service_health.json
|
||||||
|
datasource: Prometheus
|
||||||
|
postgresql-alerts:
|
||||||
|
url: https://raw.githubusercontent.com/CrunchyData/pgmonitor/development/grafana/containers/prometheus_alerts.json
|
||||||
|
datasource: Prometheus
|
||||||
|
query-stats:
|
||||||
|
url: https://raw.githubusercontent.com/CrunchyData/pgmonitor/development/grafana/containers/query_statistics.json
|
||||||
|
datasource: Prometheus
|
||||||
flux:
|
flux:
|
||||||
flux-cluster:
|
flux-cluster:
|
||||||
url: https://raw.githubusercontent.com/fluxcd/flux2-monitoring-example/main/monitoring/configs/dashboards/cluster.json
|
url: https://raw.githubusercontent.com/fluxcd/flux2-monitoring-example/main/monitoring/configs/dashboards/cluster.json
|
||||||
|
|
|
@ -102,7 +102,7 @@ spec:
|
||||||
- severity = "warning"
|
- severity = "warning"
|
||||||
equal: ["alertname", "namespace"]
|
equal: ["alertname", "namespace"]
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true
|
enabled: false
|
||||||
alertmanagerSpec:
|
alertmanagerSpec:
|
||||||
replicas: 3
|
replicas: 3
|
||||||
storage:
|
storage:
|
||||||
|
|
|
@ -17,8 +17,8 @@ spec:
|
||||||
wait: true
|
wait: true
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: cluster-apps-cert-manager-issuers
|
- name: cluster-apps-cert-manager-issuers
|
||||||
# ---
|
---
|
||||||
# # yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
|
||||||
# apiVersion: kustomize.toolkit.fluxcd.io/v1
|
# apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
# kind: Kustomization
|
# kind: Kustomization
|
||||||
# metadata:
|
# metadata:
|
||||||
|
|
|
@ -29,7 +29,7 @@ spec:
|
||||||
load-balancer.hetzner.cloud/location: fsn1
|
load-balancer.hetzner.cloud/location: fsn1
|
||||||
load-balancer.hetzner.cloud/protocol: tcp
|
load-balancer.hetzner.cloud/protocol: tcp
|
||||||
load-balancer.hetzner.cloud/name: peertube-nginx
|
load-balancer.hetzner.cloud/name: peertube-nginx
|
||||||
load-balancer.hetzner.cloud/use-private-ip: true
|
load-balancer.hetzner.cloud/use-private-ip: false
|
||||||
load-balancer.hetzner.cloud/uses-proxyprotocol: true
|
load-balancer.hetzner.cloud/uses-proxyprotocol: true
|
||||||
|
|
||||||
publishService:
|
publishService:
|
||||||
|
|
|
@ -55,7 +55,7 @@ spec:
|
||||||
source: "(.*)"
|
source: "(.*)"
|
||||||
target: "peertube_$1"
|
target: "peertube_$1"
|
||||||
- extract:
|
- extract:
|
||||||
key: crunchybridge
|
key: crunchy-postgres
|
||||||
rewrite:
|
rewrite:
|
||||||
- regexp:
|
- regexp:
|
||||||
source: "(.*)"
|
source: "(.*)"
|
||||||
|
|
|
@ -10,7 +10,7 @@ spec:
|
||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: app-template
|
chart: app-template
|
||||||
version: 2.0.3
|
version: 2.4.0
|
||||||
interval: 30m
|
interval: 30m
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: HelmRepository
|
kind: HelmRepository
|
||||||
|
@ -22,11 +22,24 @@ spec:
|
||||||
main:
|
main:
|
||||||
annotations:
|
annotations:
|
||||||
reloader.stakater.com/auto: "true"
|
reloader.stakater.com/auto: "true"
|
||||||
|
initContainers:
|
||||||
|
init-config:
|
||||||
|
image:
|
||||||
|
repository: docker.io/chocobozzz/peertube
|
||||||
|
tag: &peertube-version v6.0.2-bookworm
|
||||||
|
command:
|
||||||
|
- "/bin/sh"
|
||||||
|
- "-c"
|
||||||
|
args:
|
||||||
|
- cp /app/support/docker/production/config/* /config;
|
||||||
|
cp /app/config/default.yaml /config;
|
||||||
|
chown -R peertube:peertube /data /config;
|
||||||
|
cp -r /app/client/dist/* /assets/;
|
||||||
containers:
|
containers:
|
||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: docker.io/chocobozzz/peertube
|
repository: docker.io/chocobozzz/peertube
|
||||||
tag: v6.0.2-bookworm
|
tag: *peertube-version
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
|
@ -44,25 +57,54 @@ spec:
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
periodSeconds: 30
|
periodSeconds: 30
|
||||||
initialDelaySeconds: 15
|
initialDelaySeconds: 15
|
||||||
|
nginx:
|
||||||
|
image:
|
||||||
|
repository: docker.io/library/nginx
|
||||||
|
tag: 1.25.3-alpine
|
||||||
|
pullPolicy: Always
|
||||||
service:
|
service:
|
||||||
main:
|
main:
|
||||||
ports:
|
ports:
|
||||||
http:
|
http:
|
||||||
port: &port-api 9000
|
port: &port-api 9000
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
main:
|
||||||
|
enabled: true
|
||||||
|
className: "peertube-nginx"
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
|
||||||
|
hosts:
|
||||||
|
- host: &host "khazadtube.tv"
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
service:
|
||||||
|
name: main
|
||||||
|
port: http
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- *host
|
||||||
|
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
# config:
|
||||||
|
# enabled: true
|
||||||
|
# type: configMap
|
||||||
|
# name: peertube-configmap
|
||||||
|
# globalMounts:
|
||||||
|
# - path: /config
|
||||||
|
nginx-conf:
|
||||||
enabled: true
|
enabled: true
|
||||||
type: configMap
|
type: configMap
|
||||||
name: peertube-configmap
|
name: peertube-nginx
|
||||||
globalMounts:
|
globalMounts:
|
||||||
- path: /config
|
- path: /etc/nginx/conf.d
|
||||||
media:
|
assets:
|
||||||
existingClaim: nas-storage
|
type: emptyDir
|
||||||
advancedMounts:
|
globalMounts:
|
||||||
main:
|
- path: /assets
|
||||||
main:
|
|
||||||
- path: /data
|
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
|
|
|
@ -5,10 +5,9 @@ kind: Kustomization
|
||||||
namespace: peertube
|
namespace: peertube
|
||||||
resources:
|
resources:
|
||||||
- ./externalsecret.yaml
|
- ./externalsecret.yaml
|
||||||
# - ./helmrelease.yaml
|
- ./helmrelease.yaml
|
||||||
# - ./ingress.yaml
|
# - ./ingress.yaml
|
||||||
- ./postgresCluster.yaml
|
- ./postgresCluster.yaml
|
||||||
- ./objectbucketclaim.yaml
|
|
||||||
- ./pvc.yaml
|
- ./pvc.yaml
|
||||||
configMapGenerator:
|
configMapGenerator:
|
||||||
- name: peertube-configmap
|
- name: peertube-configmap
|
||||||
|
|
|
@ -13,12 +13,12 @@ spec:
|
||||||
postgresql:
|
postgresql:
|
||||||
synchronous_commit: "on"
|
synchronous_commit: "on"
|
||||||
pg_hba:
|
pg_hba:
|
||||||
- host peertube peertube 10.32.0.0/16 md5
|
- hostnossl all all 10.32.0.0/16 md5
|
||||||
- host all peertube 127.0.0.1 md5
|
- hostnossl all all all md5
|
||||||
# monitoring:
|
monitoring:
|
||||||
# pgmonitor:
|
pgmonitor:
|
||||||
# exporter:
|
exporter:
|
||||||
# image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-5.4.3-0
|
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi8-5.5.0-0
|
||||||
|
|
||||||
instances:
|
instances:
|
||||||
- name: postgres
|
- name: postgres
|
||||||
|
@ -35,6 +35,8 @@ spec:
|
||||||
databases:
|
databases:
|
||||||
- peertube
|
- peertube
|
||||||
options: "SUPERUSER"
|
options: "SUPERUSER"
|
||||||
|
password:
|
||||||
|
type: AlphaNumeric
|
||||||
backups:
|
backups:
|
||||||
pgbackrest:
|
pgbackrest:
|
||||||
configuration:
|
configuration:
|
||||||
|
@ -56,6 +58,6 @@ spec:
|
||||||
full: "0 1 * * 0"
|
full: "0 1 * * 0"
|
||||||
differential: "0 1 * * 1-6"
|
differential: "0 1 * * 1-6"
|
||||||
s3:
|
s3:
|
||||||
bucket: "pgo-peertube-backup-v1"
|
bucket: "crunchy-postgres"
|
||||||
endpoint: "rook-ceph-rgw-ceph-objectstore.rook-ceph.svc"
|
endpoint: "rook-ceph-rgw-ceph-objectstore.rook-ceph.svc"
|
||||||
region: ""
|
region: ""
|
||||||
|
|
Reference in a new issue