Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
This commit is contained in:
56
docker/phase2/docker-compose-blockscout.yml
Normal file
56
docker/phase2/docker-compose-blockscout.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
blockscout-db:
|
||||
image: postgres:15
|
||||
container_name: blockscout-db
|
||||
environment:
|
||||
- POSTGRES_USER=blockscout
|
||||
- POSTGRES_PASSWORD=blockscout
|
||||
- POSTGRES_DB=blockscout
|
||||
volumes:
|
||||
- /opt/blockscout/postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
- core
|
||||
restart: unless-stopped
|
||||
|
||||
blockscout:
|
||||
image: blockscout/blockscout:latest
|
||||
container_name: blockscout
|
||||
depends_on:
|
||||
- blockscout-db
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://blockscout:blockscout@blockscout-db:5432/blockscout
|
||||
- ETHEREUM_JSONRPC_HTTP_URL=http://besu:8545
|
||||
- ETHEREUM_JSONRPC_WS_URL=ws://besu:8546
|
||||
- ETHEREUM_JSONRPC_TRACE_URL=http://besu:8545
|
||||
- COIN=ETH
|
||||
- NETWORK=DeFi Oracle Meta Mainnet
|
||||
- SUBNETWORK=Mainnet
|
||||
- BLOCK_TRANSFORMER=base
|
||||
- CHAIN_ID=138
|
||||
- SHOW_ADDRESS_MARKETCAP_PERCENTAGE=true
|
||||
- ENABLE_ACCOUNT_BALANCE_CACHE=true
|
||||
- ENABLE_EXCHANGE_RATES=true
|
||||
- EXCHANGE_RATES_COINGECKO_COIN_ID=ethereum
|
||||
- ENABLE_SOURCIFY_INTEGRATION=true
|
||||
- SOURCIFY_SERVER_URL=https://sourcify.dev/server
|
||||
- SOURCIFY_REPO_URL=https://repo.sourcify.dev/contracts/full_match
|
||||
- ENABLE_TXS_STATS=true
|
||||
- TXS_STATS_DAYS_TO_COMPILE_AT_INIT=1
|
||||
- ENABLE_CORS=true
|
||||
- CORS_ALLOWED_ORIGINS=https://explorer.d-bis.org,https://portfolio.metamask.io,https://metamask.io,https://chainlist.org
|
||||
- ENABLE_TOKEN_METADATA_API=true
|
||||
- TOKEN_METADATA_CACHE_ENABLED=true
|
||||
- TOKEN_METADATA_CACHE_TTL=3600
|
||||
- SECRET_KEY_BASE=change-me-in-production-use-openssl-rand-hex-32
|
||||
ports:
|
||||
- "4000:4000"
|
||||
networks:
|
||||
- core
|
||||
restart: unless-stopped
|
||||
command: ["/bin/sh", "-c", "mix do ecto.create, ecto.migrate && mix phx.server"]
|
||||
|
||||
networks:
|
||||
core:
|
||||
driver: bridge
|
||||
105
docker/phase2/docker-compose.cus.yml
Normal file
105
docker/phase2/docker-compose.cus.yml
Normal file
@@ -0,0 +1,105 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
besu:
|
||||
image: hyperledger/besu:23.10.0
|
||||
container_name: besu-besu-node-0
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 60s
|
||||
volumes:
|
||||
- /opt/besu/data:/data
|
||||
- /opt/besu/config:/config
|
||||
- /opt/besu/keys:/keys:ro
|
||||
- /opt/besu/logs:/logs
|
||||
ports:
|
||||
- "8545:8545"
|
||||
- "8546:8546"
|
||||
- "30303:30303"
|
||||
- "30303:30303/udp"
|
||||
- "9545:9545"
|
||||
command:
|
||||
- --config-file=/config/besu-config.toml
|
||||
networks:
|
||||
- core
|
||||
|
||||
firefly-core-a:
|
||||
image: ghcr.io/hyperledger/firefly:latest
|
||||
container_name: firefly-core-a
|
||||
depends_on:
|
||||
- firefly-postgres
|
||||
environment:
|
||||
- FIREFLY_NAMESPACE=default
|
||||
- FIREFLY_DATABASE_TYPE=postgres
|
||||
- FIREFLY_DATABASE_DSN=postgres://firefly:firefly@firefly-postgres:5432/firefly?sslmode=disable
|
||||
networks:
|
||||
- core
|
||||
|
||||
cacti-core-a:
|
||||
image: cacti/cacti:latest
|
||||
container_name: cacti-core-a
|
||||
depends_on:
|
||||
- cacti-db
|
||||
networks:
|
||||
- core
|
||||
|
||||
chainlink-ccip-a:
|
||||
image: chainlink/chainlink:latest
|
||||
container_name: chainlink-ccip-a
|
||||
networks:
|
||||
- core
|
||||
|
||||
firefly-postgres:
|
||||
image: postgres:15
|
||||
container_name: firefly-postgres
|
||||
environment:
|
||||
- POSTGRES_USER=firefly
|
||||
- POSTGRES_PASSWORD=firefly
|
||||
- POSTGRES_DB=firefly
|
||||
volumes:
|
||||
- /opt/firefly/postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
- core
|
||||
|
||||
cacti-db:
|
||||
image: postgres:15
|
||||
container_name: cacti-db
|
||||
environment:
|
||||
- POSTGRES_USER=cacti
|
||||
- POSTGRES_PASSWORD=cacti
|
||||
- POSTGRES_DB=cacti
|
||||
volumes:
|
||||
- /opt/cacti/postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
- core
|
||||
|
||||
node-exporter:
|
||||
image: prom/node-exporter:latest
|
||||
container_name: node-exporter
|
||||
network_mode: host
|
||||
pid: host
|
||||
restart: unless-stopped
|
||||
|
||||
cadvisor:
|
||||
image: gcr.io/cadvisor/cadvisor:latest
|
||||
container_name: cadvisor
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:ro
|
||||
- /sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
- /cgroup:/cgroup:ro
|
||||
ports:
|
||||
- "8080:8080"
|
||||
|
||||
log-shipper:
|
||||
image: grafana/promtail:latest
|
||||
container_name: log-shipper
|
||||
volumes:
|
||||
- /var/log:/var/log
|
||||
- /opt/promtail/config.yml:/etc/promtail/config.yml:ro
|
||||
|
||||
networks:
|
||||
core:
|
||||
driver: bridge
|
||||
|
||||
97
docker/phase2/docker-compose.eus.yml
Normal file
97
docker/phase2/docker-compose.eus.yml
Normal file
@@ -0,0 +1,97 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
besu:
|
||||
image: hyperledger/besu:23.10.0
|
||||
container_name: besu-besu-node-0
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 60s
|
||||
volumes:
|
||||
- /opt/besu/data:/data
|
||||
- /opt/besu/config:/config
|
||||
- /opt/besu/keys:/keys:ro
|
||||
- /opt/besu/logs:/logs
|
||||
ports:
|
||||
- "8545:8545"
|
||||
- "8546:8546"
|
||||
- "30303:30303"
|
||||
- "30303:30303/udp"
|
||||
- "9545:9545"
|
||||
command:
|
||||
- --config-file=/config/besu-config.toml
|
||||
networks:
|
||||
- core
|
||||
|
||||
firefly-core-b:
|
||||
image: ghcr.io/hyperledger/firefly:latest
|
||||
container_name: firefly-core-b
|
||||
depends_on:
|
||||
- firefly-postgres-primary
|
||||
environment:
|
||||
- FIREFLY_NAMESPACE=default
|
||||
- FIREFLY_DATABASE_TYPE=postgres
|
||||
- FIREFLY_DATABASE_DSN=postgres://firefly:firefly@firefly-postgres-primary:5432/firefly?sslmode=disable
|
||||
networks:
|
||||
- core
|
||||
|
||||
firefly-postgres-primary:
|
||||
image: postgres:15
|
||||
container_name: firefly-postgres-primary
|
||||
environment:
|
||||
- POSTGRES_USER=firefly
|
||||
- POSTGRES_PASSWORD=firefly
|
||||
- POSTGRES_DB=firefly
|
||||
volumes:
|
||||
- /opt/firefly/postgres-primary:/var/lib/postgresql/data
|
||||
networks:
|
||||
- core
|
||||
|
||||
cacti-db-primary:
|
||||
image: postgres:15
|
||||
container_name: cacti-db-primary
|
||||
environment:
|
||||
- POSTGRES_USER=cacti
|
||||
- POSTGRES_PASSWORD=cacti
|
||||
- POSTGRES_DB=cacti
|
||||
volumes:
|
||||
- /opt/cacti/postgres-primary:/var/lib/postgresql/data
|
||||
networks:
|
||||
- core
|
||||
|
||||
chainlink-ccip-b:
|
||||
image: chainlink/chainlink:latest
|
||||
container_name: chainlink-ccip-b
|
||||
networks:
|
||||
- core
|
||||
|
||||
node-exporter:
|
||||
image: prom/node-exporter:latest
|
||||
container_name: node-exporter
|
||||
network_mode: host
|
||||
pid: host
|
||||
restart: unless-stopped
|
||||
|
||||
cadvisor:
|
||||
image: gcr.io/cadvisor/cadvisor:latest
|
||||
container_name: cadvisor
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:ro
|
||||
- /sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
- /cgroup:/cgroup:ro
|
||||
ports:
|
||||
- "8080:8080"
|
||||
|
||||
log-shipper:
|
||||
image: grafana/promtail:latest
|
||||
container_name: log-shipper
|
||||
volumes:
|
||||
- /var/log:/var/log
|
||||
- /opt/promtail/config.yml:/etc/promtail/config.yml:ro
|
||||
|
||||
networks:
|
||||
core:
|
||||
driver: bridge
|
||||
|
||||
103
docker/phase2/docker-compose.eus2.yml
Normal file
103
docker/phase2/docker-compose.eus2.yml
Normal file
@@ -0,0 +1,103 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
besu:
|
||||
image: hyperledger/besu:23.10.0
|
||||
container_name: besu-besu-node-0
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 60s
|
||||
volumes:
|
||||
- /opt/besu/data:/data
|
||||
- /opt/besu/config:/config
|
||||
- /opt/besu/keys:/keys:ro
|
||||
- /opt/besu/logs:/logs
|
||||
ports:
|
||||
- "8545:8545"
|
||||
- "8546:8546"
|
||||
- "30303:30303"
|
||||
- "30303:30303/udp"
|
||||
- "9545:9545"
|
||||
command:
|
||||
- --config-file=/config/besu-config.toml
|
||||
networks:
|
||||
- core
|
||||
|
||||
firefly-dataexchange-a:
|
||||
image: ghcr.io/hyperledger/firefly-dataexchange-https:latest
|
||||
container_name: firefly-dataexchange-a
|
||||
networks:
|
||||
- core
|
||||
|
||||
ipfs:
|
||||
image: ipfs/go-ipfs:latest
|
||||
container_name: ipfs-node
|
||||
volumes:
|
||||
- /opt/ipfs/data:/data/ipfs
|
||||
ports:
|
||||
- "5001:5001"
|
||||
networks:
|
||||
- core
|
||||
|
||||
cacti-db-primary:
|
||||
image: postgres:15
|
||||
container_name: cacti-db-primary
|
||||
environment:
|
||||
- POSTGRES_USER=cacti
|
||||
- POSTGRES_PASSWORD=cacti
|
||||
- POSTGRES_DB=cacti
|
||||
volumes:
|
||||
- /opt/cacti/postgres-primary:/var/lib/postgresql/data
|
||||
networks:
|
||||
- core
|
||||
|
||||
cacti-ui:
|
||||
image: cacti/cacti:latest
|
||||
container_name: cacti-ui
|
||||
depends_on:
|
||||
- cacti-db-primary
|
||||
ports:
|
||||
- "8081:80"
|
||||
networks:
|
||||
- core
|
||||
|
||||
prometheus:
|
||||
image: prom/prometheus:latest
|
||||
container_name: prometheus-primary
|
||||
volumes:
|
||||
- /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
ports:
|
||||
- "9090:9090"
|
||||
networks:
|
||||
- core
|
||||
|
||||
node-exporter:
|
||||
image: prom/node-exporter:latest
|
||||
container_name: node-exporter
|
||||
network_mode: host
|
||||
pid: host
|
||||
restart: unless-stopped
|
||||
|
||||
cadvisor:
|
||||
image: gcr.io/cadvisor/cadvisor:latest
|
||||
container_name: cadvisor
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:ro
|
||||
- /sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
- /cgroup:/cgroup:ro
|
||||
ports:
|
||||
- "8080:8080"
|
||||
|
||||
log-shipper:
|
||||
image: grafana/promtail:latest
|
||||
container_name: log-shipper
|
||||
volumes:
|
||||
- /var/log:/var/log
|
||||
- /opt/promtail/config.yml:/etc/promtail/config.yml:ro
|
||||
|
||||
networks:
|
||||
core:
|
||||
driver: bridge
|
||||
|
||||
97
docker/phase2/docker-compose.wus.yml
Normal file
97
docker/phase2/docker-compose.wus.yml
Normal file
@@ -0,0 +1,97 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
besu:
|
||||
image: hyperledger/besu:23.10.0
|
||||
container_name: besu-besu-node-0
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 60s
|
||||
volumes:
|
||||
- /opt/besu/data:/data
|
||||
- /opt/besu/config:/config
|
||||
- /opt/besu/keys:/keys:ro
|
||||
- /opt/besu/logs:/logs
|
||||
ports:
|
||||
- "8545:8545"
|
||||
- "8546:8546"
|
||||
- "30303:30303"
|
||||
- "30303:30303/udp"
|
||||
- "9545:9545"
|
||||
command:
|
||||
- --config-file=/config/besu-config.toml
|
||||
networks:
|
||||
- core
|
||||
|
||||
firefly-dataexchange-b:
|
||||
image: ghcr.io/hyperledger/firefly-dataexchange-https:latest
|
||||
container_name: firefly-dataexchange-b
|
||||
networks:
|
||||
- core
|
||||
|
||||
prometheus-secondary:
|
||||
image: prom/prometheus:latest
|
||||
container_name: prometheus-secondary
|
||||
volumes:
|
||||
- /opt/prometheus/secondary.yml:/etc/prometheus/prometheus.yml:ro
|
||||
ports:
|
||||
- "9091:9090"
|
||||
networks:
|
||||
- core
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana
|
||||
volumes:
|
||||
- /opt/grafana:/var/lib/grafana
|
||||
ports:
|
||||
- "3000:3000"
|
||||
networks:
|
||||
- core
|
||||
|
||||
alertmanager:
|
||||
image: prom/alertmanager:latest
|
||||
container_name: alertmanager
|
||||
volumes:
|
||||
- /opt/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
|
||||
ports:
|
||||
- "9093:9093"
|
||||
networks:
|
||||
- core
|
||||
|
||||
chainlink-ccip-c:
|
||||
image: chainlink/chainlink:latest
|
||||
container_name: chainlink-ccip-c
|
||||
networks:
|
||||
- core
|
||||
|
||||
node-exporter:
|
||||
image: prom/node-exporter:latest
|
||||
container_name: node-exporter
|
||||
network_mode: host
|
||||
pid: host
|
||||
restart: unless-stopped
|
||||
|
||||
cadvisor:
|
||||
image: gcr.io/cadvisor/cadvisor:latest
|
||||
container_name: cadvisor
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:ro
|
||||
- /sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
- /cgroup:/cgroup:ro
|
||||
ports:
|
||||
- "8080:8080"
|
||||
|
||||
log-shipper:
|
||||
image: grafana/promtail:latest
|
||||
container_name: log-shipper
|
||||
volumes:
|
||||
- /var/log:/var/log
|
||||
- /opt/promtail/config.yml:/etc/promtail/config.yml:ro
|
||||
|
||||
networks:
|
||||
core:
|
||||
driver: bridge
|
||||
|
||||
106
docker/phase2/docker-compose.wus2.yml
Normal file
106
docker/phase2/docker-compose.wus2.yml
Normal file
@@ -0,0 +1,106 @@
|
||||
services:
|
||||
besu:
|
||||
image: hyperledger/besu:23.10.0
|
||||
container_name: besu-besu-node-0
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 60s
|
||||
volumes:
|
||||
- /opt/besu/data:/data
|
||||
- /opt/besu/config:/config
|
||||
- /opt/besu/keys:/keys:ro
|
||||
- /opt/besu/logs:/logs
|
||||
ports:
|
||||
- "8545:8545"
|
||||
- "8546:8546"
|
||||
- "30303:30303"
|
||||
- "30303:30303/udp"
|
||||
- "9545:9545"
|
||||
command:
|
||||
- --config-file=/config/besu-config.toml
|
||||
networks:
|
||||
- core
|
||||
|
||||
loki:
|
||||
image: grafana/loki:2.9.0
|
||||
container_name: loki
|
||||
volumes:
|
||||
- /opt/loki/config.yml:/etc/loki/config.yml:ro
|
||||
- /opt/loki/data:/loki
|
||||
ports:
|
||||
- "3100:3100"
|
||||
networks:
|
||||
- core
|
||||
|
||||
log-ui:
|
||||
image: grafana/grafana:latest
|
||||
container_name: grafana-logs
|
||||
volumes:
|
||||
- /opt/grafana-logs:/var/lib/grafana
|
||||
ports:
|
||||
- "3001:3000"
|
||||
networks:
|
||||
- core
|
||||
|
||||
firefly-postgres-replica:
|
||||
image: postgres:15
|
||||
container_name: firefly-postgres-replica
|
||||
environment:
|
||||
- POSTGRES_USER=firefly
|
||||
- POSTGRES_PASSWORD=firefly
|
||||
- POSTGRES_DB=firefly
|
||||
volumes:
|
||||
- /opt/firefly/postgres-replica:/var/lib/postgresql/data
|
||||
networks:
|
||||
- core
|
||||
|
||||
cacti-db-primary:
|
||||
image: postgres:15
|
||||
container_name: cacti-db-primary
|
||||
environment:
|
||||
- POSTGRES_USER=cacti
|
||||
- POSTGRES_PASSWORD=cacti
|
||||
- POSTGRES_DB=cacti
|
||||
volumes:
|
||||
- /opt/cacti/postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
- core
|
||||
|
||||
cacti-core-b:
|
||||
image: cacti/cacti:latest
|
||||
container_name: cacti-core-b
|
||||
depends_on:
|
||||
- cacti-db-primary
|
||||
networks:
|
||||
- core
|
||||
|
||||
node-exporter:
|
||||
image: prom/node-exporter:latest
|
||||
container_name: node-exporter
|
||||
network_mode: host
|
||||
pid: host
|
||||
restart: unless-stopped
|
||||
|
||||
cadvisor:
|
||||
image: gcr.io/cadvisor/cadvisor:latest
|
||||
container_name: cadvisor
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:ro
|
||||
- /sys:/sys:ro
|
||||
- /var/lib/docker/:/var/lib/docker:ro
|
||||
- /cgroup:/cgroup:ro
|
||||
ports:
|
||||
- "8080:8080"
|
||||
|
||||
log-shipper:
|
||||
image: grafana/promtail:latest
|
||||
container_name: log-shipper
|
||||
volumes:
|
||||
- /var/log:/var/log
|
||||
- /opt/promtail/config.yml:/etc/promtail/config.yml:ro
|
||||
|
||||
networks:
|
||||
core:
|
||||
driver: bridge
|
||||
|
||||
Reference in New Issue
Block a user