From 8ed564fc6511a1082dc3baedc2147ae6920e3641 Mon Sep 17 00:00:00 2001 From: Herklos Date: Sat, 17 Sep 2022 13:02:05 +0000 Subject: [PATCH 1/4] [Deploy] Add Kubernetes deployment file --- octobot.yaml | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 octobot.yaml diff --git a/octobot.yaml b/octobot.yaml new file mode 100644 index 000000000..773c67081 --- /dev/null +++ b/octobot.yaml @@ -0,0 +1,122 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + service: octobot + name: octobot +spec: + ports: + - port: 5001 + selector: + service: octobot + type: LoadBalancer + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + service: octobot + name: octobot +spec: + replicas: 1 + selector: + matchLabels: + service: octobot + strategy: + type: Recreate + template: + metadata: + labels: + service: octobot + spec: + containers: + - image: drakkarsoftware/octobot:stable + name: octobot + ports: + - containerPort: 5001 + name: octobot + volumeMounts: + - mountPath: /octobot/logs + name: octobot-logs + - mountPath: /octobot/backtesting + name: octobot-backtesting + - mountPath: /octobot/tentacles + name: octobot-tentacles + - mountPath: /octobot/user + name: octobot-user + restartPolicy: Always + volumes: + - name: octobot-logs + persistentVolumeClaim: + claimName: octobot-logs + - name: octobot-backtesting + persistentVolumeClaim: + claimName: octobot-backtesting + - name: octobot-tentacles + persistentVolumeClaim: + claimName: octobot-tentacles + - name: octobot-user + persistentVolumeClaim: + claimName: octobot-user +status: {} + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + service: octobot + name: octobot-logs +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + service: octobot + name: octobot-backtesting +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + service: octobot + name: octobot-tentacles +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + service: octobot + name: octobot-user +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} From edf450918b7d2e2a0f386e40ea7f4c81384f8d46 Mon Sep 17 00:00:00 2001 From: Herklos Date: Sun, 18 Sep 2022 08:54:51 +0000 Subject: [PATCH 2/4] [Deployment] Add env to kubernetes file --- octobot.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/octobot.yaml b/octobot.yaml index 773c67081..11d004bbb 100644 --- a/octobot.yaml +++ b/octobot.yaml @@ -36,6 +36,9 @@ spec: ports: - containerPort: 5001 name: octobot + env: + - name: IS_CLOUD_ENV + value: "true" volumeMounts: - mountPath: /octobot/logs name: octobot-logs From d3c1c1f790a36227148c43002a69f3eb5ddde01c Mon Sep 17 00:00:00 2001 From: Herklos Date: Sun, 18 Sep 2022 09:03:22 +0000 Subject: [PATCH 3/4] [Deployment][Kubernetes] Update logs volume to ephemeral --- octobot.yaml | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/octobot.yaml b/octobot.yaml index 11d004bbb..4c08c5dc1 100644 --- a/octobot.yaml +++ b/octobot.yaml @@ -51,8 +51,7 @@ spec: restartPolicy: Always volumes: - name: octobot-logs - persistentVolumeClaim: - claimName: octobot-logs + emptyDir: {} - name: octobot-backtesting persistentVolumeClaim: claimName: octobot-backtesting @@ -62,22 +61,6 @@ spec: - name: octobot-user persistentVolumeClaim: claimName: octobot-user -status: {} - ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - service: octobot - name: octobot-logs -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi -status: {} --- apiVersion: v1 @@ -92,7 +75,6 @@ spec: resources: requests: storage: 100Mi -status: {} --- apiVersion: v1 @@ -107,7 +89,6 @@ spec: resources: requests: storage: 100Mi -status: {} --- apiVersion: v1 @@ -122,4 +103,3 @@ spec: resources: requests: storage: 100Mi -status: {} From 0f8814eba7c00fe758bd78521e630c883f4e1606 Mon Sep 17 00:00:00 2001 From: Herklos Date: Fri, 7 Nov 2025 09:18:28 +0100 Subject: [PATCH 4/4] Migrate volumes to PersistentVolumeClaim --- octobot.yaml | 146 ++++++++++++++++++++++++++------------------------- 1 file changed, 74 insertions(+), 72 deletions(-) diff --git a/octobot.yaml b/octobot.yaml index 4c08c5dc1..935c8a6ef 100644 --- a/octobot.yaml +++ b/octobot.yaml @@ -1,105 +1,107 @@ +--- apiVersion: v1 kind: Service metadata: - labels: - service: octobot - name: octobot + name: octobot-service spec: - ports: - - port: 5001 - selector: - service: octobot type: LoadBalancer - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - service: octobot - name: octobot -spec: - replicas: 1 + ports: + - port: 80 + targetPort: 5001 + protocol: TCP selector: - matchLabels: - service: octobot - strategy: - type: Recreate - template: - metadata: - labels: - service: octobot - spec: - containers: - - image: drakkarsoftware/octobot:stable - name: octobot - ports: - - containerPort: 5001 - name: octobot - env: - - name: IS_CLOUD_ENV - value: "true" - volumeMounts: - - mountPath: /octobot/logs - name: octobot-logs - - mountPath: /octobot/backtesting - name: octobot-backtesting - - mountPath: /octobot/tentacles - name: octobot-tentacles - - mountPath: /octobot/user - name: octobot-user - restartPolicy: Always - volumes: - - name: octobot-logs - emptyDir: {} - - name: octobot-backtesting - persistentVolumeClaim: - claimName: octobot-backtesting - - name: octobot-tentacles - persistentVolumeClaim: - claimName: octobot-tentacles - - name: octobot-user - persistentVolumeClaim: - claimName: octobot-user - + app: octobot --- -apiVersion: v1 kind: PersistentVolumeClaim +apiVersion: v1 metadata: - labels: - service: octobot name: octobot-backtesting spec: accessModes: - ReadWriteOnce resources: requests: - storage: 100Mi - + storage: 1Gi --- -apiVersion: v1 kind: PersistentVolumeClaim +apiVersion: v1 metadata: - labels: - service: octobot name: octobot-tentacles spec: accessModes: - ReadWriteOnce resources: requests: - storage: 100Mi - + storage: 1Gi --- -apiVersion: v1 kind: PersistentVolumeClaim +apiVersion: v1 metadata: - labels: - service: octobot name: octobot-user spec: accessModes: - ReadWriteOnce resources: requests: - storage: 100Mi + storage: 1Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: octobot +spec: + replicas: 1 + selector: + matchLabels: + app: octobot + template: + metadata: + labels: + app: octobot + spec: + containers: + - name: octobot + image: drakkarsoftware/octobot:stable + ports: + - containerPort: 5001 + resources: + requests: + cpu: "500m" + memory: "512Mi" + limits: + cpu: "1" + memory: "1Gi" + livenessProbe: + tcpSocket: + port: 5001 + initialDelaySeconds: 30 + periodSeconds: 10 + readinessProbe: + tcpSocket: + port: 5001 + initialDelaySeconds: 30 + periodSeconds: 10 + securityContext: + runAsNonRoot: true + runAsUser: 1000 + volumeMounts: + - mountPath: /octobot/logs + name: logs + - mountPath: /octobot/backtesting + name: backtesting + - mountPath: /octobot/tentacles + name: tentacles + - mountPath: /octobot/user + name: user + volumes: + - name: logs + emptyDir: {} + - name: backtesting + persistentVolumeClaim: + claimName: octobot-backtesting + - name: tentacles + persistentVolumeClaim: + claimName: octobot-tentacles + - name: user + persistentVolumeClaim: + claimName: octobot-user