You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for exporter/indexer/explorer stack deployment (#4850)
## Motivation
Deploying the exporter/indexer/explorer stack requires careful
dependency ordering and runtime checks:
1. **Exporters need database to exist** before starting (ScyllaDB must
be initialized)
2. **Exporters need indexer to be ready** before attempting connections
3. **Indexer image needs linera CLI** to perform database checks
4. **Configuration needs flexibility** to support both internal cluster
DNS and external endpoints with TLS
Without these capabilities, deployments fail with race conditions where
exporters start before dependencies are ready, causing crash loops and
manual intervention.
## Proposal
Add comprehensive deployment support through init containers that wait
for dependencies, include linera CLI in the indexer image for database
checks, and make indexer endpoints configurable to support both internal
and external deployments with automatic TLS handling.
## Test Plan
1. Deploy fresh network with exporter/indexer/explorer stack:
- Verify ScyllaDB init container waits for database
- Verify indexer readiness init container waits for indexer
- Confirm exporters start only after both checks pass
2. Test with external indexer endpoint:
- Configure `blockExporter.indexerEndpoint` with external URL
- Verify TLS configuration is applied
- Confirm connectivity works
3. Test failure scenarios:
- Deploy without indexer, verify exporter init container retries
indefinitely
- Kill indexer, verify exporters restart and wait for it to return
## Release Plan
- These changes should be backported to the latest `testnet` branch,
then
- be released in a validator hotfix.
0 commit comments