diff --git a/charts/blockscout/Chart.yaml b/charts/blockscout/Chart.yaml index d52cbc26..a12ed553 100644 --- a/charts/blockscout/Chart.yaml +++ b/charts/blockscout/Chart.yaml @@ -1,17 +1,17 @@ --- apiVersion: v2 -description: blockscout helm charts +description: blockscout scroll helm charts name: blockscout -version: 0.0.3 +version: 0.0.4 appVersion: v0.1.0 kubeVersion: ">=1.22.0-0" maintainers: - name: scroll-tech email: sebastien@scroll.io dependencies: - - name: common - repository: "oci://ghcr.io/scroll-tech/scroll-sdk/helm" - version: 1.5.1 - name: external-secrets-lib repository: "oci://ghcr.io/scroll-tech/scroll-sdk/helm" version: 0.0.3 + - name: blockscout-stack + repository: https://blockscout.github.io/helm-charts + version: 1.6.8 diff --git a/charts/blockscout/README.md b/charts/blockscout/README.md index 3df6c830..467ac3dc 100644 --- a/charts/blockscout/README.md +++ b/charts/blockscout/README.md @@ -1,8 +1,8 @@ # blockscout -![Version: 0.0.3](https://img.shields.io/badge/Version-0.0.3-informational?style=flat-square) ![AppVersion: v0.1.0](https://img.shields.io/badge/AppVersion-v0.1.0-informational?style=flat-square) +![Version: 0.0.4](https://img.shields.io/badge/Version-0.0.4-informational?style=flat-square) ![AppVersion: v0.1.0](https://img.shields.io/badge/AppVersion-v0.1.0-informational?style=flat-square) -blockscout helm charts +blockscout scroll helm charts ## Maintainers @@ -16,119 +16,65 @@ Kubernetes: `>=1.22.0-0` | Repository | Name | Version | |------------|------|---------| -| oci://ghcr.io/scroll-tech/scroll-sdk/helm | common | 1.5.1 | +| https://blockscout.github.io/helm-charts | blockscout-stack | 1.6.8 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | external-secrets-lib | 0.0.3 | ## Values | Key | Type | Default | Description | |-----|------|---------|-------------| -| command[0] | string | `"/bin/sh"` | | -| command[1] | string | `"-c"` | | -| command[2] | string | `"/app/bin/blockscout start"` | | -| controller.replicas | int | `1` | | -| controller.strategy | string | `"Recreate"` | | -| controller.type | string | `"deployment"` | | -| defaultProbes.custom | bool | `true` | | -| defaultProbes.enabled | bool | `true` | | -| defaultProbes.spec.httpGet.path | string | `"/"` | | -| defaultProbes.spec.httpGet.port | int | `3000` | | -| envFrom[0].configMapRef.name | string | `"blockscout-env"` | | -| env[0].name | string | `"ECTO_USE_SSL"` | | -| env[0].value | bool | `false` | | -| env[10].name | string | `"LOGO"` | | -| env[10].value | string | `"/images/logo.svg"` | | -| env[11].name | string | `"WEBAPP_URL"` | | -| env[11].value | string | `"https://blockscout.scroll.tech"` | | -| env[12].name | string | `"BLOCKSCOUT_HOST"` | | -| env[12].value | string | `"test-blockscout.scroll.io"` | | -| env[13].name | string | `"JSON_RPC"` | | -| env[13].value | string | `"http://l2-sequencer:8545"` | | -| env[14].name | string | `"SUBNETWORK"` | | -| env[14].value | string | `"Scroll Sepolia Testnet"` | | -| env[15].name | string | `"SUPPORTED_CHAINS"` | | -| env[15].value | string | `"[{ \"title\": \"Etherscan (Sepolia)\", \"url\": \"https://sepolia.etherscan.io\", \"test_net?\": true }, { \"title\": \"Scroll Sepolia Testnet\", \"url\": \"http://test-blockscout.scroll.io\", \"test_net?\": true }]"` | | -| env[16].name | string | `"DISABLE_EXCHANGE_RATES"` | | -| env[16].value | bool | `true` | | -| env[17].name | string | `"BLOCKSCOUT_VERSION"` | | -| env[17].value | string | `"5.2.1"` | | -| env[18].name | string | `"FOOTER_GITHUB_LINK"` | | -| env[18].value | string | `"https://github.com/scroll-tech/blockscout"` | | -| env[19].name | string | `"RELEASE_LINK"` | | -| env[19].value | string | `"https://github.com/scroll-tech"` | | -| env[1].name | string | `"ETHEREUM_JSONRPC_HTTP_URL"` | | -| env[1].value | string | `"http://l2-sequencer:8545"` | | -| env[20].name | string | `"RELEASE_NODE"` | | -| env[20].value | string | `"l2_blockscout"` | | -| env[21].name | string | `"ETHEREUM_JSONRPC_DEBUG_TRACE_TRANSACTION_TIMEOUT"` | | -| env[21].value | string | `"10s"` | | -| env[22].name | string | `"INDEXER_MEMORY_LIMIT"` | | -| env[22].value | string | `"10gb"` | | -| env[23].name | string | `"BLOCK_TRANSFORMER"` | | -| env[23].value | string | `"clique"` | | -| env[24].name | string | `"MICROSERVICE_SC_VERIFIER_ENABLED"` | | -| env[24].value | bool | `true` | | -| env[25].name | string | `"MICROSERVICE_SC_VERIFIER_URL"` | | -| env[25].value | string | `"http://blockscout-sc-verifier:8080"` | | -| env[26].name | string | `"CHAIN_SPEC_PATH"` | | -| env[26].value | string | `"/app/genesis/genesis.json"` | | -| env[2].name | string | `"ETHEREUM_JSONRPC_TRACE_URL"` | | -| env[2].value | string | `"http://l2-sequencer:8545"` | | -| env[3].name | string | `"ETHEREUM_JSONRPC_VARIANT"` | | -| env[3].value | string | `"geth"` | | -| env[4].name | string | `"ETHEREUM_JSONRPC_WS_URL"` | | -| env[4].value | string | `"ws://l2-sequencer:8546"` | | -| env[5].name | string | `"INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER"` | | -| env[5].value | bool | `true` | | -| env[6].name | string | `"PORT"` | | -| env[6].value | int | `3000` | | -| env[7].name | string | `"NETWORK"` | | -| env[7].value[0] | string | `""` | | -| env[8].name | string | `"COIN"` | | -| env[8].value | string | `"ETH"` | | -| env[9].name | string | `"COIN_NAME"` | | -| env[9].value | string | `"ETH"` | | -| global.fullnameOverride | string | `"blockscout"` | | -| global.nameOverride | string | `"blockscout"` | | -| image.pullPolicy | string | `"Always"` | | -| image.repository | string | `"blockscout/blockscout"` | | -| image.tag | string | `"6.6.0"` | | -| ingress.main.annotations | object | `{}` | | -| ingress.main.enabled | bool | `true` | | -| ingress.main.hosts[0].host | string | `"blockscout.scrollsdk"` | | -| ingress.main.hosts[0].paths[0].path | string | `"/"` | | -| ingress.main.hosts[0].paths[0].pathType | string | `"Prefix"` | | -| ingress.main.ingressClassName | string | `"nginx"` | | -| ingress.main.labels | object | `{}` | | -| ingress.main.primary | bool | `true` | | -| initContainers.1-migrate-db.command[0] | string | `"/bin/sh"` | | -| initContainers.1-migrate-db.command[1] | string | `"-c"` | | -| initContainers.1-migrate-db.command[2] | string | `"/app/bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\""` | | -| initContainers.1-migrate-db.envFrom[0].configMapRef.name | string | `"blockscout-env"` | | -| initContainers.1-migrate-db.image | string | `"blockscout/blockscout:6.6.0"` | | -| persistence.env.enabled | bool | `true` | | -| persistence.env.mountPath | string | `"/config/"` | | -| persistence.env.name | string | `"blockscout-env"` | | -| persistence.env.type | string | `"configMap"` | | -| persistence.genesis.enabled | bool | `true` | | -| persistence.genesis.mountPath | string | `"/app/genesis/"` | | -| persistence.genesis.name | string | `"genesis-config"` | | -| persistence.genesis.type | string | `"configMap"` | | -| probes.liveness.<<.custom | bool | `true` | | -| probes.liveness.<<.enabled | bool | `true` | | -| probes.liveness.<<.spec.httpGet.path | string | `"/"` | | -| probes.liveness.<<.spec.httpGet.port | int | `3000` | | -| probes.readiness.<<.custom | bool | `true` | | -| probes.readiness.<<.enabled | bool | `true` | | -| probes.readiness.<<.spec.httpGet.path | string | `"/"` | | -| probes.readiness.<<.spec.httpGet.port | int | `3000` | | -| probes.startup.<<.custom | bool | `true` | | -| probes.startup.<<.enabled | bool | `true` | | -| probes.startup.<<.spec.httpGet.path | string | `"/"` | | -| probes.startup.<<.spec.httpGet.port | int | `3000` | | -| service.main.enabled | bool | `true` | | -| service.main.ports.http.enabled | bool | `true` | | -| service.main.ports.http.port | int | `3000` | | +| blockscout-stack.blockscout.env.BLOCK_TRANSFORMER | string | `"clique"` | | +| blockscout-stack.blockscout.env.CHAIN_TYPE | string | `"scroll"` | | +| blockscout-stack.blockscout.env.ECTO_USE_SSL | bool | `false` | | +| blockscout-stack.blockscout.env.ETHEREUM_JSONRPC_HTTP_INSECURE | bool | `true` | | +| blockscout-stack.blockscout.env.ETHEREUM_JSONRPC_HTTP_URL | string | `"http://l2-rpc:8545"` | | +| blockscout-stack.blockscout.env.ETHEREUM_JSONRPC_TRACE_URL | string | `"http://l2-rpc:8545"` | | +| blockscout-stack.blockscout.env.ETHEREUM_JSONRPC_VARIANT | string | `"geth"` | | +| blockscout-stack.blockscout.env.ETHEREUM_JSONRPC_WS_URL | string | `"ws://l2-rpc:8546"` | | +| blockscout-stack.blockscout.env.INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER | bool | `true` | | +| blockscout-stack.blockscout.env.INDEXER_SCROLL_L1_ETH_GET_LOGS_RANGE_SIZE | int | `500` | | +| blockscout-stack.blockscout.env.INDEXER_SCROLL_L2_ETH_GET_LOGS_RANGE_SIZE | int | `500` | | +| blockscout-stack.blockscout.env.INDEXER_SCROLL_L2_MESSENGER_START_BLOCK | int | `0` | | +| blockscout-stack.blockscout.env.SCROLL_L2_CURIE_UPGRADE_BLOCK | int | `0` | | +| blockscout-stack.blockscout.envFrom[0].configMapRef.name | string | `"blockscout-env"` | | +| blockscout-stack.blockscout.image.pullPolicy | string | `"IfNotPresent"` | | +| blockscout-stack.blockscout.image.repository | string | `"blockscout/blockscout-scroll"` | | +| blockscout-stack.blockscout.image.tag | string | `"6.9.0-alpha.1"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-headers" | string | `"updated-gas-oracle, Content-Type, Authorization"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-methods" | string | `"GET, POST, OPTIONS"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-origin" | string | `"http://blockscout.scrollsdk"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/cors-max-age" | string | `"86400"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | +| blockscout-stack.blockscout.ingress.className | string | `"nginx"` | | +| blockscout-stack.blockscout.ingress.enabled | bool | `true` | | +| blockscout-stack.blockscout.ingress.hostname | string | `"blockscout-backend.scrollsdk"` | | +| blockscout-stack.frontend.env.FAVICON_MASTER_URL | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/favicons/scroll_180x180.png"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_AD_BANNER_PROVIDER | string | `"none"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_AD_TEXT_PROVIDER | string | `"none"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_API_HOST | string | `"blockscout-backend.scrollsdk"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_API_PROTOCOL | string | `"http"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL | string | `"ws"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_APP_PROTOCOL | string | `"http"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_HOMEPAGE_CHARTS | string | `"[\"daily_txs\"]"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_HOMEPAGE_HERO_BANNER_CONFIG | string | `"{'background':['rgba(255, 238, 218, 1)'],'text_color':['rgba(25, 6, 2, 1)']}"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_HOMEPAGE_STATS | string | `"[\"total_blocks\", \"average_block_time\", \"total_txs\", \"wallet_addresses\", \"gas_tracker\"]"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_NETWORK_ICON | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/scroll.svg"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_NETWORK_ICON_DARK | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/scroll-dark.svg"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_NETWORK_LOGO | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/scroll.svg"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_NETWORK_LOGO_DARK | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/scroll-dark.svg"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_OG_IMAGE_URL | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/scroll-sepolia.png"` | | +| blockscout-stack.frontend.image.tag | string | `"v1.35.2"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-headers" | string | `"updated-gas-oracle, Content-Type, Authorization"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-methods" | string | `"GET, POST, OPTIONS"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-origin" | string | `"http://blockscout.scrollsdk"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/cors-max-age" | string | `"86400"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | +| blockscout-stack.frontend.ingress.className | string | `"nginx"` | | +| blockscout-stack.frontend.ingress.enabled | bool | `true` | | +| blockscout-stack.frontend.ingress.hostname | string | `"blockscout.scrollsdk"` | | +| blockscout-stack.fullnameOverride | string | `"blockscout"` | | +| blockscout-stack.imagePullSecrets[0].name | string | `"docker-secret"` | | +| blockscout-stack.nameOverride | string | `"blockscout"` | | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) diff --git a/charts/blockscout/templates/common.yaml b/charts/blockscout/templates/common.yaml index 0ec7409b..844240ad 100644 --- a/charts/blockscout/templates/common.yaml +++ b/charts/blockscout/templates/common.yaml @@ -1,16 +1,2 @@ --- -{{- include "scroll.common.loader.init" . }} - -{{- define "app-template.hardcodedValues" -}} -# Set the nameOverride based on the release name if no override has been set -{{ if not .Values.global.nameOverride }} -global: - nameOverride: "{{ .Release.Name }}" -{{ end }} -{{- end -}} -{{- $_ := mergeOverwrite .Values (include "app-template.hardcodedValues" . | fromYaml) -}} - -{{/* Render the templates */}} -{{ include "scroll.common.loader.generate" . }} ---- {{- include "scrolllib.externalsecrets.tpl" . }} diff --git a/charts/blockscout/values.yaml b/charts/blockscout/values.yaml index 611b7c7b..900cabc2 100644 --- a/charts/blockscout/values.yaml +++ b/charts/blockscout/values.yaml @@ -1,138 +1,81 @@ ---- -global: - nameOverride: &app_name blockscout - fullnameOverride: *app_name +blockscout-stack: + nameOverride: "blockscout" + fullnameOverride: "blockscout" -controller: - replicas: 1 - strategy: Recreate - type: deployment + imagePullSecrets: + - name: docker-secret -image: - repository: blockscout/blockscout - pullPolicy: Always - tag: 6.6.0 + blockscout: + image: + repository: blockscout/blockscout-scroll + pullPolicy: IfNotPresent + tag: 6.9.0-alpha.1 -env: - - name: ECTO_USE_SSL - value: false - - name: ETHEREUM_JSONRPC_HTTP_URL - value: http://l2-sequencer:8545 - - name: ETHEREUM_JSONRPC_TRACE_URL - value: http://l2-sequencer:8545 - - name: ETHEREUM_JSONRPC_VARIANT - value: geth - - name: ETHEREUM_JSONRPC_WS_URL - value: ws://l2-sequencer:8546 - - name: INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER - value: true - - name: PORT - value: 3000 - - name: NETWORK - value: [""] - - name: COIN - value: ETH - - name: COIN_NAME - value: ETH - - name: LOGO - value: /images/logo.svg - - name: WEBAPP_URL - value: https://blockscout.scroll.tech - - name: BLOCKSCOUT_HOST - value: test-blockscout.scroll.io - - name: JSON_RPC - value: http://l2-sequencer:8545 - - name: SUBNETWORK - value: "Scroll Sepolia Testnet" - - name: SUPPORTED_CHAINS - value: '[{ "title": "Etherscan (Sepolia)", "url": "https://sepolia.etherscan.io", "test_net?": true }, { "title": "Scroll Sepolia Testnet", "url": "http://test-blockscout.scroll.io", "test_net?": true }]' - - name: DISABLE_EXCHANGE_RATES - value: true - - name: BLOCKSCOUT_VERSION - value: 5.2.1 - - name: FOOTER_GITHUB_LINK - value: https://github.com/scroll-tech/blockscout - - name: RELEASE_LINK - value: https://github.com/scroll-tech - - name: RELEASE_NODE - value: l2_blockscout - - name: ETHEREUM_JSONRPC_DEBUG_TRACE_TRANSACTION_TIMEOUT - value: 10s - - name: INDEXER_MEMORY_LIMIT - value: 10gb - - name: BLOCK_TRANSFORMER - value: clique - - name: MICROSERVICE_SC_VERIFIER_ENABLED - value: true - - name: MICROSERVICE_SC_VERIFIER_URL - value: http://blockscout-sc-verifier:8080 - - name: CHAIN_SPEC_PATH - value: /app/genesis/genesis.json + env: + ETHEREUM_JSONRPC_HTTP_URL: http://l2-rpc:8545 + ETHEREUM_JSONRPC_TRACE_URL: http://l2-rpc:8545 + ETHEREUM_JSONRPC_VARIANT: geth + ETHEREUM_JSONRPC_WS_URL: ws://l2-rpc:8546 + BLOCK_TRANSFORMER: clique + INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: true + CHAIN_TYPE: scroll + INDEXER_SCROLL_L2_MESSENGER_START_BLOCK: 0 + INDEXER_SCROLL_L1_ETH_GET_LOGS_RANGE_SIZE: 500 + INDEXER_SCROLL_L2_ETH_GET_LOGS_RANGE_SIZE: 500 + SCROLL_L2_CURIE_UPGRADE_BLOCK: 0 + ECTO_USE_SSL: false + ETHEREUM_JSONRPC_HTTP_INSECURE: true + # Not sure what these values are for + # SCROLL_L1_SCALAR_INIT: + # SCROLL_L1_OVERHEAD_INIT: + # SCROLL_L1_COMMIT_SCALAR_INIT: + # SCROLL_L1_BLOB_SCALAR_INIT: + # SCROLL_L1_BASE_FEE_INIT: + # SCROLL_L1_BLOB_BASE_FEE_INIT: -envFrom: - - configMapRef: - name: blockscout-env - -command: [ - "/bin/sh", - "-c", - "/app/bin/blockscout start" -] - -service: - main: - enabled: true - ports: - http: - enabled: true - port: 3000 - -defaultProbes: &default_probes - enabled: true - custom: true - spec: - httpGet: - path: "/" - port: 3000 - -probes: - liveness: - <<: *default_probes - readiness: - <<: *default_probes - startup: - <<: *default_probes - - -persistence: - genesis: - enabled: true - type: configMap - mountPath: /app/genesis/ - name: genesis-config - env: - enabled: true - type: configMap - mountPath: /config/ - name: blockscout-env - -initContainers: - 1-migrate-db: - image: blockscout/blockscout:6.6.0 - command: ["/bin/sh", "-c", "/app/bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\""] envFrom: - configMapRef: name: blockscout-env -ingress: - main: - enabled: true - primary: true - annotations: {} - labels: {} - ingressClassName: "nginx" - hosts: - - host: blockscout.scrollsdk - paths: - - path: / - pathType: Prefix + ingress: + enabled: true + className: "nginx" + annotations: + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-allow-origin: "http://blockscout.scrollsdk" + nginx.ingress.kubernetes.io/cors-allow-headers: "updated-gas-oracle, Content-Type, Authorization" + nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS" + nginx.ingress.kubernetes.io/cors-max-age: "86400" + hostname: blockscout-backend.scrollsdk + + frontend: + image: + tag: v1.35.2 + + env: + NEXT_PUBLIC_NETWORK_LOGO: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/scroll.svg" + NEXT_PUBLIC_NETWORK_LOGO_DARK: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/scroll-dark.svg" + NEXT_PUBLIC_NETWORK_ICON: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/scroll.svg" + NEXT_PUBLIC_NETWORK_ICON_DARK: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/scroll-dark.svg" + NEXT_PUBLIC_HOMEPAGE_HERO_BANNER_CONFIG: "{'background':['rgba(255, 238, 218, 1)'],'text_color':['rgba(25, 6, 2, 1)']}" + NEXT_PUBLIC_OG_IMAGE_URL: 'https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/scroll-sepolia.png' + FAVICON_MASTER_URL: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/favicons/scroll_180x180.png" + NEXT_PUBLIC_HOMEPAGE_CHARTS: '["daily_txs"]' + NEXT_PUBLIC_HOMEPAGE_STATS: '["total_blocks", "average_block_time", "total_txs", "wallet_addresses", "gas_tracker"]' + NEXT_PUBLIC_API_PROTOCOL: http + NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: ws + NEXT_PUBLIC_API_HOST: "blockscout-backend.scrollsdk" + NEXT_PUBLIC_APP_PROTOCOL: http + NEXT_PUBLIC_AD_BANNER_PROVIDER: none + NEXT_PUBLIC_AD_TEXT_PROVIDER: none + + ingress: + enabled: true + annotations: + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-allow-origin: "http://blockscout.scrollsdk" + nginx.ingress.kubernetes.io/cors-allow-headers: "updated-gas-oracle, Content-Type, Authorization" + nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS" + nginx.ingress.kubernetes.io/cors-max-age: "86400" + className: "nginx" + hostname: blockscout.scrollsdk diff --git a/charts/blockscout/values/production.yaml b/charts/blockscout/values/production.yaml index aa2e019e..02b0e110 100644 --- a/charts/blockscout/values/production.yaml +++ b/charts/blockscout/values/production.yaml @@ -1,37 +1,76 @@ -envFrom: - - secretRef: - name: blockscout-secret-env +blockscout-stack: + blockscout: -persistence: - env: - enabled: true - type: secret - mountPath: /config/ - name: blockscout-secret-env + env: + ETHEREUM_JSONRPC_HTTP_URL: http://l2-rpc:8545 + ETHEREUM_JSONRPC_TRACE_URL: http://l2-rpc:8545 + ETHEREUM_JSONRPC_VARIANT: geth + ETHEREUM_JSONRPC_WS_URL: ws://l2-rpc:8546 + BLOCK_TRANSFORMER: clique + INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: true + CHAIN_TYPE: scroll + INDEXER_SCROLL_L1_CHAIN_CONTRACT: "" # value of L1_SCROLL_CHAIN_PROXY_ADDR on config-contracts.toml + INDEXER_SCROLL_L1_BATCH_START_BLOCK: "" # value of L1_CONTRACT_DEPLOYMENT_BLOCK on config.toml + INDEXER_SCROLL_L1_MESSENGER_CONTRACT: "" # value of L1_SCROLL_MESSENGER_PROXY_ADDR on config-contracts.toml + INDEXER_SCROLL_L1_MESSENGER_START_BLOCK: "" # value of L1_CONTRACT_DEPLOYMENT_BLOCK on config.toml + INDEXER_SCROLL_L2_MESSENGER_CONTRACT: "" # value of L2_SCROLL_MESSENGER_PROXY_ADDR on config-contracts.toml + INDEXER_SCROLL_L2_GAS_ORACLE_CONTRACT: "" # value of L1_GAS_PRICE_ORACLE_PROXY_ADDR on config-contracts.toml + INDEXER_SCROLL_L1_RPC: "" + INDEXER_SCROLL_L2_MESSENGER_START_BLOCK: 0 + INDEXER_SCROLL_L1_ETH_GET_LOGS_RANGE_SIZE: 500 + INDEXER_SCROLL_L2_ETH_GET_LOGS_RANGE_SIZE: 500 + SCROLL_L2_CURIE_UPGRADE_BLOCK: 0 + ECTO_USE_SSL: true + ETHEREUM_JSONRPC_HTTP_INSECURE: false -initContainers: - 1-migrate-db: - image: blockscout/blockscout:6.6.0 - command: ["/bin/sh", "-c", "/app/bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\""] envFrom: - secretRef: name: blockscout-secret-env -configMaps: - env: - enabled: true - data: - PG_HOST: "postgresql-blockscout" - PG_PORT: "5432" + extraEnv: + - name: DATABASE_URL + valueFrom: + secretKeyRef: + name: blockscout-secret-env + key: DATABASE_URL + + ingress: + enabled: true + className: "" + annotations: # Add annotations here. Might be necessary to allow CORS from updated-gas-oracle. Example below + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-allow-origin: "https://blockscout.scrollsdk" + nginx.ingress.kubernetes.io/cors-allow-headers: "updated-gas-oracle, Content-Type, Authorization" + nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS" + nginx.ingress.kubernetes.io/cors-max-age: "86400" + hostname: "" + tls: + enabled: true + secretName: blockscout-tls # Set here the name of the secret. Example : blockscout-backend.scrollsdk + + frontend: + env: + NEXT_PUBLIC_API_PROTOCOL: https + NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: wss + NEXT_PUBLIC_API_HOST: "" # Backend host, example "blockscout-backend.scrollsdk" + NEXT_PUBLIC_APP_HOST: "" # Backend host, example "blockscout-backend.scrollsdk" + NEXT_PUBLIC_APP_PROTOCOL: https -ingress: - main: - ingressClassName: "nginx" - hosts: - - host: "" - paths: - - path: / - pathType: Prefix + ingress: + enabled: true + className: "" # Set here your ingress class name + annotations: # Add annotations here. Might be necessary to allow CORS from updated-gas-oracle. Example below + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-allow-origin: "https://blockscout.scrollsdk" + nginx.ingress.kubernetes.io/cors-allow-headers: "updated-gas-oracle, Content-Type, Authorization" + nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS" + nginx.ingress.kubernetes.io/cors-max-age: "86400" + hostname: "" # Set the hostname for the frontend. Example : blockscout.scrollsdk + tls: + enabled: true + secretName: blockscout-front-tls # Set here the hostname for the ingress. Example : blockscout.scrollsdk externalSecrets: blockscout-secret-env: diff --git a/charts/l1-explorer/Chart.yaml b/charts/l1-explorer/Chart.yaml index 36876af7..8ef15231 100644 --- a/charts/l1-explorer/Chart.yaml +++ b/charts/l1-explorer/Chart.yaml @@ -2,16 +2,16 @@ apiVersion: v2 description: l1-explorer helm charts name: l1-explorer -version: 0.0.2 +version: 0.0.3 appVersion: v0.1.0 kubeVersion: ">=1.22.0-0" maintainers: - name: scroll-tech email: sebastien@scroll.io dependencies: - - name: common - repository: "oci://ghcr.io/scroll-tech/scroll-sdk/helm" - version: 1.5.1 - name: external-secrets-lib repository: "oci://ghcr.io/scroll-tech/scroll-sdk/helm" version: 0.0.3 + - name: blockscout-stack + repository: https://blockscout.github.io/helm-charts + version: 1.6.8 diff --git a/charts/l1-explorer/README.md b/charts/l1-explorer/README.md index 3f28f368..1ca36741 100644 --- a/charts/l1-explorer/README.md +++ b/charts/l1-explorer/README.md @@ -1,6 +1,6 @@ # l1-explorer -![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational?style=flat-square) ![AppVersion: v0.1.0](https://img.shields.io/badge/AppVersion-v0.1.0-informational?style=flat-square) +![Version: 0.0.3](https://img.shields.io/badge/Version-0.0.3-informational?style=flat-square) ![AppVersion: v0.1.0](https://img.shields.io/badge/AppVersion-v0.1.0-informational?style=flat-square) l1-explorer helm charts @@ -16,99 +16,56 @@ Kubernetes: `>=1.22.0-0` | Repository | Name | Version | |------------|------|---------| -| oci://ghcr.io/scroll-tech/scroll-sdk/helm | common | 1.5.1 | +| https://blockscout.github.io/helm-charts | blockscout-stack | 1.6.8 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | external-secrets-lib | 0.0.3 | ## Values | Key | Type | Default | Description | |-----|------|---------|-------------| -| command[0] | string | `"/bin/sh"` | | -| command[1] | string | `"-c"` | | -| command[2] | string | `"/app/bin/blockscout start"` | | -| controller.replicas | int | `1` | | -| controller.strategy | string | `"Recreate"` | | -| controller.type | string | `"deployment"` | | -| defaultProbes.custom | bool | `true` | | -| defaultProbes.enabled | bool | `true` | | -| defaultProbes.spec.httpGet.path | string | `"/"` | | -| defaultProbes.spec.httpGet.port | int | `3000` | | -| envFrom[0].configMapRef.name | string | `"l1-explorer-env"` | | -| env[0].name | string | `"ECTO_USE_SSL"` | | -| env[0].value | bool | `false` | | -| env[10].name | string | `"SUBNETWORK"` | | -| env[10].value | string | `"Scroll Sepolia Testnet"` | | -| env[11].name | string | `"SUPPORTED_CHAINS"` | | -| env[11].value | string | `"[{ \"title\": \"Scroll SDK (L1)\", \"url\": \"https://localhost:3000\", \"test_net?\": true }, { \"title\": \"Scroll SDK (L2) Testnet\", \"url\": \"http://blockscout:3000\", \"test_net?\": true }]"` | | -| env[12].name | string | `"DISABLE_EXCHANGE_RATES"` | | -| env[12].value | bool | `true` | | -| env[13].name | string | `"BLOCKSCOUT_VERSION"` | | -| env[13].value | string | `"5.2.1"` | | -| env[14].name | string | `"FOOTER_GITHUB_LINK"` | | -| env[14].value | string | `"https://github.com/blockscout/blockscout"` | | -| env[15].name | string | `"ETHEREUM_JSONRPC_DEBUG_TRACE_TRANSACTION_TIMEOUT"` | | -| env[15].value | string | `"10s"` | | -| env[16].name | string | `"INDEXER_MEMORY_LIMIT"` | | -| env[16].value | string | `"10gb"` | | -| env[17].name | string | `"BLOCK_TRANSFORMER"` | | -| env[17].value | string | `"clique"` | | -| env[18].name | string | `"MICROSERVICE_SC_VERIFIER_ENABLED"` | | -| env[18].value | bool | `true` | | -| env[1].name | string | `"ETHEREUM_JSONRPC_VARIANT"` | | -| env[1].value | string | `"geth"` | | -| env[2].name | string | `"INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER"` | | -| env[2].value | bool | `true` | | -| env[3].name | string | `"PORT"` | | -| env[3].value | int | `3000` | | -| env[4].name | string | `"NETWORK"` | | -| env[4].value[0] | string | `""` | | -| env[5].name | string | `"COIN"` | | -| env[5].value | string | `"ETH"` | | -| env[6].name | string | `"COIN_NAME"` | | -| env[6].value | string | `"ETH"` | | -| env[7].name | string | `"LOGO"` | | -| env[7].value | string | `"/images/logo.svg"` | | -| env[8].name | string | `"WEBAPP_URL"` | | -| env[8].value | string | `"https://l1-explorer.scroll.tech"` | | -| env[9].name | string | `"BLOCKSCOUT_HOST"` | | -| env[9].value | string | `"test-l1-explorer.scroll.io"` | | -| global.fullnameOverride | string | `"l1-explorer"` | | -| global.nameOverride | string | `"l1-explorer"` | | -| image.pullPolicy | string | `"Always"` | | -| image.repository | string | `"blockscout/blockscout"` | | -| image.tag | string | `"6.6.0"` | | -| ingress.main.annotations | object | `{}` | | -| ingress.main.enabled | bool | `true` | | -| ingress.main.hosts[0].host | string | `"l1-explorer.scrollsdk"` | | -| ingress.main.hosts[0].paths[0].path | string | `"/"` | | -| ingress.main.hosts[0].paths[0].pathType | string | `"Prefix"` | | -| ingress.main.ingressClassName | string | `"nginx"` | | -| ingress.main.labels | object | `{}` | | -| ingress.main.primary | bool | `true` | | -| initContainers.1-migrate-db.command[0] | string | `"/bin/sh"` | | -| initContainers.1-migrate-db.command[1] | string | `"-c"` | | -| initContainers.1-migrate-db.command[2] | string | `"/app/bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\""` | | -| initContainers.1-migrate-db.envFrom[0].configMapRef.name | string | `"l1-explorer-env"` | | -| initContainers.1-migrate-db.image | string | `"blockscout/blockscout:6.6.0"` | | -| persistence.env.enabled | bool | `true` | | -| persistence.env.mountPath | string | `"/config/"` | | -| persistence.env.name | string | `"l1-explorer-env"` | | -| persistence.env.type | string | `"configMap"` | | -| probes.liveness.<<.custom | bool | `true` | | -| probes.liveness.<<.enabled | bool | `true` | | -| probes.liveness.<<.spec.httpGet.path | string | `"/"` | | -| probes.liveness.<<.spec.httpGet.port | int | `3000` | | -| probes.readiness.<<.custom | bool | `true` | | -| probes.readiness.<<.enabled | bool | `true` | | -| probes.readiness.<<.spec.httpGet.path | string | `"/"` | | -| probes.readiness.<<.spec.httpGet.port | int | `3000` | | -| probes.startup.<<.custom | bool | `true` | | -| probes.startup.<<.enabled | bool | `true` | | -| probes.startup.<<.spec.httpGet.path | string | `"/"` | | -| probes.startup.<<.spec.httpGet.port | int | `3000` | | -| service.main.enabled | bool | `true` | | -| service.main.ports.http.enabled | bool | `true` | | -| service.main.ports.http.port | int | `3000` | | +| blockscout-stack.blockscout.env.BLOCK_TRANSFORMER | string | `"clique"` | | +| blockscout-stack.blockscout.env.ECTO_USE_SSL | bool | `false` | | +| blockscout-stack.blockscout.env.ETHEREUM_JSONRPC_HTTP_INSECURE | bool | `true` | | +| blockscout-stack.blockscout.env.ETHEREUM_JSONRPC_VARIANT | string | `"geth"` | | +| blockscout-stack.blockscout.env.INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER | bool | `true` | | +| blockscout-stack.blockscout.envFrom[0].configMapRef.name | string | `"l1-explorer-env"` | | +| blockscout-stack.blockscout.image.pullPolicy | string | `"IfNotPresent"` | | +| blockscout-stack.blockscout.image.repository | string | `"blockscout/blockscout"` | | +| blockscout-stack.blockscout.image.tag | string | `"6.8.0"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-headers" | string | `"updated-gas-oracle, Content-Type, Authorization"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-methods" | string | `"GET, POST, OPTIONS"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-origin" | string | `"http://l1-explorer.scrollsdk"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/cors-max-age" | string | `"86400"` | | +| blockscout-stack.blockscout.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | +| blockscout-stack.blockscout.ingress.className | string | `"nginx"` | | +| blockscout-stack.blockscout.ingress.enabled | bool | `true` | | +| blockscout-stack.blockscout.ingress.hostname | string | `"l1-explorer-backend.scrollsdk"` | | +| blockscout-stack.frontend.env.FAVICON_MASTER_URL | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/favicons/scroll_180x180.png"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_AD_BANNER_PROVIDER | string | `"none"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_AD_TEXT_PROVIDER | string | `"none"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_API_HOST | string | `"l1-explorer-backend.scrollsdk"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_API_PROTOCOL | string | `"http"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL | string | `"ws"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_APP_PROTOCOL | string | `"http"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_HOMEPAGE_CHARTS | string | `"[\"daily_txs\"]"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_HOMEPAGE_HERO_BANNER_CONFIG | string | `"{'background':['rgba(255, 238, 218, 1)'],'text_color':['rgba(25, 6, 2, 1)']}"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_HOMEPAGE_STATS | string | `"[\"total_blocks\", \"average_block_time\", \"total_txs\", \"wallet_addresses\", \"gas_tracker\"]"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_NETWORK_ICON | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/scroll.svg"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_NETWORK_ICON_DARK | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/scroll-dark.svg"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_NETWORK_LOGO | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/scroll.svg"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_NETWORK_LOGO_DARK | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/scroll-dark.svg"` | | +| blockscout-stack.frontend.env.NEXT_PUBLIC_OG_IMAGE_URL | string | `"https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/scroll-sepolia.png"` | | +| blockscout-stack.frontend.image.tag | string | `"v1.35.2"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-headers" | string | `"updated-gas-oracle, Content-Type, Authorization"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-methods" | string | `"GET, POST, OPTIONS"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/cors-allow-origin" | string | `"http://l1-explorer.scrollsdk"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/cors-max-age" | string | `"86400"` | | +| blockscout-stack.frontend.ingress.annotations."nginx.ingress.kubernetes.io/enable-cors" | string | `"true"` | | +| blockscout-stack.frontend.ingress.className | string | `"nginx"` | | +| blockscout-stack.frontend.ingress.enabled | bool | `true` | | +| blockscout-stack.frontend.ingress.hostname | string | `"l1-explorer.scrollsdk"` | | +| blockscout-stack.fullnameOverride | string | `"l1-explorer"` | | +| blockscout-stack.nameOverride | string | `"l1-explorer"` | | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) diff --git a/charts/l1-explorer/templates/common.yaml b/charts/l1-explorer/templates/common.yaml index 0ec7409b..844240ad 100644 --- a/charts/l1-explorer/templates/common.yaml +++ b/charts/l1-explorer/templates/common.yaml @@ -1,16 +1,2 @@ --- -{{- include "scroll.common.loader.init" . }} - -{{- define "app-template.hardcodedValues" -}} -# Set the nameOverride based on the release name if no override has been set -{{ if not .Values.global.nameOverride }} -global: - nameOverride: "{{ .Release.Name }}" -{{ end }} -{{- end -}} -{{- $_ := mergeOverwrite .Values (include "app-template.hardcodedValues" . | fromYaml) -}} - -{{/* Render the templates */}} -{{ include "scroll.common.loader.generate" . }} ---- {{- include "scrolllib.externalsecrets.tpl" . }} diff --git a/charts/l1-explorer/values.yaml b/charts/l1-explorer/values.yaml index 5b1e476c..510cffd7 100644 --- a/charts/l1-explorer/values.yaml +++ b/charts/l1-explorer/values.yaml @@ -1,117 +1,63 @@ ---- -global: - nameOverride: &app_name l1-explorer +blockscout-stack: + nameOverride: &app_name "l1-explorer" fullnameOverride: *app_name -controller: - replicas: 1 - strategy: Recreate - type: deployment + blockscout: + image: + repository: blockscout/blockscout + pullPolicy: IfNotPresent + tag: 6.8.0 -image: - repository: blockscout/blockscout - pullPolicy: Always - tag: 6.6.0 + env: + ETHEREUM_JSONRPC_VARIANT: geth + BLOCK_TRANSFORMER: clique + INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: true + ECTO_USE_SSL: false + ETHEREUM_JSONRPC_HTTP_INSECURE: true -env: - - name: ECTO_USE_SSL - value: false - - name: ETHEREUM_JSONRPC_VARIANT - value: geth - - name: INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER - value: true - - name: PORT - value: 3000 - - name: NETWORK - value: [""] - - name: COIN - value: ETH - - name: COIN_NAME - value: ETH - - name: LOGO - value: /images/logo.svg - - name: WEBAPP_URL - value: https://l1-explorer.scroll.tech - - name: BLOCKSCOUT_HOST - value: test-l1-explorer.scroll.io - - name: SUBNETWORK - value: "Scroll Sepolia Testnet" - - name: SUPPORTED_CHAINS - value: '[{ "title": "Scroll SDK (L1)", "url": "https://localhost:3000", "test_net?": true }, { "title": "Scroll SDK (L2) Testnet", "url": "http://blockscout:3000", "test_net?": true }]' - - name: DISABLE_EXCHANGE_RATES - value: true - - name: BLOCKSCOUT_VERSION - value: 5.2.1 - - name: FOOTER_GITHUB_LINK - value: https://github.com/blockscout/blockscout - - name: ETHEREUM_JSONRPC_DEBUG_TRACE_TRANSACTION_TIMEOUT - value: 10s - - name: INDEXER_MEMORY_LIMIT - value: 10gb - - name: BLOCK_TRANSFORMER - value: clique - - name: MICROSERVICE_SC_VERIFIER_ENABLED - value: true - -envFrom: - - configMapRef: - name: l1-explorer-env - -command: - [ - "/bin/sh", - "-c", - "/app/bin/blockscout start" - ] - -service: - main: - enabled: true - ports: - http: - enabled: true - port: 3000 - -defaultProbes: &default_probes - enabled: true - custom: true - spec: - httpGet: - path: "/" - port: 3000 - -probes: - liveness: - <<: *default_probes - readiness: - <<: *default_probes - startup: - <<: *default_probes - -persistence: - env: - enabled: true - type: configMap - mountPath: /config/ - name: l1-explorer-env - -initContainers: - 1-migrate-db: - image: blockscout/blockscout:6.6.0 - command: ["/bin/sh", "-c", "/app/bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\""] envFrom: - configMapRef: name: l1-explorer-env -ingress: - main: - enabled: true - primary: true - annotations: {} - labels: {} - ingressClassName: "nginx" - hosts: - - host: l1-explorer.scrollsdk - paths: - - path: / - pathType: Prefix + ingress: + enabled: true + className: "nginx" + annotations: + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-allow-origin: "http://l1-explorer.scrollsdk" + nginx.ingress.kubernetes.io/cors-allow-headers: "updated-gas-oracle, Content-Type, Authorization" + nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS" + nginx.ingress.kubernetes.io/cors-max-age: "86400" + hostname: l1-explorer-backend.scrollsdk + + frontend: + image: + tag: v1.35.2 + + env: + NEXT_PUBLIC_NETWORK_LOGO: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/scroll.svg" + NEXT_PUBLIC_NETWORK_LOGO_DARK: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-logos/scroll-dark.svg" + NEXT_PUBLIC_NETWORK_ICON: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/scroll.svg" + NEXT_PUBLIC_NETWORK_ICON_DARK: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/network-icons/scroll-dark.svg" + NEXT_PUBLIC_HOMEPAGE_HERO_BANNER_CONFIG: "{'background':['rgba(255, 238, 218, 1)'],'text_color':['rgba(25, 6, 2, 1)']}" + NEXT_PUBLIC_OG_IMAGE_URL: 'https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/og-images/scroll-sepolia.png' + FAVICON_MASTER_URL: "https://raw.githubusercontent.com/blockscout/frontend-configs/main/configs/favicons/scroll_180x180.png" + NEXT_PUBLIC_HOMEPAGE_CHARTS: '["daily_txs"]' + NEXT_PUBLIC_HOMEPAGE_STATS: '["total_blocks", "average_block_time", "total_txs", "wallet_addresses", "gas_tracker"]' + NEXT_PUBLIC_API_PROTOCOL: http + NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: ws + NEXT_PUBLIC_API_HOST: "l1-explorer-backend.scrollsdk" + NEXT_PUBLIC_APP_PROTOCOL: http + NEXT_PUBLIC_AD_BANNER_PROVIDER: none + NEXT_PUBLIC_AD_TEXT_PROVIDER: none + + ingress: + enabled: true + annotations: + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-allow-origin: "http://l1-explorer.scrollsdk" + nginx.ingress.kubernetes.io/cors-allow-headers: "updated-gas-oracle, Content-Type, Authorization" + nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS" + nginx.ingress.kubernetes.io/cors-max-age: "86400" + className: "nginx" + hostname: l1-explorer.scrollsdk diff --git a/charts/scroll-sdk/Chart.yaml b/charts/scroll-sdk/Chart.yaml index 5ca8833e..b347d30e 100644 --- a/charts/scroll-sdk/Chart.yaml +++ b/charts/scroll-sdk/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 description: scroll helm charts to deploy scroll sdk name: scroll-sdk -version: 0.0.58 +version: 0.0.59 appVersion: v0.1.0 kubeVersion: ">=1.22.0-0" maintainers: @@ -22,7 +22,7 @@ dependencies: repository: "oci://ghcr.io/scroll-tech/scroll-sdk/helm" condition: balance-checker.enabled - name: blockscout - version: 0.0.3 + version: 0.0.4 repository: "oci://ghcr.io/scroll-tech/scroll-sdk/helm" condition: blockscout.enabled - name: bridge-history-api @@ -62,7 +62,7 @@ dependencies: repository: "oci://ghcr.io/scroll-tech/scroll-sdk/helm" condition: gas-oracle.enabled - name: l1-explorer - version: 0.0.2 + version: 0.0.3 repository: "oci://ghcr.io/scroll-tech/scroll-sdk/helm" condition: l1-explorer.enabled - name: l2-bootnode diff --git a/charts/scroll-sdk/README.md b/charts/scroll-sdk/README.md index 1af7df20..1a9c4f34 100644 --- a/charts/scroll-sdk/README.md +++ b/charts/scroll-sdk/README.md @@ -1,6 +1,6 @@ # scroll-sdk -![Version: 0.0.57](https://img.shields.io/badge/Version-0.0.57-informational?style=flat-square) ![AppVersion: v0.1.0](https://img.shields.io/badge/AppVersion-v0.1.0-informational?style=flat-square) +![Version: 0.0.59](https://img.shields.io/badge/Version-0.0.59-informational?style=flat-square) ![AppVersion: v0.1.0](https://img.shields.io/badge/AppVersion-v0.1.0-informational?style=flat-square) scroll helm charts to deploy scroll sdk @@ -22,7 +22,7 @@ Kubernetes: `>=1.22.0-0` | oci://ghcr.io/scroll-tech/scroll-sdk/helm | admin-system-cron | 0.0.2 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | admin-system-dashboard | 0.0.2 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | balance-checker | 0.0.4 | -| oci://ghcr.io/scroll-tech/scroll-sdk/helm | blockscout | 0.0.3 | +| oci://ghcr.io/scroll-tech/scroll-sdk/helm | blockscout | 0.0.4 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | blockscout-sc-verifier | 0.0.2 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | bridge-history-api | 0.0.7 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | bridge-history-fetcher | 0.0.11 | @@ -33,7 +33,7 @@ Kubernetes: `>=1.22.0-0` | oci://ghcr.io/scroll-tech/scroll-sdk/helm | frontends | 0.0.10 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | gas-oracle | 0.0.11 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | l1-devnet | 0.0.3 | -| oci://ghcr.io/scroll-tech/scroll-sdk/helm | l1-explorer | 0.0.2 | +| oci://ghcr.io/scroll-tech/scroll-sdk/helm | l1-explorer | 0.0.3 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | l2-bootnode | 0.0.16 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | l2-rpc | 0.0.16 | | oci://ghcr.io/scroll-tech/scroll-sdk/helm | l2-sequencer | 0.0.14 | diff --git a/charts/scroll-sdk/config.toml b/charts/scroll-sdk/config.toml index b8e304d8..6c45094b 100644 --- a/charts/scroll-sdk/config.toml +++ b/charts/scroll-sdk/config.toml @@ -6,6 +6,7 @@ L2_RPC_ENDPOINT = "http://l2-sequencer:8545" CHAIN_NAME_L1="Anvil L1" CHAIN_NAME_L2="Scroll SDK" + CHAIN_ID_L1 = 111111 CHAIN_ID_L2 = 221122 @@ -119,5 +120,6 @@ ROLLUP_EXPLORER_API_HOST = "rollup-explorer-backend.scrollsdk" COORDINATOR_API_HOST = "coordinator-api.scrollsdk" RPC_GATEWAY_HOST = "l2-rpc.scrollsdk" BLOCKSCOUT_HOST = "blockscout.scrollsdk" -ADMIN_SYSTEM_DASHBOARD_HOST= "admin-system-dashboard.scrollsdk" +BLOCKSCOUT_BACKEND_HOST = "blockscout-backend.scrollsdk" +ADMIN_SYSTEM_DASHBOARD_HOST = "admin-system-dashboard.scrollsdk" GRAFANA_HOST = "http://grafana.scrollsdk" diff --git a/devnet/Makefile b/devnet/Makefile index b67e88b9..229bc076 100644 --- a/devnet/Makefile +++ b/devnet/Makefile @@ -7,7 +7,7 @@ L1_RPC_HOST := l1-devnet.scrollsdk bootstrap: echo "Pulling helm chart..." - helm pull oci://ghcr.io/scroll-tech/scroll-sdk/helm/scroll-sdk --version 0.0.58 + helm pull oci://ghcr.io/scroll-tech/scroll-sdk/helm/dev/scroll-sdk --version 0.0.59 echo "Extracting helm chart..." tar -xvf *.tgz $(MAKE) config diff --git a/devnet/create-env-files.sh b/devnet/create-env-files.sh index 4ac9dbb5..9c1ea00f 100755 --- a/devnet/create-env-files.sh +++ b/devnet/create-env-files.sh @@ -31,7 +31,7 @@ get_service_configmap_variables() { echo "L1_RPC_ENDPOINT:SCROLL_L1_RPC L2_RPC_ENDPOINT:SCROLL_L2_RPC" ;; blockscout) - echo "L1_RPC_ENDPOINT:SCROLL_L1_RPC BLOCKSCOUT_DB_CONNECTION_STRING:DATABASE_URL" + echo "L1_RPC_ENDPOINT:INDEXER_SCROLL_L1_RPC BLOCKSCOUT_DB_CONNECTION_STRING:DATABASE_URL L1_SCROLL_CHAIN_PROXY_ADDR:INDEXER_SCROLL_L1_CHAIN_CONTRACT L1_CONTRACT_DEPLOYMENT_BLOCK:INDEXER_SCROLL_L1_BATCH_START_BLOCK L1_SCROLL_MESSENGER_PROXY_ADDR:INDEXER_SCROLL_L1_MESSENGER_CONTRACT L1_CONTRACT_DEPLOYMENT_BLOCK:INDEXER_SCROLL_L1_MESSENGER_START_BLOCK L2_SCROLL_MESSENGER_PROXY_ADDR:INDEXER_SCROLL_L2_MESSENGER_CONTRACT L1_GAS_PRICE_ORACLE_ADDR:INDEXER_SCROLL_L2_GAS_ORACLE_CONTRACT" ;; bridge-history-api) echo "L1_RPC_ENDPOINT:SCROLL_L1_RPC L2_RPC_ENDPOINT:SCROLL_L2_RPC BRIDGE_HISTORY_DB_CONNECTION_STRING:SCROLL_BRIDGE_HISTORY_DB_DSN" diff --git a/examples/config.toml.example b/examples/config.toml.example index 2b61df64..6f2caece 100644 --- a/examples/config.toml.example +++ b/examples/config.toml.example @@ -121,6 +121,7 @@ ROLLUP_EXPLORER_API_HOST = "rollup-explorer-backend.scrollsdk" COORDINATOR_API_HOST = "coordinator-api.scrollsdk" RPC_GATEWAY_HOST = "l2-rpc.scrollsdk" BLOCKSCOUT_HOST = "blockscout.scrollsdk" +BLOCKSCOUT_BACKEND_HOST = "blockscout-backend.scrollsdk" ADMIN_SYSTEM_DASHBOARD_HOST = "admin-system-dashboard.scrollsdk" L1_DEVNET_HOST = "l1-devnet.scrollsdk" L1_EXPLORER_HOST = "l1-explorer.scrollsdk" diff --git a/examples/values/blockscout-production.yaml b/examples/values/blockscout-production.yaml index aa2e019e..4b69d218 100644 --- a/examples/values/blockscout-production.yaml +++ b/examples/values/blockscout-production.yaml @@ -1,37 +1,76 @@ -envFrom: - - secretRef: - name: blockscout-secret-env +blockscout-stack: + blockscout: -persistence: - env: - enabled: true - type: secret - mountPath: /config/ - name: blockscout-secret-env + env: + ETHEREUM_JSONRPC_HTTP_URL: http://l2-rpc:8545 + ETHEREUM_JSONRPC_TRACE_URL: http://l2-rpc:8545 + ETHEREUM_JSONRPC_VARIANT: geth + ETHEREUM_JSONRPC_WS_URL: ws://l2-rpc:8546 + BLOCK_TRANSFORMER: clique + INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: true + CHAIN_TYPE: scroll + INDEXER_SCROLL_L1_CHAIN_CONTRACT: "" # value of L1_SCROLL_CHAIN_PROXY_ADDR on config-contracts.toml + INDEXER_SCROLL_L1_BATCH_START_BLOCK: "" # value of L1_CONTRACT_DEPLOYMENT_BLOCK on config.toml + INDEXER_SCROLL_L1_MESSENGER_CONTRACT: "" # value of L1_SCROLL_MESSENGER_PROXY_ADDR on config-contracts.toml + INDEXER_SCROLL_L1_MESSENGER_START_BLOCK: "" # value of L1_CONTRACT_DEPLOYMENT_BLOCK on config.toml + INDEXER_SCROLL_L2_MESSENGER_CONTRACT: "" # value of L2_SCROLL_MESSENGER_PROXY_ADDR on config-contracts.toml + INDEXER_SCROLL_L2_GAS_ORACLE_CONTRACT: "" # value of L1_GAS_PRICE_ORACLE_PROXY_ADDR on config-contracts.toml + INDEXER_SCROLL_L1_RPC: "" + INDEXER_SCROLL_L2_MESSENGER_START_BLOCK: 0 + INDEXER_SCROLL_L1_ETH_GET_LOGS_RANGE_SIZE: 500 + INDEXER_SCROLL_L2_ETH_GET_LOGS_RANGE_SIZE: 500 + SCROLL_L2_CURIE_UPGRADE_BLOCK: 0 + ECTO_USE_SSL: true + ETHEREUM_JSONRPC_HTTP_INSECURE: false -initContainers: - 1-migrate-db: - image: blockscout/blockscout:6.6.0 - command: ["/bin/sh", "-c", "/app/bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\""] envFrom: - secretRef: name: blockscout-secret-env -configMaps: - env: - enabled: true - data: - PG_HOST: "postgresql-blockscout" - PG_PORT: "5432" + extraEnv: + - name: DATABASE_URL + valueFrom: + secretKeyRef: + name: blockscout-secret-env + key: DATABASE_URL + + ingress: + enabled: true + className: "" + annotations: # Add annotations here. Might be necessary to allow CORS from updated-gas-oracle. Example below + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-allow-origin: "https://blockscout.scrollsdk" + nginx.ingress.kubernetes.io/cors-allow-headers: "updated-gas-oracle, Content-Type, Authorization" + nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS" + nginx.ingress.kubernetes.io/cors-max-age: "86400" + hostname: "" + tls: + enabled: true + secretName: blockscout-tls # Set here the name of the secret. Example : blockscout-backend.scrollsdk + + frontend: + env: + NEXT_PUBLIC_API_PROTOCOL: https + NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: wss + NEXT_PUBLIC_API_HOST: "" # Backend host, example "blockscout-backend.scrollsdk" + NEXT_PUBLIC_APP_HOST: "" # Backend host, example "blockscout-backend.scrollsdk" + NEXT_PUBLIC_APP_PROTOCOL: https -ingress: - main: - ingressClassName: "nginx" - hosts: - - host: "" - paths: - - path: / - pathType: Prefix + ingress: + enabled: true + className: "" # Set here your ingress class name + annotations: # Add annotations here. Might be necessary to allow CORS from updated-gas-oracle. Example below + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-allow-origin: "https://blockscout.scrollsdk" + nginx.ingress.kubernetes.io/cors-allow-headers: "updated-gas-oracle, Content-Type, Authorization" + nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS" + nginx.ingress.kubernetes.io/cors-max-age: "86400" + hostname: "" # Set the hostname for the frontend. Example : blockscout.scrollsdk + tls: + enabled: true + secretName: blockscout-front-tls # Set here the hostname for the ingress. Example : blockscout.scrollsdk externalSecrets: blockscout-secret-env: