This Helm chart deploys the Subscan Essentials stack, including API, Worker, Daemon, and UI components. It supports multi-network (mainnet/testnet) configuration and is compatible with both Traefik and Ingress-Nginx.
Before installing this chart, you must have the following dependencies available in your Kubernetes cluster or accessible network environment:
- Ingress Controller
- If
ingress.type=ingress-nginx
, install ingress-nginx. - If
ingress.type=traefik
, install Traefik.
- If
- Database and Cache Services
- PostgreSQL: Required for backend data storage. Configure connection details using
DB_DRIVER=postgres
,POSTGRES_HOST
,POSTGRES_PORT
,POSTGRES_USER
,POSTGRES_DB
, andPOSTGRES_PASSWORD
in the appropriate environment variable section of yourvalues.yaml
(e.g.,mainnetEnvVars
,testnetEnvVars
, or per-networkenvVars
). - Redis: Required for caching. Configure connection details using
REDIS_HOST
,REDIS_PORT
,REDIS_PASSWORD
, andREDIS_DATABASE
in the same environment variable sections.
- PostgreSQL: Required for backend data storage. Configure connection details using
Refer to the official documentation for installation instructions for each controller and database/cache system. Make sure all connection information is set in values.yaml
under the appropriate environment variable sections before deploying this chart.
- Introduction
- Installation
- Upgrading
- Configuration
- Templates Overview
- Examples
- Advanced Usage
- References
This chart provides a flexible way to deploy Subscan Essentials services. You can customize images, resources, environment variables, ingress domains, and more via values.yaml
. Both mainnet and testnet networks are supported.
helm repo add subscan https://subscan-explorer.github.io/subscan-essentials-chart/
helm install subscan-essentials subscan/subscan-essentials-chart -f example/subscan-essentials/values.yaml
helm upgrade subscan-essentials subscan/subscan-essentials-chart -f example/subscan-essentials/values.yaml
The following table lists the most important configurable parameters of the chart and their default values. For a full list, see values.yaml
.
Parameter | Description | Default |
---|---|---|
commonLabels |
Common Kubernetes labels for all resources | See values.yaml |
mainnetEnvVars |
Mainnet environment variables | See values.yaml |
testnetEnvVars |
Testnet environment variables | See values.yaml |
networkTemplate |
Default configuration template for each component | See values.yaml |
testnet |
Testnet network-specific configuration | {} |
mainnet |
Mainnet network-specific configuration | {} |
images.backend.repository |
Backend image repository | quay.io/subscan-explorer/subscan-essentials |
images.backend.mainnet |
Backend image tag for mainnet | sha-5775183-33 |
images.backend.testnet |
Backend image tag for testnet | sha-5775183-33 |
images.ui.repository |
UI image repository | quay.io/subscan-explorer/subscan-essentials-ui |
images.ui.tag |
UI image tag | sha-54e17a7-13 |
ingress.type |
Ingress type (traefik or ingress-nginx ) |
traefik |
ingress.mainDomain |
Main domain for ingress | subscan.io |
daemon.enabled
: Enable Daemon componentworker.replicaCount
: Number of Worker replicasapi.autoscaling.enabled
: Enable autoscaling for APIui.enabled
: Enable UI componentresources.requests/limits
: Resource requests and limitsenvVars
: Custom environment variablesimage.tag
: Image tag override
testnet.<network>.values
: Per-testnet network configuration (env vars, worker replicas, ingress subdomains, etc.)mainnet
: Mainnet configuration (same structure as above)
This chart includes the following Kubernetes resources:
deployment-api.yaml
: API Deploymentdeployment-worker.yaml
: Worker Deploymentdeployment-daemon.yaml
: Daemon Deploymentdeployment-ui.yaml
: UI Deploymentservice.yaml
: Service definitions for all componentsingressroute-api.yaml
,ingressroute-ui.yaml
: Traefik IngressRoute resourcesconfigmap-ui.yaml
: UI ConfigMapsecret-envvars-backend.yaml
: Backend environment variable Secret
testnet:
assethub-westend: # It must be equal NETWORK_NODE
values:
envVars:
CHAIN_WS_ENDPOINT: wss://api-asset-hub-westend.dwellir.com/xxxxxxxx
NETWORK_NODE: assethub-westend # It must be equal to and unique from the network name.
POSTGRES_DB: subscan_assethub_westend
POSTGRES_HOST: subscan-postgres-testnet-a
ETH_RPC: https://westend-asset-hub-eth-rpc.polkadot.io
REDIS_HOST: subscan-redis-essentials-master.db.svc
worker:
replicaCount: 1
image:
tag: "your-custom-tag"
api:
image:
tag: "your-custom-tag"
daemon:
image:
tag: "your-custom-tag"
ui:
image:
tag: "your-custom-tag"
ingress:
subdomains:
- assethub-westend-lite
- assethub-westend-essentials
images:
backend:
repository: "quay.io/subscan-explorer/subscan-essentials"
mainnet: "sha-5775183-33"
testnet: "sha-5775183-33"
ui:
repository: "quay.io/subscan-explorer/subscan-essentials-ui"
tag: "sha-54e17a7-13"
- Supports referencing secrets via
envFrom
- Custom resource limits and pod security context
- Multi-network, multi-instance deployments