apiVersion: v1
kind: Service
metadata:
  labels:
    app: sui
  name: sui
spec:
  ports:
    - name: node
      port: 9000
      targetPort: node
    - name: prometheus
      port: 9184
      targetPort: prometheus
  selector:
    app: sui
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app: sui
  name: sui
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sui
  serviceName: sui
  template:
    metadata:
      labels:
        app: sui
    spec:
      containers:
        - name: sui-node
          image: sui-node
          resources:
            requests:
              memory: "2048Mi"
          command:
            - /bin/sh
            - -c
            - /tmp/scripts/start_node.sh
          ports:
            - containerPort: 9000
              name: node
              protocol: TCP
            - containerPort: 9184
              name: prometheus
              protocol: TCP
          readinessProbe:
            tcpSocket:
              port: 9000
        - name: sui-contracts
          image: sui-node
          command: ["/bin/bash", "-c"]
          args:
            [
              "cd /tmp && ./scripts/wait_for_devnet.sh && worm sui setup-devnet && touch success && sleep infinity",
            ]
          readinessProbe:
            initialDelaySeconds: 30
            periodSeconds: 5
            failureThreshold: 300
            exec:
              command:
                - cat
                - /tmp/success
