Skip to content

Commit

Permalink
infra origin (#126)
Browse files Browse the repository at this point in the history
  • Loading branch information
antiyro authored Jun 4, 2024
1 parent fa2e897 commit c5ad537
Show file tree
Hide file tree
Showing 8 changed files with 1,622 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Next release

- feat(infra): Added boilerplate to deploy a grafana/prometheus dashboard
- refacor: use db hash
- refactor: l2-sync
- refactor: remove crate mp-mapping-sync
Expand Down
17 changes: 17 additions & 0 deletions infra/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM rust:slim-buster

RUN apt-get -y update; \
apt-get install -y --no-install-recommends \
libssl-dev make clang-11 g++ llvm protobuf-compiler libasound2-dev \
pkg-config libz-dev zstd git build-essential; \
apt-get autoremove -y; \
apt-get clean; \
rm -rf /var/lib/apt/lists/*

EXPOSE 9944

COPY . .

RUN cargo build --profile=production

ENTRYPOINT ["./target/production/deoxys"]
128 changes: 128 additions & 0 deletions infra/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
version: "3.8"

services:
deoxys:
build:
context: ../../deoxys
dockerfile: Dockerfile
container_name: deoxys
restart: unless-stopped
ports:
- "9944:9944"
- "9615:9615"
volumes:
- /var/lib/deoxys:/var/lib/deoxys
command:
[
"--deoxys",
"--rpc-port",
"9944",
"--network",
"main",
"--rpc-external",
"--rpc-cors",
"*",
"--rpc-methods",
"Safe",
"--l1-endpoint",
"${DEOXYS_ETHEREUM_API_URL}",
"--rpc-max-connections",
"100",
"--base-path",
"/var/lib/deoxys",
"--prometheus-external",
]

prometheus:
container_name: prometheus
image: prom/prometheus:latest
restart: unless-stopped
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
links:
- cadvisor:cadvisor
- influxdb:influxdb
depends_on:
- cadvisor
- influxdb

node-exporter:
image: quay.io/prometheus/node-exporter:latest
restart: unless-stopped
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
- /:/host:ro,rslave
command:
- "--path.rootfs=/host"
- "--path.procfs=/host/proc"
- "--path.sysfs=/host/sys"
- --collector.filesystem.ignored-mount-points
- "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
ports:
- "9100:9100"

cadvisor:
container_name: cadvisor
image: gcr.io/cadvisor/cadvisor:latest
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- "/:/rootfs"
- "/var/run:/var/run"
- "/sys:/sys"
- "/var/lib/docker/:/var/lib/docker"
- "/dev/disk/:/dev/disk"
privileged: true
devices:
- "/dev/kmsg"

grafana:
image: grafana/grafana
user: "472"
container_name: grafana
ports:
- 3001:3000
restart: unless-stopped
volumes:
- ./grafana/dashboard.yml:/etc/grafana/provisioning/dashboards/main.yml
- ./grafana/dashboards:/var/lib/grafana/dashboards
- ./grafana/datasources/datasource.yml:/etc/grafana/provisioning/datasources/main.yml

influxdb:
container_name: influxdb
image: influxdb:latest
restart: unless-stopped
ports:
- "8086:8086"
volumes:
- ./influxdb:/var/lib/influxdb
environment:
- INFLUXDB_DB=mydb
- INFLUXDB_HTTP_AUTH_ENABLED=true
- INFLUXDB_ADMIN_USER=admin
- INFLUXDB_ADMIN_PASSWORD=adminpassword
- INFLUXDB_USER=user
- INFLUXDB_USER_PASSWORD=userpassword

telegraf:
container_name: telegraf
image: telegraf:latest
restart: unless-stopped
volumes:
- ./telegraf/etc/telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /var/lib/deoxys:/var/lib/deoxys
depends_on:
- influxdb
links:
- influxdb
ports:
- "8125:8125"

networks:
loki-net:
external: true
14 changes: 14 additions & 0 deletions infra/grafana/dashboard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: 1

providers:
- name: "Dashboard Provider"
orgId: 1
folder: ""
folderUid: ""
type: file
disableDeletion: false
updateIntervalSeconds: 10
allowUiUpdates: false
options:
path: /var/lib/grafana/dashboards
foldersFromFilesStructure: true
Loading

0 comments on commit c5ad537

Please sign in to comment.