diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/kustomization.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/kustomization.yaml new file mode 100644 index 0000000000000..5ade86051a6ed --- /dev/null +++ b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/kustomization.yaml @@ -0,0 +1,47 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: kovan-replica-0-5-14 +commonLabels: + network: kovan + provider: internal + +bases: + - ../../envs/kovan-gen5-berlin + +resources: + - ../../bases/data-transport-layer + - ../../bases/l2geth-replica + - ../../bases/configmaps + - ../../bases/servicemonitors + - ../../bases/replica-healthcheck + - ./volumes.yaml + +images: + - name: ethereumoptimism/data-transport-layer + newName: ethereumoptimism/data-transport-layer + newTag: 0.5.21 + - name: ethereumoptimism/l2geth + newName: ethereumoptimism/l2geth + newTag: 0.5.14 + - name: ethereumoptimism/replica-healthcheck + newName: ethereumoptimism/replica-healthcheck + newTag: 0.3.3 + +patchesStrategicMerge: + - ./patches/dtl.yaml + - ./patches/l2geth.yaml + - ./patches/replica-healthcheck.yaml + +patches: + - path: ./patches/l2geth-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: l2geth-replica + - path: ./patches/dtl-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml new file mode 100644 index 0000000000000..35e97c6d54ab6 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml @@ -0,0 +1,7 @@ +--- +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: data-transport-layer + persistentVolumeClaim: + claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl.yaml new file mode 100644 index 0000000000000..9d334815c44bf --- /dev/null +++ b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/dtl.yaml @@ -0,0 +1,29 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: data-transport-layer +spec: + template: + spec: + initContainers: + - name: wait-for-l1 + env: + - name: L1_NODE_WEB3_URL + value: http://failover-proxyd.default:8080 + containers: + - name: data-transport-layer + resources: + limits: + cpu: "2" + memory: 4Gi + requests: + cpu: "1" + memory: 1Gi + env: + - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT + value: http://failover-proxyd.default:8080 + - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT + value: http://sequencer.default:8545 + - name: L1_NODE_WEB3_URL + value: http://failover-proxyd.default:8080 \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml new file mode 100644 index 0000000000000..60b117f7923bf --- /dev/null +++ b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml @@ -0,0 +1,6 @@ +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: l2geth-replica-data + persistentVolumeClaim: + claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth.yaml new file mode 100644 index 0000000000000..37710cd9772d8 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/l2geth.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: l2geth-replica +spec: + template: + spec: + containers: + - name: l2geth-replica + env: + - name: IPC_DISABLE + value: "false" + resources: + limits: + cpu: "4" + memory: 12Gi + requests: + cpu: "2" + memory: 8Gi diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml new file mode 100644 index 0000000000000..ba62b55985b30 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml @@ -0,0 +1,12 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: replica-healthcheck +spec: + template: + spec: + containers: + - name: replica-healthcheck + env: + - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER + value: http://sequencer.default:8545 diff --git a/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/volumes.yaml b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/volumes.yaml new file mode 100644 index 0000000000000..a7de04465ebe0 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/kovan-replica-0-5-14/volumes.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: l2geth-replica-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: data-transport-layer-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/kustomization.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/kustomization.yaml new file mode 100644 index 0000000000000..f1f2503c72072 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/kustomization.yaml @@ -0,0 +1,47 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: mainnet-replica-0-5-14 +commonLabels: + network: mainnet + provider: internal + +bases: + - ../../../envs/mainnet-gen5-berlin + - ../../../scripts + +resources: + - ../../bases/data-transport-layer + - ../../bases/l2geth-replica + - ../../bases/servicemonitors + - ../../bases/replica-healthcheck + - ./volumes.yaml + +images: + - name: ethereumoptimism/data-transport-layer + newName: ethereumoptimism/data-transport-layer + newTag: 0.5.21 + - name: ethereumoptimism/l2geth + newName: ethereumoptimism/l2geth + newTag: 0.5.14 + - name: ethereumoptimism/replica-healthcheck + newName: ethereumoptimism/replica-healthcheck + newTag: 0.3.6 + +patchesStrategicMerge: + - ./patches/dtl.yaml + - ./patches/l2geth.yaml + - ./patches/replica-healthcheck.yaml + +patches: + - path: ./patches/l2geth-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: l2geth-replica + - path: ./patches/dtl-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/dtl-volume.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/dtl-volume.yaml new file mode 100644 index 0000000000000..35e97c6d54ab6 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/dtl-volume.yaml @@ -0,0 +1,7 @@ +--- +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: data-transport-layer + persistentVolumeClaim: + claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/dtl.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/dtl.yaml new file mode 100644 index 0000000000000..9d334815c44bf --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/dtl.yaml @@ -0,0 +1,29 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: data-transport-layer +spec: + template: + spec: + initContainers: + - name: wait-for-l1 + env: + - name: L1_NODE_WEB3_URL + value: http://failover-proxyd.default:8080 + containers: + - name: data-transport-layer + resources: + limits: + cpu: "2" + memory: 4Gi + requests: + cpu: "1" + memory: 1Gi + env: + - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT + value: http://failover-proxyd.default:8080 + - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT + value: http://sequencer.default:8545 + - name: L1_NODE_WEB3_URL + value: http://failover-proxyd.default:8080 \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/l2geth-volume.yaml new file mode 100644 index 0000000000000..cbc78e2dfe91d --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/l2geth-volume.yaml @@ -0,0 +1,7 @@ +--- +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: l2geth-replica-data + persistentVolumeClaim: + claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/l2geth.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/l2geth.yaml new file mode 100644 index 0000000000000..37710cd9772d8 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/l2geth.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: l2geth-replica +spec: + template: + spec: + containers: + - name: l2geth-replica + env: + - name: IPC_DISABLE + value: "false" + resources: + limits: + cpu: "4" + memory: 12Gi + requests: + cpu: "2" + memory: 8Gi diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/replica-healthcheck.yaml new file mode 100644 index 0000000000000..ba62b55985b30 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/patches/replica-healthcheck.yaml @@ -0,0 +1,12 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: replica-healthcheck +spec: + template: + spec: + containers: + - name: replica-healthcheck + env: + - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER + value: http://sequencer.default:8545 diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/volumes.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/volumes.yaml new file mode 100644 index 0000000000000..b9eca60769512 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-0-5-14/volumes.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: l2geth-replica-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 500Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: data-transport-layer-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/kustomization.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/kustomization.yaml new file mode 100644 index 0000000000000..735350629441e --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/kustomization.yaml @@ -0,0 +1,48 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: mainnet-replica-l1-0-5-14 +commonLabels: + network: mainnet + provider: internal + sync_source: l1 + +bases: + - ../../../envs/mainnet-gen5-l1-berlin/ + - ../../../scripts + +resources: + - ../../bases/data-transport-layer + - ../../bases/l2geth-replica + - ../../bases/servicemonitors + - ../../bases/replica-healthcheck + - ./volumes.yaml + +images: + - name: ethereumoptimism/data-transport-layer + newName: ethereumoptimism/data-transport-layer + newTag: 0.5.21 + - name: ethereumoptimism/l2geth + newName: ethereumoptimism/l2geth + newTag: 0.5.14 + - name: ethereumoptimism/replica-healthcheck + newName: ethereumoptimism/replica-healthcheck + newTag: 0.3.6 + +patchesStrategicMerge: + - ./patches/dtl.yaml + - ./patches/l2geth.yaml + - ./patches/replica-healthcheck.yaml + +patches: + - path: ./patches/l2geth-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: l2geth-replica + - path: ./patches/dtl-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/dtl-volume.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/dtl-volume.yaml new file mode 100644 index 0000000000000..35e97c6d54ab6 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/dtl-volume.yaml @@ -0,0 +1,7 @@ +--- +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: data-transport-layer + persistentVolumeClaim: + claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/dtl.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/dtl.yaml new file mode 100644 index 0000000000000..9d334815c44bf --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/dtl.yaml @@ -0,0 +1,29 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: data-transport-layer +spec: + template: + spec: + initContainers: + - name: wait-for-l1 + env: + - name: L1_NODE_WEB3_URL + value: http://failover-proxyd.default:8080 + containers: + - name: data-transport-layer + resources: + limits: + cpu: "2" + memory: 4Gi + requests: + cpu: "1" + memory: 1Gi + env: + - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT + value: http://failover-proxyd.default:8080 + - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT + value: http://sequencer.default:8545 + - name: L1_NODE_WEB3_URL + value: http://failover-proxyd.default:8080 \ No newline at end of file diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/l2geth-volume.yaml new file mode 100644 index 0000000000000..cbc78e2dfe91d --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/l2geth-volume.yaml @@ -0,0 +1,7 @@ +--- +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: l2geth-replica-data + persistentVolumeClaim: + claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/l2geth.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/l2geth.yaml new file mode 100644 index 0000000000000..37710cd9772d8 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/l2geth.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: l2geth-replica +spec: + template: + spec: + containers: + - name: l2geth-replica + env: + - name: IPC_DISABLE + value: "false" + resources: + limits: + cpu: "4" + memory: 12Gi + requests: + cpu: "2" + memory: 8Gi diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/replica-healthcheck.yaml new file mode 100644 index 0000000000000..8ddee2eb954bf --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/patches/replica-healthcheck.yaml @@ -0,0 +1,13 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: replica-healthcheck +spec: + replicas: 1 + template: + spec: + containers: + - name: replica-healthcheck + env: + - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER + value: http://sequencer.default:8545 diff --git a/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/volumes.yaml b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/volumes.yaml new file mode 100644 index 0000000000000..b9eca60769512 --- /dev/null +++ b/infra/op-replica/kustomize/overlays/mainnet-replica-l1-0-5-14/volumes.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: l2geth-replica-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 500Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: data-transport-layer-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/ingress.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/ingress.yaml new file mode 100644 index 0000000000000..ba60f365c4305 --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/ingress.yaml @@ -0,0 +1,28 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: kovan-replica-0-5-14 + annotations: + kubernetes.io/ingress.class: gce + kubernetes.io/ingress.global-static-ip-name: kovan-replica-0-5-14 + networking.gke.io/managed-certificates: kovan-replica-0-5-14 +spec: + rules: + - host: kovan-replica-0-5-14.optimism.io + http: + paths: + - backend: + service: + name: l2geth-replica + port: + name: rpc + path: / + pathType: ImplementationSpecific +--- +apiVersion: networking.gke.io/v1 +kind: ManagedCertificate +metadata: + name: kovan-replica-0-5-14 +spec: + domains: + - kovan-replica-0-5-14.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/kustomization.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/kustomization.yaml new file mode 100644 index 0000000000000..76bf278d94d8d --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/kustomization.yaml @@ -0,0 +1,48 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: kovan-replica-0-5-14 +commonLabels: + network: kovan + provider: internal + +bases: + - ../../../envs/kovan-gen5-berlin + - ../../../scripts + +resources: + - ../../bases/data-transport-layer + - ../../bases/l2geth-replica + - ../../bases/servicemonitors + - ../../bases/replica-healthcheck + - ./ingress.yaml + - ./volumes.yaml + +images: + - name: ethereumoptimism/data-transport-layer + newName: ethereumoptimism/data-transport-layer + newTag: 0.5.21 + - name: ethereumoptimism/l2geth + newName: ethereumoptimism/l2geth + newTag: 0.5.14 + - name: ethereumoptimism/replica-healthcheck + newName: ethereumoptimism/replica-healthcheck + newTag: 0.3.6 + +patchesStrategicMerge: + - ./patches/dtl.yaml + - ./patches/l2geth.yaml + - ./patches/replica-healthcheck.yaml + +patches: + - path: ./patches/l2geth-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: l2geth-replica + - path: ./patches/dtl-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: data-transport-layer \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml new file mode 100644 index 0000000000000..35e97c6d54ab6 --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl-volume.yaml @@ -0,0 +1,7 @@ +--- +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: data-transport-layer + persistentVolumeClaim: + claimName: data-transport-layer-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl.yaml new file mode 100644 index 0000000000000..975286c2aa229 --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/dtl.yaml @@ -0,0 +1,41 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: data-transport-layer +spec: + template: + spec: + initContainers: + - name: wait-for-l1 + env: + - name: L1_NODE_WEB3_URL + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint + containers: + - name: data-transport-layer + resources: + limits: + cpu: "2" + memory: 4Gi + requests: + cpu: "1" + memory: 1Gi + env: + - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint + - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT + valueFrom: + secretKeyRef: + name: replica-secrets + key: l2-rpc-endpoint + - name: L1_NODE_WEB3_URL + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml new file mode 100644 index 0000000000000..60b117f7923bf --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth-volume.yaml @@ -0,0 +1,6 @@ +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: l2geth-replica-data + persistentVolumeClaim: + claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth.yaml new file mode 100644 index 0000000000000..37710cd9772d8 --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/l2geth.yaml @@ -0,0 +1,20 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: l2geth-replica +spec: + template: + spec: + containers: + - name: l2geth-replica + env: + - name: IPC_DISABLE + value: "false" + resources: + limits: + cpu: "4" + memory: 12Gi + requests: + cpu: "2" + memory: 8Gi diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml new file mode 100644 index 0000000000000..bad1af178a5ad --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/patches/replica-healthcheck.yaml @@ -0,0 +1,12 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: replica-healthcheck +spec: + template: + spec: + containers: + - name: replica-healthcheck + env: + - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER + value: https://kovan.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/volumes.yaml b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/volumes.yaml new file mode 100644 index 0000000000000..4defc7ed966df --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/kovan-replica-0-5-14/volumes.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: l2geth-replica-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: data-transport-layer-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi diff --git a/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/ingress.yaml b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/ingress.yaml new file mode 100644 index 0000000000000..b916f2e9ca181 --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/ingress.yaml @@ -0,0 +1,28 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: mainnet-replica-0-5-14 + annotations: + kubernetes.io/ingress.class: gce + kubernetes.io/ingress.global-static-ip-name: mainnet-replica-0-5-14 + networking.gke.io/managed-certificates: mainnet-replica-0-5-14 +spec: + rules: + - host: mainnet-replica-0-5-14.optimism.io + http: + paths: + - backend: + service: + name: l2geth-replica + port: + name: rpc + path: / + pathType: ImplementationSpecific +--- +apiVersion: networking.gke.io/v1 +kind: ManagedCertificate +metadata: + name: mainnet-replica-0-5-14 +spec: + domains: + - mainnet-replica-0-5-14.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/kustomization.yaml b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/kustomization.yaml new file mode 100644 index 0000000000000..fff9c6cbd014b --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/kustomization.yaml @@ -0,0 +1,42 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: mainnet-replica-0-5-14 +commonLabels: + network: mainnet + provider: internal + +bases: + - ../../../envs/mainnet-gen5-berlin/ + - ../../../scripts + +resources: + - ../../bases/data-transport-layer + - ../../bases/l2geth-replica + - ../../bases/servicemonitors + - ../../bases/replica-healthcheck + - ./volumes.yaml + - ./ingress.yaml + +images: + - name: ethereumoptimism/data-transport-layer + newName: ethereumoptimism/data-transport-layer + newTag: 0.5.21 + - name: ethereumoptimism/l2geth + newName: ethereumoptimism/l2geth + newTag: 0.5.14 + - name: ethereumoptimism/replica-healthcheck + newName: ethereumoptimism/replica-healthcheck + newTag: 0.3.3 + +patchesStrategicMerge: + - ./patches/dtl.yaml + - ./patches/l2geth.yaml + - ./patches/replica-healthcheck.yaml + +patches: + - path: ./patches/l2geth-volume.yaml + target: + group: apps + version: v1 + kind: StatefulSet + name: l2geth-replica \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/dtl.yaml b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/dtl.yaml new file mode 100644 index 0000000000000..975286c2aa229 --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/dtl.yaml @@ -0,0 +1,41 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: data-transport-layer +spec: + template: + spec: + initContainers: + - name: wait-for-l1 + env: + - name: L1_NODE_WEB3_URL + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint + containers: + - name: data-transport-layer + resources: + limits: + cpu: "2" + memory: 4Gi + requests: + cpu: "1" + memory: 1Gi + env: + - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint + - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT + valueFrom: + secretKeyRef: + name: replica-secrets + key: l2-rpc-endpoint + - name: L1_NODE_WEB3_URL + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/l2geth-volume.yaml b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/l2geth-volume.yaml new file mode 100644 index 0000000000000..60b117f7923bf --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/l2geth-volume.yaml @@ -0,0 +1,6 @@ +- op: replace + path: /spec/template/spec/volumes/0 + value: + name: l2geth-replica-data + persistentVolumeClaim: + claimName: l2geth-replica-data diff --git a/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/l2geth.yaml b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/l2geth.yaml new file mode 100644 index 0000000000000..a4e7d11d1c337 --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/l2geth.yaml @@ -0,0 +1,71 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: l2geth-replica +spec: + template: + spec: + containers: + - name: l2geth-replica + command: + - geth + - --config=/l2geth-config/l2geth.toml + - --datadir=$(DATADIR) + - --password=$(DATADIR)/password + - --allow-insecure-unlock + - --unlock=$(BLOCK_SIGNER_ADDRESS) + - --mine + - --miner.etherbase=$(BLOCK_SIGNER_ADDRESS) + - --metrics + - --metrics.influxdb + - --metrics.influxdb.endpoint=http://influxdb.monitoring:8086 + - --metrics.influxdb.database=$(NAMESPACE) + resources: + limits: + cpu: "8" + memory: 24Gi + requests: + cpu: "4" + memory: 12Gi +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: data-transport-layer +spec: + template: + spec: + initContainers: + - name: wait-for-l1 + env: + - name: L1_NODE_WEB3_URL + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint + containers: + - name: data-transport-layer + resources: + limits: + cpu: "2" + memory: 4Gi + requests: + cpu: "1" + memory: 1Gi + env: + - name: DATA_TRANSPORT_LAYER__L1_RPC_ENDPOINT + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint + - name: DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT + valueFrom: + secretKeyRef: + name: replica-secrets + key: l2-rpc-endpoint + - name: L1_NODE_WEB3_URL + valueFrom: + secretKeyRef: + name: replica-secrets + key: l1-rpc-endpoint \ No newline at end of file diff --git a/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/replica-healthcheck.yaml b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/replica-healthcheck.yaml new file mode 100644 index 0000000000000..2f6a29b4e5fbc --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/patches/replica-healthcheck.yaml @@ -0,0 +1,12 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: replica-healthcheck +spec: + template: + spec: + containers: + - name: replica-healthcheck + env: + - name: REPLICA_HEALTHCHECK__ETH_NETWORK_RPC_PROVIDER + value: https://mainnet.optimism.io diff --git a/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/volumes.yaml b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/volumes.yaml new file mode 100644 index 0000000000000..dbc28ae20f718 --- /dev/null +++ b/infra/op-replica/kustomize/public-overlays/mainnet-replica-0-5-14/volumes.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: l2geth-replica-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 500Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: data-transport-layer-data +spec: + storageClassName: premium-rwo + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi \ No newline at end of file