-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy pathdemo-teeracle.yml
71 lines (71 loc) · 2.94 KB
/
demo-teeracle.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Teeracle Demo Setup
#
# The demo is parameterized with the interval that the teeracle uses to query its sources.
# Set the `TEERACLE_INTERVAL_SECONDS` variable when invoking, e.g. `TEERACLE_INTERVAL_SECONDS=4 docker compose -f docker-compose.yml -f demo-teeracle.yml up --exit-code-from demo-teeracle`
# This setup requires an API key for CoinMarketCap
# Add the API key to the environment variable `COINMARKETCAP_KEY`, with `export COINMARKETCAP_KEY=<your_key>`
# Set the `ADDITIONAL_RUNTIME_FLAGS` variable to for additional flags.
# To skip remote attestation: `export ADDITIONAL_RUNTIME_FLAG="--skip-ra"`
services:
integritee-teeracle-worker-${VERSION}:
image: integritee-worker:${VERSION:-dev}
hostname: integritee-teeracle-worker
devices:
- "${SGX_PROVISION:-/dev/null}:/dev/sgx/provision"
- "${SGX_ENCLAVE:-/dev/null}:/dev/sgx/enclave"
volumes:
- "${AESMD:-/dev/null}:/var/run/aesmd"
- "${SGX_QCNL:-/dev/null}:/etc/sgx_default_qcnl.conf"
build:
context: ${PWD}/..
dockerfile: build.Dockerfile
target: deployed-worker
depends_on:
integritee-node-${VERSION}:
condition: service_healthy
environment:
- RUST_LOG=warn,ws=warn,sp_io=warn,substrate_api_client=warn,jsonrpsee_ws_client=warn,jsonrpsee_ws_server=warn,enclave_runtime=warn,integritee_service=info,integritee_service::teeracle=debug,ita_stf=warn,ita_exchange_oracle=debug
- COINMARKETCAP_KEY
networks:
- integritee-test-network
healthcheck:
test: curl -s -f http://integritee-teeracle-worker:4645/is_initialized || exit 1
interval: 10s
timeout: 10s
retries: 25
command:
"--clean-reset --ws-external -M integritee-teeracle-worker -T wss://integritee-teeracle-worker
-u ws://integritee-node -U ws://integritee-teeracle-worker -P 2011 -w 2101 -p 9912 -h 4645
run --dev ${ADDITIONAL_RUNTIME_FLAGS} --teeracle-interval ${TEERACLE_INTERVAL_SECONDS}s"
restart: always
demo-teeracle:
image: integritee-cli:${VERSION:-dev}
devices:
- "${SGX_PROVISION:-/dev/null}:/dev/sgx/provision"
- "${SGX_ENCLAVE:-/dev/null}:/dev/sgx/enclave"
volumes:
- "${AESMD:-/dev/null}:/var/run/aesmd"
- "${SGX_QCNL:-/dev/null}:/etc/sgx_default_qcnl.conf"
build:
context: ${PWD}/..
dockerfile: build.Dockerfile
target: deployed-client
depends_on:
integritee-node-${VERSION}:
condition: service_healthy
integritee-teeracle-worker-${VERSION}:
condition: service_healthy
environment:
- RUST_LOG=warn,sp_io=warn,integritee_cli::exchange_oracle=debug
networks:
- integritee-test-network
entrypoint:
"/usr/local/worker-cli/demo_teeracle_whitelist.sh
-u ws://integritee-node -p 9912
-V wss://integritee-teeracle-worker -P 2011
-d 7 -i ${TEERACLE_INTERVAL_SECONDS}
-C /usr/local/bin/integritee-cli 2>&1"
restart: "no"
networks:
integritee-test-network:
driver: bridge