Kubernetes
Dolos can be implemented as a standalone Kubernetes StatefulSet
resource.
Please note that the amount of replicas is set to 1
. Dolos doesn't have any kind of "coordination" between instances. Adding more than one replica will just create extra pipelines duplicating the same work.
apiVersion: v1
kind: ConfigMap
metadata:
name: dolos
data:
daemon.toml: |-
[upstream]
# REDACTED: here goes your `upstream` configuration options
[rolldb]
# REDACTED: here goes your `rolldb` configuration options
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: dolos
spec:
template:
spec:
containers:
- name: main
image: ghcr.io/txpipe/dolos:latest
# we mount the same volume that the main container uses as the source
# for the Cardano node unix socket.
volumeMounts:
- mountPath: /var/dolos/db
name: db
- mountPath: /etc/dolos
name: config
resources:
requests:
memory: 1Gi
cpu: 1
limits:
memory: 1Gi
volumes:
# an empty-dir to store your data. In a real scenario, this should be a PVC
- name: db
emptyDir: {}
# a config map resource with Dolos' config, particular for your requirements
- name: config
configMap:
name: config