Skip to content

Commit

Permalink
Add helm chart
Browse files Browse the repository at this point in the history
  • Loading branch information
eseiker committed Feb 1, 2024
1 parent ade2969 commit d86150a
Show file tree
Hide file tree
Showing 10 changed files with 697 additions and 0 deletions.
23 changes: 23 additions & 0 deletions templates/helm/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
5 changes: 5 additions & 0 deletions templates/helm/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: v2
name: l2launcher-helm
type: application
version: 0.1.0
appVersion: "1.16.0"
216 changes: 216 additions & 0 deletions templates/helm/templates/blockscout.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: blockscout
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
matchLabels:
name: blockscout
template:
metadata:
labels:
name: blockscout
spec:
containers:
- name: blockscout
image: blockscout/blockscout
args:
- sh
- -c
- bin/blockscout eval "Elixir.Explorer.ReleaseTasks.create_and_migrate()" && bin/blockscout start
env:
- name: ACCOUNT_ENABLED
value: "false"
- name: API_V1_READ_METHODS_DISABLED
value: "false"
- name: API_V1_WRITE_METHODS_DISABLED
value: "false"
- name: API_V2_ENABLED
value: "true"
- name: APPS_MENU
value: "false"
- name: BLOCK_TRANSFORMER
value: base
- name: CHAIN_ID
- name: CHAIN_SPEC_PATH
value: /genesis.json
- name: CHECKSUM_ADDRESS_HASHES
value: "true"
- name: CHECKSUM_FUNCTION
value: eth
- name: DATABASE_URL
value: postgresql://postgres:@blockscout-postgres:5432/blockscout?ssl=false
- name: DECODE_NOT_A_CONTRACT_CALLS
value: "true"
- name: DISABLE_EXCHANGE_RATES
value: "true"
- name: DISABLE_INDEXER
value: "false"
- name: DISABLE_REALTIME_INDEXER
value: "false"
- name: DISABLE_WEBAPP
value: "false"
- name: DISPLAY_TOKEN_ICONS
value: "false"
- name: ECTO_USE_SSL
value: "false"
- name: EIP_1559_ELASTICITY_MULTIPLIER
value: "2"
- name: EMISSION_FORMAT
value: DEFAULT
- name: ETHEREUM_JSONRPC_HTTP_URL
value: http://op-node:8545/
- name: ETHEREUM_JSONRPC_TRACE_URL
value: http://op-node:8545/
- name: ETHEREUM_JSONRPC_VARIANT
value: geth
- name: EXTERNAL_APPS
value: '[]'
- name: FETCH_REWARDS_WAY
value: trace_block
- name: FOOTER_LINK_TO_OTHER_EXPLORERS
value: "false"
- name: FOOTER_OTHER_EXPLORERS
value: '{}'
- name: HIDE_BLOCK_MINER
value: "false"
- name: INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER
value: "false"
- name: INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER
value: "false"
- name: INDEXER_DISABLE_TOKEN_INSTANCE_LEGACY_SANITIZE_FETCHER
value: "false"
- name: INDEXER_DISABLE_TOKEN_INSTANCE_REALTIME_FETCHER
value: "false"
- name: INDEXER_DISABLE_TOKEN_INSTANCE_RETRY_FETCHER
value: "false"
- name: INDEXER_DISABLE_TOKEN_INSTANCE_SANITIZE_FETCHER
value: "false"
- name: MICROSERVICE_SC_VERIFIER_ENABLED
value: "true"
- name: MICROSERVICE_SC_VERIFIER_TYPE
value: sc_verifier
- name: MICROSERVICE_SC_VERIFIER_URL
value: http://blockscout-smart-contract-verifier:8050/
- name: MICROSERVICE_SIG_PROVIDER_ENABLED
value: "true"
- name: MICROSERVICE_SIG_PROVIDER_URL
value: http://blockscout-sig-provider:8050/
- name: MICROSERVICE_VISUALIZE_SOL2UML_ENABLED
value: "true"
- name: MICROSERVICE_VISUALIZE_SOL2UML_URL
value: http://blockscout-visualizer:8050/
- name: NETWORK_PATH
value: /
- name: POOL_SIZE
value: "80"
- name: POOL_SIZE_API
value: "10"
- name: PORT
value: "4000"
- name: RE_CAPTCHA_DISABLED
value: "false"
- name: SECRET_KEY_BASE
value: 56NtB48ear7+wMSf0IQuWDAAazhpb31qyc7GiyspBP2vh7t5zlCsF5QDv76chXeN
- name: SHOW_ADDRESS_MARKETCAP_PERCENTAGE
value: "true"
- name: SHOW_MAINTENANCE_ALERT
value: "false"
- name: SHOW_PRICE_CHART
value: "false"
- name: SHOW_PRICE_CHART_LEGEND
value: "false"
- name: SHOW_TENDERLY_LINK
value: "false"
- name: SHOW_TXS_CHART
value: "true"
- name: SUBNETWORK
value: 'L2 CHAIN '
- name: SUPPORTED_CHAINS
value: '{}'
- name: TXS_STATS_ENABLED
value: "true"
ports:
- containerPort: 4000
protocol: TCP
volumeMounts:
- mountPath: /genesis.json
name: genesis-pvc
readOnly: true
volumes:
- name: genesis-pvc
persistentVolumeClaim:
claimName: genesis-pvc
readOnly: true

