1 Star 0 Fork 0

Hyperledger / grid

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
docker-compose.yaml 12.24 KB
一键复制 编辑 原始数据 按行查看 历史
# Copyright 2017 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ------------------------------------------------------------------------------
version: '2.1'
volumes:
grid-shared:
services:
tnt-contract-builder:
image: tnt-contract-builder:${ISOLATION_ID}
container_name: tnt-contract-builder
build:
context: .
dockerfile: contracts/track_and_trace/Dockerfile
args:
- REPO_VERSION=${REPO_VERSION}
volumes:
- grid-shared:/grid-shared
entrypoint: |
bash -c "
while true; do curl -s http://grid-sawtooth-rest-api:8008/state | grep -q head; if [ $$? -eq 0 ]; then break; fi; sleep 0.5; done;
sabre cr --create grid_track_and_trace --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre upload --filename /tmp/track_and_trace.yaml --key /grid-shared/my_key --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre ns --create a43b46 --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm a43b46 grid_track_and_trace --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee01 grid_track_and_trace --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee05 grid_track_and_trace --key /grid-shared/my_key --read --url http://grid-sawtooth-rest-api:8008 --wait 30
echo '---------========= track and trace contract is loaded =========---------'
"
schema-contract-builder:
image: schema-contract-builder:${ISOLATION_ID}
container_name: schema-contract-builder
build:
context: .
dockerfile: contracts/schema/Dockerfile
args:
- REPO_VERSION=${REPO_VERSION}
volumes:
- grid-shared:/grid-shared
entrypoint: |
bash -c "
while true; do curl -s http://grid-sawtooth-rest-api:8008/state | grep -q head; if [ $$? -eq 0 ]; then break; fi; sleep 0.5; done;
sabre cr --create grid_schema --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre upload --filename /tmp/schema.yaml --key /grid-shared/my_key --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre ns --create 621dee01 --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee01 grid_schema --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee05 grid_schema --key /grid-shared/my_key --read --url http://grid-sawtooth-rest-api:8008 --wait 30
echo '---------========= grid schema contract is loaded =========---------'
"
pike-contract-builder:
image: pike-contract-builder:${ISOLATION_ID}
container_name: pike-contract-builder
build:
context: .
dockerfile: contracts/pike/Dockerfile
args:
- REPO_VERSION=${REPO_VERSION}
volumes:
- grid-shared:/grid-shared
entrypoint: |
bash -c "
while true; do curl -s http://grid-sawtooth-rest-api:8008/state | grep -q head; if [ $$? -eq 0 ]; then break; fi; sleep 0.5; done;
sabre cr --create pike --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre upload --filename /tmp/pike.yaml --key /grid-shared/my_key --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre ns --create 621dee05 --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee05 pike --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
echo '---------========= pike contract is loaded =========---------'
"
product-contract-builder:
image: product-contract-builder:${ISOLATION_ID}
container_name: product-contract-builder
build:
context: .
dockerfile: contracts/product/Dockerfile
args:
- REPO_VERSION=${REPO_VERSION}
volumes:
- grid-shared:/grid-shared
entrypoint: |
bash -c "
while true; do curl -s http://grid-sawtooth-rest-api:8008/state | grep -q head; if [ $$? -eq 0 ]; then break; fi; sleep 0.5; done;
sabre cr --create grid_product --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre upload --filename /tmp/product.yaml --key /grid-shared/my_key --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre ns --create 621dee05 --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre ns --create 621dee01 --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre ns --create 621dee02 --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee05 grid_product --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee01 grid_product --key /grid-shared/my_key --read --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee02 grid_product --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
echo '---------========= grid_product contract is loaded =========---------'
"
location-contract-builder:
image: location-contract-builder:${ISOLATION_ID}
container_name: location-contract-builder
build:
context: .
dockerfile: contracts/location/Dockerfile
args:
- REPO_VERSION=${REPO_VERSION}
volumes:
- grid-shared:/grid-shared
entrypoint: |
bash -c "
while true; do curl -s http://grid-sawtooth-rest-api:8008/state | grep -q head; if [ $$? -eq 0 ]; then break; fi; sleep 0.5; done;
sabre cr --create grid_location --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre upload --filename /tmp/location.yaml --key /grid-shared/my_key --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre ns --create 621dee04 --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee05 grid_location --key /grid-shared/my_key --read --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee01 grid_location --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee04 grid_location --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
echo '---------========= grid_location contract is loaded =========---------'
"
purchase-order-contract-builder:
image: purchase-order-contract-builder:${ISOLATION_ID}
container_name: purchase-order-contract-builder
build:
context: .
dockerfile: contracts/purchase_order/Dockerfile
args:
- REPO_VERSION=${REPO_VERSION}
volumes:
- grid-shared:/grid-shared
entrypoint: |
bash -c "
while true; do curl -s http://grid-sawtooth-rest-api:8008/state | grep -q head; if [ $$? -eq 0 ]; then break; fi; sleep 0.5; done;
sabre cr --create grid_purchase_order --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre upload --filename /tmp/purchase_order.yaml --key /grid-shared/my_key --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre ns --create 621dee06 --key /grid-shared/my_key --owner $$(cat /grid-shared/my_key.pub) --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee05 grid_purchase_order --key /grid-shared/my_key --read --url http://grid-sawtooth-rest-api:8008 --wait 30
sabre perm 621dee06 grid_purchase_order --key /grid-shared/my_key --read --write --url http://grid-sawtooth-rest-api:8008 --wait 30
echo '---------========= grid_purchase_order contract is loaded =========---------'
"
validator:
image: hyperledger/sawtooth-validator:1.1
container_name: grid-sawtooth-validator
expose:
- 4004
ports:
- '4020:4004'
volumes:
- grid-shared:/grid-shared
# start the validator with an empty genesis batch
entrypoint: |
bash -c "
if [ ! -f /etc/sawtooth/keys/validator.priv ]; then
sawadm keygen &&
sawtooth keygen my_key &&
cp /root/.sawtooth/keys/my_key.* /grid-shared &&
sawset genesis -k /root/.sawtooth/keys/my_key.priv &&
sawset proposal create \
-k /root/.sawtooth/keys/my_key.priv \
sawtooth.consensus.algorithm.name=Devmode \
sawtooth.consensus.algorithm.version=0.1 \
-o config.batch &&
sawset proposal create \
-k /root/.sawtooth/keys/my_key.priv \
sawtooth.swa.administrators=$$(cat /grid-shared/my_key.pub) \
-o sabre-admin.batch
sawadm genesis config-genesis.batch config.batch sabre-admin.batch
fi;
sawtooth-validator -vv \
--endpoint tcp://validator:8800 \
--bind component:tcp://eth0:4004 \
--bind network:tcp://eth0:8800 \
--bind consensus:tcp://eth0:5050
"
devmode-engine:
image: hyperledger/sawtooth-devmode-engine-rust:1.1
container_name: sawtooth-devmode-engine-rust-default
depends_on:
- validator
entrypoint: devmode-engine-rust -C tcp://validator:5050
settings-tp:
image: hyperledger/sawtooth-settings-tp:1.1
container_name: grid-sawtooth-settings-tp
depends_on:
- validator
entrypoint: settings-tp -vv -C tcp://validator:4004
rest-api:
image: hyperledger/sawtooth-rest-api:1.1
container_name: grid-sawtooth-rest-api
expose:
- 8008
ports:
- '8024:8008'
depends_on:
- validator
entrypoint: |
sawtooth-rest-api -vv
--connect tcp://validator:4004
--bind rest-api:8008
gridd:
image: gridd:${ISOLATION_ID}
container_name: gridd
build:
context: .
dockerfile: daemon/Dockerfile
args:
- CARGO_ARGS=${CARGO_ARGS}
- REPO_VERSION=${REPO_VERSION}
expose:
- 8080
ports:
- '8080:8080'
entrypoint: |
bash -c "
# we need to wait for the db to have started.
until PGPASSWORD=grid_example psql -h db -U grid -c '\q'; do
>&2 echo \"Database is unavailable - sleeping\"
sleep 1
done
grid -vv database migrate \
-C postgres://grid:grid_example@db/grid &&
gridd -vv -b gridd:8080 -C tcp://validator:4004 \
--database-url postgres://grid:grid_example@db/grid
"
grid-cli:
image: grid-cli:${ISOLATION_ID}
container_name: grid-cli
build:
context: .
dockerfile: cli/Dockerfile
args:
- CARGO_ARGS=${CARGO_ARGS}
- REPO_VERSION=${REPO_VERSION}
entrypoint: |
tail -f /dev/null
sabre-tp:
image: hyperledger/sawtooth-sabre-tp:0.5
container_name: sawtooth-sabre-tp
depends_on:
- validator
entrypoint: sawtooth-sabre -vv --connect tcp://validator:4004
sawtooth-shell:
image: hyperledger/sawtooth-shell:1.1
container_name: grid-sawtooth-shell
command: |
bash -c "
sawtooth keygen &&
tail -f /dev/null
"
db:
image: postgres
restart: always
expose:
- 5432
ports:
- "5432:5432"
environment:
POSTGRES_USER: grid
POSTGRES_PASSWORD: grid_example
POSTGRES_DB: grid
1
https://gitee.com/hyperledger/grid.git
git@gitee.com:hyperledger/grid.git
hyperledger
grid
grid
main

搜索帮助