global:
  env: main
# enable Blockscout deploy
blockscout:
  app: blockscout
  enabled: true
  image:
    _default: &image blockscout/blockscout:frontend-main
  replicas:
    app: 1
  docker:
    port: 80
    targetPort: 4000
  # init container
  init:
    enabled: true
    image:
      _default: *image
  # enable ingress
  ingress:
    enabled: true
    annotations:
      # - 'nginx.ingress.kubernetes.io/rewrite-target: /$2'
      - 'nginx.ingress.kubernetes.io/cors-allow-origin: "https://*.blockscout-main.test.aws-k8s.blockscout.com, https://*.test.aws-k8s.blockscout.com, http://localhost:3000"'
      - 'nginx.ingress.kubernetes.io/cors-allow-credentials: "true"'
      - 'nginx.ingress.kubernetes.io/cors-allow-methods: PUT, GET, POST, OPTIONS, DELETE, PATCH'
      - 'nginx.ingress.kubernetes.io/enable-cors: "true"'
      - 'nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,x-csrf-token"'
      - 'nginx.ingress.kubernetes.io/cors-expose-headers: "x-bs-account-csrf"'
    host:
      _default: blockscout.test.blockscout.aws-k8s.blockscout.com
    # enable https
    #
    tls:
      enabled: true
    path:
      prefix:
        # - "/poa/sokol(/|$)(.*)"
        - "/"
  # probes
  livenessProbe:
    enabled: true
    path: /
  readinessProbe:
    enabled: true
    path: /
  resources:
    limits:
      memory:
        _default: "5Gi"
      cpu:
        _default: "4"
    requests:
      memory:
        _default: "5Gi"
      cpu:
        _default: "4"
  # node label
  nodeSelector:
    enabled: true
    labels:
      _default:
        app: blockscout-prod
  # Blockscout environment variables
  environment:
    ETHEREUM_JSONRPC_TRACE_URL:
      # _default: http://geth-svc:8545
      _default: http://65.108.226.29:8545
    ETHEREUM_JSONRPC_HTTP_URL:
      # _default: http://geth-svc:8545
      _default: http://65.108.226.29:8545
    # ETHEREUM_JSONRPC_WS_URL:
    #   # _default: ws://geth-svc:8546
    #   _default: ws://geth-svc.goerli.svc.cluster.local:8546
    BLOCKSCOUT_VERSION:
      _default: v5.1.0-beta
    ECTO_USE_SSL:
      _default: 'false'
    ETHEREUM_JSONRPC_VARIANT:
      _default: geth
    HEART_BEAT_TIMEOUT:
      _default: 30
    SHOW_PRICE_CHART:
      _default: false
    CACHE_BLOCK_COUNT_PERIOD:
      _default: 7200
    PORT:
      _default: 4000
    SUBNETWORK:
      _default: Ethereum
    HEALTHY_BLOCKS_PERIOD:
      _default: 60
    NETWORK:
      _default: (Goerli)
    NETWORK_ICON:
      _default: _network_icon.html
    COIN:
      _default: ETH
    COIN_NAME:
      _default: ETH
    LOGO:
      _default: /images/goerli_logo.svg
    HISTORY_FETCH_INTERVAL:
      _default: 60
    TXS_HISTORIAN_INIT_LAG:
      _default: 0
    TXS_STATS_DAYS_TO_COMPILE_AT_INIT:
      _default: 1
    COIN_BALANCE_HISTORY_DAYS:
      _default: 90
    POOL_SIZE:
      _default: 100
    DISPLAY_TOKEN_ICONS:
      _default: 'true'
    FETCH_REWARDS_WAY:
      _default: manual
    SHOW_TESTNET_LABEL:
      _default: 'true'
    CHAIN_ID:
      _default: 5
    ENABLE_RUST_VERIFICATION_SERVICE:
      _default: 'true'
    RUST_VERIFICATION_SERVICE_URL:
      _default: http://eth-bytecode-db-svc.eth-bytecode-db-testing.svc.cluster.local:80
    INDEXER_MEMORY_LIMIT:
      _default: 5
    ACCOUNT_ENABLED:
      _default: 'true'
    API_V2_ENABLED:
      _default: 'true'
    APPS_MENU:
      _default: 'true'
    APPS:
      _default: '[{"title": "Marketplace", "url": "/apps", "embedded?": true}]'
    SESSION_COOKIE_DOMAIN:
      _default: blockscout-main.test.aws-k8s.blockscout.com
    ETHEREUM_JSONRPC_DEBUG_TRACE_TRANSACTION_TIMEOUT:
      _default: '20s'
    INDEXER_INTERNAL_TRANSACTIONS_BATCH_SIZE:
      _default: 15
    INDEXER_DISABLE_EMPTY_BLOCK_SANITIZER:
      _default: 'true'
    INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER:
      _default: 'true'
    INDEXER_RECEIPTS_BATCH_SIZE:
      _default: 50
    INDEXER_COIN_BALANCES_BATCH_SIZE:
      _default: 50
    DISABLE_EXCHANGE_RATES:
      _default: 'true'
    DISABLE_INDEXER:
      _default: 'false'
    FIRST_BLOCK:
      _default: '8446041'
    LAST_BLOCK:
      _default: '8446041'
    TRACE_FIRST_BLOCK:
      _default: '8446041'
    TRACE_LAST_BLOCK:
      _default: '8446041'