---

apiVersion: v1
kind: Service
metadata:
name: blockscout
namespace: {{ .Release.Namespace }}
spec:
selector:
name: blockscout
type: LoadBalancer
ports:
- protocol: TCP
port: {{ .Values.blockscout.port }}
targetPort: 4000

---

apiVersion: apps/v1
kind: Deployment
metadata:
name: blockscout-postgres
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
matchLabels:
name: blockscout-postgres
template:
metadata:
labels:
name: blockscout-postgres
spec:
containers:
- args:
- postgres
- -c
- max_connections=200
env:
- name: POSTGRES_HOST_AUTH_METHOD
value: trust
- name: POSTGRES_USER
value: postgres
image: postgres:14
name: blockscout-postgres
ports:
- containerPort: 5432
protocol: TCP
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: blockscout-postgres-pvc
volumes:
- name: blockscout-postgres-pvc
persistentVolumeClaim:
claimName: blockscout-postgres-pvc

---

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: blockscout-postgres-pvc
namespace: {{ .Release.Namespace }}
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
21 changes: 21 additions & 0 deletions templates/helm/templates/env.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: env-cm
namespace: {{ .Release.Namespace }}
data:
L1_RPC: {{ .Values.env.L1_RPC }}
L2_CHAIN_ID: "{{ .Values.env.L2_CHAIN_ID }}"

---

apiVersion: v1
kind: Secret
metadata:
name: env-secret
namespace: {{ .Release.Namespace }}
stringData:
ADMIN_KEY: {{ .Values.env.ADMIN_KEY }}
BATCHER_KEY: {{ .Values.env.BATCHER_KEY }}
PROPOSER_KEY: {{ .Values.env.PROPOSER_KEY }}
SEQUENCER_KEY: {{ .Values.env.SEQUENCER_KEY }}
11 changes: 11 additions & 0 deletions templates/helm/templates/genesis-pvc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: genesis-pvc
namespace: {{ .Release.Namespace }}
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
51 changes: 51 additions & 0 deletions templates/helm/templates/op-batcher.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: op-batcher
namespace: {{ .Release.Namespace }}
spec:
selector:
matchLabels:
name: op-batcher
replicas: 1
template:
metadata:
labels:
name: op-batcher
spec:
containers:
- name: op-batcher
image: {{ .Values.opBatcher.image }}
command:
- sh
- -c
args:
- |
op-batcher \
--private-key=$(BATCHER_KEY) \
--l1-eth-rpc=$(L1_RPC) \
--l2-eth-rpc=http://op-node:{{ .Values.nodes.opGeth.port.rpc }} \
--rollup-rpc=http://op-node:{{ .Values.nodes.opNode.port.rpc }} \
--rpc.port={{ .Values.opBatcher.port.rpc }} \
--rpc.addr=0.0.0.0 \
--rpc.enable-admin \
--poll-interval=1s \
--sub-safety-margin=6 \
--num-confirmations=1 \
--safe-abort-nonce-too-low-count=3 \
--resubmission-timeout=30s \
--max-channel-duration=1
env:
- name: L1_RPC
valueFrom:
configMapKeyRef:
name: env-cm
key: L1_RPC
- name: BATCHER_KEY
valueFrom:
secretKeyRef:
name: env-secret
key: BATCHER_KEY
ports:
- containerPort: {{ .Values.opBatcher.port.rpc }}
protocol: TCP
Loading

0 comments on commit d86150a

Please sign in to comment.