ScuttleBot

scuttlebot / deploy / k8s / ergo-deployment.yaml
Blame History Raw 79 lines
1
apiVersion: apps/v1
2
kind: Deployment
3
metadata:
4
name: ergo
5
labels:
6
app: ergo
7
spec:
8
replicas: 1 # single replica — Ergo does not support horizontal scaling
9
strategy:
10
type: Recreate # required for ReadWriteOnce PVC — no rolling update
11
selector:
12
matchLabels:
13
app: ergo
14
template:
15
metadata:
16
labels:
17
app: ergo
18
spec:
19
containers:
20
- name: ergo
21
image: ghcr.io/conflicthq/scuttlebot-ergo:latest
22
imagePullPolicy: Always
23
ports:
24
- name: irc
25
containerPort: 6667
26
protocol: TCP
27
- name: api
28
containerPort: 8089
29
protocol: TCP
30
env:
31
- name: ERGO_NETWORK_NAME
32
valueFrom:
33
configMapKeyRef:
34
name: scuttlebot-config
35
key: ergo.network-name
36
- name: ERGO_SERVER_NAME
37
valueFrom:
38
configMapKeyRef:
39
name: scuttlebot-config
40
key: ergo.server-name
41
- name: ERGO_API_TOKEN
42
valueFrom:
43
secretKeyRef:
44
name: scuttlebot-secrets
45
key: ergo-api-token
46
- name: ERGO_HISTORY_ENABLED
47
value: "true"
48
- name: ERGO_HISTORY_DSN
49
valueFrom:
50
secretKeyRef:
51
name: scuttlebot-secrets
52
key: postgres-dsn
53
volumeMounts:
54
- name: ergo-data
55
mountPath: /ircd
56
livenessProbe:
57
httpGet:
58
path: /v1/status
59
port: 8089
60
httpHeaders:
61
- name: Authorization
62
value: "Bearer $(ERGO_API_TOKEN)"
63
initialDelaySeconds: 15
64
periodSeconds: 10
65
failureThreshold: 3
66
readinessProbe:
67
httpGet:
68
path: /v1/status
69
port: 8089
70
httpHeaders:
71
- name: Authorization
72
value: "Bearer $(ERGO_API_TOKEN)"
73
initialDelaySeconds: 5
74
periodSeconds: 5
75
volumes:
76
- name: ergo-data
77
persistentVolumeClaim:
78
claimName: ergo-data
79

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button