postgres:
  enabled: true
  image: postgres:13.8
  port: 5432

  command: '["docker-entrypoint.sh", "-c"]'
  args: '["max_connections=500"]'

  # strategy: Recreate

  persistence: true
  storage: 1400Gi

  resources:
    limits:
      memory:
        _default: "6Gi"
      cpu:
        _default: "2"
    requests:
      memory:
        _default: "6Gi"
      cpu:
        _default: "2"
  # node label
  nodeSelector:
    enabled: true
    labels:
      _default:
        app: blockscout-prod

  environment:
    POSTGRES_USER:
      _default: 'postgres'
    POSTGRES_HOST_AUTH_METHOD:
      _default: 'trust'
# enable geth deploy
geth:
  enabled: false
  image:
    _default: ethereum/client-go:stable
  replicas:
    app: 1
  ports:
    http:
      number: 8545
      protocol: TCP
    ws:
      number: 8546
      protocol: TCP
    auth:
      number: 8551
      protocol: TCP
  command:
    - /bin/sh
    - -c
    - |-
      /root/init.sh --fakepow --dev --dev.period=1 --datadir=/root/.ethereum/devnet --keystore=/root/.ethereum/devnet/keystore --password=/root/password.txt --unlock=0 --unlock=1 --mine --miner.threads=1 --miner.etherbase=0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266 --ipcpath=/root/geth.ipc --http --http.vhosts=* --http.addr=0.0.0.0 --http.port=8545 --http.api=eth,net,web3,debug,txpool --ws --ws.origins=* --ws.addr=0.0.0.0 --ws.port=8546 --ws.api=eth,net,web3,debug,txpool --graphql --graphql.corsdomain=* --allow-insecure-unlock --rpc.allow-unprotected-txs --http.corsdomain=* --vmdebug --networkid=1337 --rpc.txfeecap=0
  environment: {}
  persistence:
    enabled: false
  resources:
    limits:
      memory:
        _default: "2Gi"
      cpu:
        _default: "0.2"
    requests:
      memory:
        _default: "2Gi"
      cpu:
        _default: "0.2"
  # node label
  nodeSelector:
    enabled: true
    app: blockscout
  service:
    # ClusterIP, NodePort or LoadBalancer
    type: ClusterIP
  # enable ingress
  ingress:
    enabled: true
    host:
      _default: node.test.aws-k8s.blockscout.com
    # enable https
    tls:
      enabled: false
  jwt:
    enabled: false
  files:
    enabled: true

