Compare commits

..

No commits in common. "bc9ab668ce0b2bccd9b88fdd8c02cfbc3aba8cfa" and "f7556d0e12bc205d524e9b44841fb34c3b9c2c62" have entirely different histories.

18 changed files with 234 additions and 408 deletions

View file

@ -92,15 +92,3 @@ steps:
- kubectl apply -Rf manifests/pleroma - kubectl apply -Rf manifests/pleroma
# TODO: fix this # TODO: fix this
- envsubst < manifests/pleroma/templates/deployment.yaml | kubectl apply -f - - envsubst < manifests/pleroma/templates/deployment.yaml | kubectl apply -f -
prometheus:
image: cr.forge.lan/alk8s/alk8s
pull: true
environment:
KUBECONFIG_BASE64:
from_secret: kubeconfig_base64
CI_COMMIT_SHA: ${CI_COMMIT_SHA}
commands:
- mkdir -p ~/.kube
- echo $KUBECONFIG_BASE64 | base64 -d > ~/.kube/config
- pwd
- kubectl apply -Rf manifests/prometheus

View file

@ -1,16 +0,0 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
namespace: darkdork-dev
name: prometheus-config
data:
prometheus.yml: |
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'pleroma'
scheme: http
static_configs:
- targets: ['pleroma:4021']

View file

@ -1,39 +0,0 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana
namespace: darkdork-dev
spec:
replicas: 1
selector:
matchLabels:
app: grafana
template:
metadata:
labels:
app: grafana
spec:
imagePullSecrets:
- name: registry-credentials
containers:
- name: grafana
image: grafana/grafana
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
env:
- name: GF_SERVER_ROOT_URL
value: http://darkdork.grafana.lan
volumeMounts:
- name: grafana-data
mountPath: /var/lib/grafana
volumes:
- name: grafana-data
persistentVolumeClaim:
claimName: grafana-pvc
securityContext:
runAsUser: 472
runAsGroup: 0
fsGroup: 0
---

View file

@ -1,20 +0,0 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grafana
namespace: darkdork-dev
spec:
ingressClassName: nginx
rules:
- host: darkdork.grafana.lan
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: grafana
port:
number: 3000
---

View file

@ -1,17 +0,0 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grafana-pvc
namespace: darkdork-dev
labels:
app: grafana
spec:
storageClassName: longhorn-single-replica-best-effort
accessModes:
- ReadWriteOnce
resources:
requests:
storage:
10Gi
---

View file

@ -1,15 +0,0 @@
---
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: darkdork-dev
spec:
ports:
- port: 3000
name: grafana
targetPort: 3000
protocol: TCP
selector:
app: grafana
---

View file

