---
apiVersion: v1
kind: Service
metadata:
  name: eth-devnet2
  labels:
    app: eth-devnet2
spec:
  ports:
    - port: 8546
      targetPort: 8545
      name: rpc
      protocol: TCP
  clusterIP: None
  selector:
    app: eth-devnet2
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: eth-devnet2
spec:
  selector:
    matchLabels:
      app: eth-devnet2
  serviceName: eth-devnet2
  replicas: 1
  template:
    metadata:
      labels:
        app: eth-devnet2
    spec:
      terminationGracePeriodSeconds: 1
      containers:
        - name: ganache
          image: eth-node
          command:
            - npx
            - ganache-cli
            - -q
            - -e 10000
            - --deterministic
            - --time="1970-01-01T00:00:00+00:00"
            - --host=0.0.0.0
            - --chainId=1397
          ports:
            - containerPort: 8545
              name: rpc
              protocol: TCP
          readinessProbe:
            tcpSocket:
              port: rpc
        - name: tests
          image: eth-node
          stdin: true
          command:
            - /bin/sh
            - -c
            - "sed -i 's/CHAIN_ID=0x2/CHAIN_ID=0x4/g;s/EVM_CHAIN_ID=1/EVM_CHAIN_ID=1397/g' .env && npm run migrate && npx truffle exec scripts/deploy_test_token.js && npx truffle exec scripts/register_all_chains.js && nc -lkp 2000 0.0.0.0"
          readinessProbe:
            periodSeconds: 1
            failureThreshold: 300
            tcpSocket:
              port: 2000
        - name: mine
          image: eth-node
          command:
            - /bin/sh
            - -c
            - "npx truffle exec mine.js"
