chore: Use custom infra similar prometheus image#3062
chore: Use custom infra similar prometheus image#3062
Conversation
|
There was a problem hiding this comment.
Pull request overview
This PR modernizes the local telemetry infrastructure to align with production environments by introducing a Python-based Prometheus configuration generator. This enables seamless import/export of Grafana dashboards between local development and production environments.
Key Changes
- Introduces a custom Prometheus Docker image with Python-based configuration generation
- Updates Grafana datasource configuration to match production UID for dashboard portability
- Standardizes job names and adds network/environment labels for multi-environment support
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
docker/prometheus/Dockerfile |
New custom Prometheus image with Python and PyYAML for dynamic config generation |
docker/prometheus/init.py |
Python script that generates prometheus.yml with consistent labeling (net_name, env_name) |
docker/prometheus/start.sh |
Entrypoint script that runs init.py before starting Prometheus |
docker/telemetry/prometheus.yml |
Generated Prometheus config with standardized job names and relabeling rules |
docker/telemetry/grafana/datasources.yml |
New datasource configuration with hardcoded production UID for dashboard compatibility |
docker/docker-compose.telemetry.yaml |
Updated to use custom Prometheus image and provision Grafana datasources |
docker/README.md |
Documentation for local setup matching production infrastructure |
resources/grafana/sequencer.dashboard.json |
Updated dashboard with consistent datasource UIDs and net_name variable filtering |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
on "user" dir no need for batch prover, light client prover and sequencer dashboards.
if the reason you put them is we are gonna use those dashboards on our local envs (regtest) let's set up a different directory for them
There was a problem hiding this comment.
us developers are not going to use them, only external node runners will use them, so I will just keep full node then
There was a problem hiding this comment.
however I believe people like auditors or someone who wanna dive deep and run the stack locally can still use them?
Description
Using a script similar to one in our production infra for generating prometheus.yml file we can now directly import locally created dashboards into production grafana