frontend:
  app: blockscout
  enabled: true
  image:
    _default: ghcr.io/blockscout/frontend:main
  replicas:
    app: 1
  docker:
    port: 80
    targetPort: 3000
  ingress:
    enabled: true
    # annotations:
    #   - 'nginx.ingress.kubernetes.io/use-regex: "true"'
    host:
      _default: frontend.test.blockscout.aws-k8s.blockscout.com
    # enable https
    tls:
      enabled: true
    path:
      exact:
        # - "/(apps|auth/profile|account)"
        - "/"
      prefix:
        - "/_next"
        - "/node-api"
        - "/account"
        - "/apps"
        - "/static"
        - "/auth/profile"
        - "/txs"
        - "/tx"
        - "/blocks"
        - "/block"
        - "/login"
        - "/address"
        - "/stats"
        - "/search-results"
        - "/token"
        - "/tokens"
        - "/accounts"
        - "/visualize"
        - "/api-docs"
        - "/csv-export"
        - "/verified-contracts"
        - "/graphiql"

  resources:
    limits:
      memory:
        _default: "0.1Gi"
      cpu:
        _default: "0.2"
    requests:
      memory:
        _default: "0.1Gi"
      cpu:
        _default: "0.2"
  environment:
    # ui config
    NEXT_PUBLIC_FEATURED_NETWORKS:
      _default: "[{'title':'Gnosis Chain','url':'https://blockscout.com/xdai/mainnet','group':'mainnets','type':'xdai_mainnet'},{'title':'Optimism on Gnosis Chain','url':'https://blockscout.com/xdai/optimism','group':'mainnets','type':'xdai_optimism'},{'title':'Arbitrum on xDai','url':'https://blockscout.com/xdai/aox','group':'mainnets'},{'title':'Ethereum','url':'https://blockscout.com/eth/mainnet','group':'mainnets','type':'eth_mainnet'},{'title':'Ethereum Classic','url':'https://blockscout.com/etx/mainnet','group':'mainnets','type':'etc_mainnet'},{'title':'POA','url':'https://blockscout.com/poa/core','group':'mainnets','type':'poa_core'},{'title':'RSK','url':'https://blockscout.com/rsk/mainnet','group':'mainnets','type':'rsk_mainnet'},{'title':'Gnosis Chain Testnet','url':'https://blockscout.com/xdai/testnet','group':'testnets','type':'xdai_testnet'},{'title':'POA Sokol','url':'https://blockscout.com/poa/sokol','group':'testnets','type':'poa_sokol'},{'title':'ARTIS Σ1','url':'https://blockscout.com/artis/sigma1','group':'other','type':'artis_sigma1'},{'title':'LUKSO L14','url':'https://blockscout.com/lukso/l14','group':'other','type':'lukso_l14'},{'title':'Astar','url':'https://blockscout.com/astar','group':'other','type':'astar'}]"
    NEXT_PUBLIC_NETWORK_EXPLORERS:
      _default: "[{'title':'Anyblock','baseUrl':'https://explorer.anyblock.tools','paths':{'tx':'/ethereum/ethereum/goerli/transaction','address':'/ethereum/ethereum/goerli/address'}},{'title':'Etherscan','baseUrl':'https://goerli.etherscan.io/','paths':{'tx':'/tx','address':'/address'}}]"
    # network config
    NEXT_PUBLIC_NETWORK_NAME:
      _default: Ethereum
    NEXT_PUBLIC_NETWORK_SHORT_NAME:
      _default: Goerli
    NEXT_PUBLIC_NETWORK_ASSETS_PATHNAME:
      _default: ethereum
    NEXT_PUBLIC_NETWORK_TYPE:
      _default: goerli
    NEXT_PUBLIC_NETWORK_ID:
      _default: 5
    NEXT_PUBLIC_NETWORK_CURRENCY_NAME:
      _default: Ether
    NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL:
      _default: ETH
    NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS:
      _default: 18
    NEXT_PUBLIC_NETWORK_TOKEN_ADDRESS:
      _default: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
    NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED:
      _default: true
    NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE:
      _default: validation
    NEXT_PUBLIC_MARKETPLACE_SUBMIT_FORM:
      _default: https://airtable.com/shrqUAcjgGJ4jU88C
    NEXT_PUBLIC_MARKETPLACE_APP_LIST:
      _default: "[{'author': 'Blockscout','id':'token-approval-tracker','title':'Token Approval Tracker','logo':'https://approval-tracker-main.test.aws-k8s.blockscout.com/icon-192.png','categories':['security','tools'],'shortDescription':'Token Approval Tracker shows all approvals for any ERC20-compliant tokens and NFTs and lets to revoke them or adjust the approved amount.','site':'https://docs.blockscout.com/for-users/blockscout-apps/token-approval-tracker','description':'Token Approval Tracker shows all approvals for any ERC20-compliant tokens and NFTs and lets to revoke them or adjust the approved amount.','url':'https://approval-tracker-main.test.aws-k8s.blockscout.com/'},{'author': 'Revoke','id':'revoke.cash','title':'Revoke.cash','logo':'https://www.gitbook.com/cdn-cgi/image/width=288,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FVBMGyUFnd6CScjfK7CYQ%252Frevoke_sing.png%3Falt%3Dmedia%26token%3D9ab94986-7ab1-41c8-bf7e-d9ce11d23182','categories':['security','tools'],'shortDescription': 'Revoke.cash comes in as a preventative tool to manage your token allowances and practice proper wallet hygiene. By regularly revoking active allowances you reduce the chances of becoming the victim of allowance exploits.','site': 'https://revoke.cash/about','description': 'Revoke.cash comes in as a preventative tool to manage your token allowances and practice proper wallet hygiene. By regularly revoking active allowances you reduce the chances of becoming the victim of allowance exploits.','url':'https://revoke.cash/'},{'author':'Aave','id': 'aave','title': 'Aave','logo': 'https://www.gitbook.com/cdn-cgi/image/width=288,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FrZkUTIUCG7Zx8BW6Em34%252FAave.png%3Falt%3Dmedia%26token%3D249797a4-4c1e-4372-9cd2-3e48e05e5f30','categories':['tools'],'shortDescription':'Aave is a decentralised non-custodial liquidity market protocol where users can participate as suppliers or borrowers. Suppliers provide liquidity to the market to earn a passive income, while borrowers are able to borrow in an overcollateralised (perpetually) or undercollateralised (one-block liquidity) fashion.','site': 'https://docs.aave.com/faq/','description': 'Aave is a decentralised non-custodial liquidity market protocol where users can participate as suppliers or borrowers. Suppliers provide liquidity to the market to earn a passive income, while borrowers are able to borrow in an overcollateralised (perpetually) or undercollateralised (one-block liquidity) fashion.','url': 'https://staging.aave.com/'},{'author':'LooksRare','id':'looksrare','external':true,'title':'LooksRare','logo': 'https://www.gitbook.com/cdn-cgi/image/width=288,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FeAI4gy3qPMt68mZOZHAx%252FLooksRare.png%3Falt%3Dmedia%26token%3D44c01439-ae09-40aa-b904-3a9ce5b2e002','categories':['tools'],'shortDescription': 'LooksRare is the web3 NFT Marketplace where traders and collectors have earned over $1.3 Billion in rewards.','site':'https://docs.looksrare.org/about/welcome-to-looksrare','description':'LooksRare is the web3 NFT Marketplace where traders and collectors have earned over $1.3 Billion in rewards.','url': 'https://goerli.looksrare.org/'},{'author':'zkSync Bridge','id':'zksync-bridge','external':true,'title':'zkSync Bridge','logo':'https://www.gitbook.com/cdn-cgi/image/width=288,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FrtQsaAz9BjGBc35tVAnq%252FzkSync.png%3Falt%3Dmedia%26token%3D5c18171c-8ccf-4a88-8f44-680cbf238115','categories':['security','tools'],'shortDescription':'zkSync 2.0 Goerli Bridge','site':'https://v2-docs.zksync.io/dev/','description':'zkSync 2.0 Goerli Bridge','url':'https://portal.zksync.io/bridge'},{'author':'dYdX','id':'dydx','external':true,'title':'dYdX','logo':'https://www.gitbook.com/cdn-cgi/image/width=288,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FCrOglR72wpi0UhEscwe4%252Fdxdy.png%3Falt%3Dmedia%26token%3D8811909e-93e3-487c-9614-dffce37223e9','categories': ['security','tools'],'shortDescription':'dYdX is a leading decentralized exchange that currently supports perpetual trading. dYdX runs on smart contracts on the Ethereum blockchain, and allows users to trade with no intermediaries.','site':'https://help.dydx.exchange/en/articles/3047379-introduction-and-overview','description':'dYdX is a leading decentralized exchange that currently supports perpetual trading. dYdX runs on smart contracts on the Ethereum blockchain, and allows users to trade with no intermediaries.','url':'https://trade.stage.dydx.exchange/portfolio/overview'},{'author':'MetalSwap','id':'metalswap','title':'MetalSwap','logo':'https://www.gitbook.com/cdn-cgi/image/width=288,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252F8xqldTvxb6avrwVVc3rS%252FMetalSwap.png%3Falt%3Dmedia%26token%3D92d2db99-853a-487d-8d8c-8cdeaeaaf014','categories':['security','tools'],'shortDescription':'MetalSwap is a decentralised platform that enables hedging swaps in financial markets with the aim of providing a hedge for commodity traders and an investment opportunity for those who contribute to the shared liquidity of the project.','site':'https://docs.metalswap.finance/','description':'MetalSwap is a decentralised platform that enables hedging swaps in financial markets with the aim of providing a hedge for commodity traders and an investment opportunity for those who contribute to the shared liquidity of the project.','url':'https://demo.metalswap.finance/'},{'author':'FaucetDao','id':'faucetdao','title':'FaucetDao','logo':'https://www.gitbook.com/cdn-cgi/image/width=288,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252Ffnnt3ZNZhzRwqMM5YYjD%252FPlaceholder.png%3Falt%3Dmedia%26token%3D507571bb-d76f-4d96-a35e-2b278608f7ca','categories':['tools'],'shortDescription':'FaucetDao is a decentralised community fund providing liquidity and support to early-stage well vetted blockchain projects.','site':'https://linktr.ee/faucet_dao','description':'FaucetDao is a decentralised community fund providing liquidity and support to early-stage well vetted blockchain projects.','url':'https://www.faucetdao.shop/swap?chain=goerli'},{'author':'Uniswap','id':'uniswap','title':'Uniswap','logo':'https://www.gitbook.com/cdn-cgi/image/width=288,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FJc0QAyeaBmFIL97tSmGv%252FUniswap.png%3Falt%3Dmedia%26token%3D5d25d796-c273-4e22-92fa-ff85206bec76','categories':['tools'],'shortDescription':'Uniswap is a cryptocurrency exchange which uses a decentralized network protocol.','site':'https://docs.uniswap.org/','description':'Uniswap is a cryptocurrency exchange which uses a decentralized network protocol.','url':'https://app.uniswap.org/swap'}]"
    # api config
    NEXT_PUBLIC_API_BASE_PATH:
      _default: /
    NEXT_PUBLIC_BLOCKSCOUT_VERSION:
      _default: v4.1.8-beta
    NEXT_PUBLIC_FOOTER_GITHUB_LINK:
      _default: https://github.com/blockscout/blockscout
    NEXT_PUBLIC_FOOTER_TWITTER_LINK:
      _default: https://www.twitter.com/blockscoutcom
    NEXT_PUBLIC_APP_ENV:
      _default: stable
    NEXT_PUBLIC_APP_INSTANCE:
      _default: eth_goerli
    NEXT_PUBLIC_API_HOST:
      _default: blockscout.com/eth/goerli
    NEXT_PUBLIC_STATS_API_HOST:
      _default: https://stats-test.aws-k8s.blockscout.com/
    NEXT_PUBLIC_VISUALIZE_API_HOST:
      _default: https://visualizer.aws-k8s.blockscout.com
    NEXT_PUBLIC_APP_HOST:
      _default: blockscout.com/eth/goerli
    NEXT_PUBLIC_LOGOUT_URL:
      _default: https://blockscoutcom.us.auth0.com/v2/logout
    NEXT_PUBLIC_LOGOUT_RETURN_URL:
      _default: https://blockscout.com/auth/logout
    NEXT_PUBLIC_NETWORK_RPC_URL:
      _default: https://rpc.ankr.com/eth_goerli
    NEXT_PUBLIC_HOMEPAGE_CHARTS:
      _default: "['daily_txs','coin_price','market_cup']"
    NEXT_PUBLIC_API_SPEC_URL:
      _default: https://raw.githubusercontent.com/blockscout/blockscout-api-v2-swagger/main/swagger.yaml
    NEXT_PUBLIC_IS_TESTNET:
      _default: true
    NEXT_PUBLIC_GRAPHIQL_TRANSACTION:
      _default: 0xf7d4972356e6ae44ae948d0cf19ef2beaf0e574c180997e969a2837da15e349d