@ -35,13 +35,6 @@ data:
disabled: false, disabled: false,
manual_metrics_start_delay: :no_delay, manual_metrics_start_delay: :no_delay,
drop_metrics_groups: [], drop_metrics_groups: [],
grafana: [
host: System.get_env("GRAFANA_HOST", "http://localhost:3000"),
auth_token: System.get_env("GRAFANA_TOKEN"),
upload_dashboards_on_start: false,
folder_name: "BEAM",
annotate_app_lifecycle: true
],
metrics_server: [ metrics_server: [
port: 4021, port: 4021,
path: "/metrics", path: "/metrics",

View file

@ -0,0 +1,40 @@
# sX/vQ3gaDErEFr9wuYqlaJ/yWdswBMkY4wczeq6t3bEgwo2Ia+vHcN9pbf7dBjahEihjkZ7jS5W48DIfmOFsug==
apiVersion: batch/v1
kind: Job
metadata:
name: migrate
namespace: darkdork-dev
spec:
template:
spec:
imagePullSecrets:
- name: registry-credentials
containers:
- name: migrate
image: cr.forge.lan/darkdork-dev/pleroma:latest
command: [ "/bin/ash", "-c", "/opt/pleroma/bin/pleroma_ctl migrate" ]
env:
- name: DB_HOST
value: postgres
- name: DB_NAME
value: pleroma
- name: DB_USER
value: pleroma
- name: DB_PASS
valueFrom:
secretKeyRef:
name: postgres
key: postgres-password
volumeMounts:
- name: pleroma-config-volume
mountPath: /etc/pleroma/config.exs
subPath: config.exs
restartPolicy: Never
volumes:
- name: pleroma-config-volume
configMap:
name: pleroma-config
defaultMode: 0640 # Pleroma is picky about config file permissions.
securityContext:
fsGroup: 1000 # Ensures pleroma can still read the config file

View file

@ -8,7 +8,7 @@ metadata:
app: pleroma app: pleroma
spec: spec:
accessModes: ["ReadWriteOnce"] accessModes: ["ReadWriteOnce"]
storageClassName: longhorn-single-replica-best-effort storageClassName: longhorn-single-replica
resources: resources:
requests: requests:
storage: 2Gi storage: 2Gi

View file

@ -7,13 +7,8 @@ metadata:
spec: spec:
ports: ports:
- port: 80 - port: 80
name: http
targetPort: 4000 targetPort: 4000
protocol: TCP protocol: TCP
- port: 4021
name: prometheus
targetPort: 4021
protocol: TCP
selector: selector:
app: pleroma app: pleroma
--- ---

View file

@ -2,7 +2,7 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: pleroma name: pleromax
namespace: darkdork-dev namespace: darkdork-dev
spec: spec:
replicas: 1 replicas: 1
@ -100,7 +100,6 @@ spec:
command: ["sh", "-c", "elixir --sname pleroma -S mix phx.server --no-compile"] command: ["sh", "-c", "elixir --sname pleroma -S mix phx.server --no-compile"]
ports: ports:
- containerPort: 4000 - containerPort: 4000
- containerPort: 4021
env: env:
- name: MIX_ENV - name: MIX_ENV
value: prod value: prod
@ -123,13 +122,6 @@ spec:
secretKeyRef: secretKeyRef:
name: pleroma name: pleroma
key: secret-key-base key: secret-key-base
- name: GRAFANA_HOST
value: darkdork.grafana.lan
- name: GRAFANA_TOKEN
valueFrom:
secretKeyRef:
name: pleroma
key: grafana-token
- name: WEB_PUSH_PUBLIC_KEY - name: WEB_PUSH_PUBLIC_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:

View file

@ -1,3 +1,19 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-pvc
namespace: darkdork-dev
labels:
app: postgres
spec:
volumeName: pvc-43c3a05b-5556-4d7c-83e3-ee6436f1a48e
accessModes: ["ReadWriteOnce"]
storageClassName: longhorn-ssd
resources:
requests:
storage: 10Gi
--- ---
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
@ -12,4 +28,18 @@ spec:
resources: resources:
requests: requests:
storage: 15Gi storage: 15Gi
--- ---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-local-path-test-pvc
namespace: darkdork-dev
labels:
app: postgres
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: local-path
resources:
requests:
storage: 10Gi

View file

@ -114,6 +114,9 @@ spec:
- name: postgres-config-volume - name: postgres-config-volume
configMap: configMap:
name: postgres-config name: postgres-config
- name: postgres-storage
persistentVolumeClaim:
claimName: postgres-pvc
- name: postgres-local - name: postgres-local
persistentVolumeClaim: persistentVolumeClaim:
claimName: postgres-local-pvc claimName: postgres-local-pvc

View file

@ -1,16 +0,0 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
namespace: darkdork-dev
name: prometheus-config
data:
prometheus.yml: |
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'pleroma'
scheme: http
static_configs:
- targets: ['pleroma:4021']

View file

@ -1,40 +0,0 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: prometheus
namespace: darkdork-dev
spec:
replicas: 1
selector:
matchLabels:
app: prometheus
template:
metadata:
labels:
app: prometheus
spec:
imagePullSecrets:
- name: registry-credentials
containers:
- name: prometheus
image: prom/prometheus
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9090
volumeMounts:
- name: prometheus-data
mountPath: /prometheus
- name: prometheus-config
mountPath: /etc/prometheus/prometheus.yml
subPath: prometheus.yml
volumes:
- name: prometheus-data
persistentVolumeClaim:
claimName: prometheus-pvc
- name: prometheus-config
configMap:
name: prometheus-config
securityContext:
fsGroup: 1000
---

View file

@ -1,20 +0,0 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: prometheus
namespace: darkdork-dev
spec:
ingressClassName: nginx
rules:
- host: darkdork.prometheus.lan
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: prometheus
port:
number: 9090
---

View file

@ -1,17 +0,0 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: prometheus-pvc
namespace: darkdork-dev
labels:
app: prometheus
spec:
storageClassName: longhorn-ssd
accessModes:
- ReadWriteOnce
resources:
requests:
storage:
10Gi
---

View file

@ -1,15 +0,0 @@
---
apiVersion: v1
kind: Service
metadata:
name: prometheus
namespace: darkdork-dev
spec:
ports:
- port: 9090
name: prometheus
targetPort: 9090
protocol: TCP
selector:
app: prometheus
---