From 6f1fc41aad63ecc92447a63d3188cd99558427df Mon Sep 17 00:00:00 2001 From: CaiHQ Date: Thu, 21 Apr 2022 10:18:48 +0800 Subject: [PATCH] feat: support createParam feat: docker script --- agent-backend | 2 +- build.gradle | 2 +- cm | 2 +- common | 2 +- docker/AgentDockerfile | 4 +- docker/ClusterDockerfile | 4 +- docker/{dockerdist => deploy}/README.md | 19 +++++---- .../deploy/bdcontract/cmconfig.json.template | 23 ++++++++++ docker/deploy/bdcontract/cmvar.json | 6 +++ docker/deploy/bdcontract/generateKeyPair.sh | 3 ++ docker/deploy/bdledger/config.yml | 42 +++++++++++++++++++ docker/deploy/docker-compose.yml | 32 ++++++++++++++ docker/deploy/init.sh | 12 ++++++ docker/{dockerdist => deploy}/start.sh | 6 +-- front-base | 2 +- 15 files changed, 142 insertions(+), 19 deletions(-) rename docker/{dockerdist => deploy}/README.md (71%) create mode 100644 docker/deploy/bdcontract/cmconfig.json.template create mode 100644 docker/deploy/bdcontract/cmvar.json create mode 100644 docker/deploy/bdcontract/generateKeyPair.sh create mode 100644 docker/deploy/bdledger/config.yml create mode 100644 docker/deploy/docker-compose.yml create mode 100755 docker/deploy/init.sh rename docker/{dockerdist => deploy}/start.sh (80%) diff --git a/agent-backend b/agent-backend index 0a24986..5a4fdb8 160000 --- a/agent-backend +++ b/agent-backend @@ -1 +1 @@ -Subproject commit 0a24986907ecd6c296d22c35160ecd631b9ff0e1 +Subproject commit 5a4fdb8a13f4eb60d7cf63c040b53be81392ea45 diff --git a/build.gradle b/build.gradle index d2b86f2..016ee6e 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ plugins { id 'java' id 'idea' } -def currVersion = "1.6.6" +def currVersion = "1.7.4" ext.projectIds = ['group': 'com.bdware.sc', 'version': currVersion] sourceCompatibility = 1.8 diff --git a/cm b/cm index 32cc66d..71fa74a 160000 --- a/cm +++ b/cm @@ -1 +1 @@ -Subproject commit 32cc66dad162252eb17b695720e24aca80ebee0b +Subproject commit 71fa74ac14383644e50177ca6512d69a368eb023 diff --git a/common b/common index 2d6c0e4..8bf4b1c 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 2d6c0e4874490b44d15e77c32ae26a36af9ef9fd +Subproject commit 8bf4b1c57d6899c25cde54782e8a3613a30fe506 diff --git a/docker/AgentDockerfile b/docker/AgentDockerfile index 6ff1012..a7eeba2 100644 --- a/docker/AgentDockerfile +++ b/docker/AgentDockerfile @@ -4,9 +4,9 @@ ARG GOPRIVATE=bdware.org/* ARG GOPROXY=https://goproxy.cn LABEL maintainer="caihuaqian@internetapi.cn" -LABEL org.bdware.version="1.6.6" +LABEL org.bdware.version="1.7.4" LABEL org.bdware.version.isproduction="true" -LABEL org.bdware.release-date="1.7.0" +LABEL org.bdware.release-date="2022-04-19" COPY ./output /bdcontract WORKDIR /bdcontract diff --git a/docker/ClusterDockerfile b/docker/ClusterDockerfile index 42e7977..5aa971a 100644 --- a/docker/ClusterDockerfile +++ b/docker/ClusterDockerfile @@ -4,9 +4,9 @@ ARG GOPRIVATE=bdware.org/* ARG GOPROXY=https://goproxy.cn LABEL maintainer="caihuaqian@internetapi.cn" -LABEL org.bdware.version="1.6.6" +LABEL org.bdware.version="1.7.4" LABEL org.bdware.version.isproduction="false" -LABEL org.bdware.release-date="1.7.0" +LABEL org.bdware.release-date="2022-04-19" COPY ./output /bdcluster WORKDIR /bdcluster diff --git a/docker/dockerdist/README.md b/docker/deploy/README.md similarity index 71% rename from docker/dockerdist/README.md rename to docker/deploy/README.md index 890f9e1..4c430bd 100644 --- a/docker/dockerdist/README.md +++ b/docker/deploy/README.md @@ -1,24 +1,29 @@ +本目录支持两种 + # 镜像准备 请提前熟悉docker常用命令,主要包括`docker ps`、`docker image xx`、`docker kill`等。 1. 下载或导入镜像: ```bash #下载镜像 -docker pull bdware/bdcontract:latest -#导入镜像,bdcontract-x.x.x.tar为待导入镜像文件。 -docker load -i bdcontract-x.x.x.tar +docker-compose pull +#或者是导入镜像,bdcontract-x.x.x.tar为待导入镜像文件。 +#docker load -i bdcontract-x.x.x.tar ``` 2. 检查是否有"bdware/bdcontract:latest"镜像。 ```bash docker image ls | grep bdcontract ``` 如果没有名为"bdware/bdcontract latest"的镜像,就将其中的最新版本打上。 +```bash docker image tag bdware/bdcontract:x.y.z bdware/bdcontract:latest +``` + +3.执行`init.sh`,创建一些初始化需要的目录。 # 修改配置 -1. 生成管理员密钥对。 将公钥配置到manager.key中。 格式为单行130个字符。类似于 -``` -04dad765858... -``` +1.复制或链接`cp`至`./bdcontract`(包括lib目录,yjs.jar) + +2.修改`./bdcontract/cmvar.json` 也可利用cp目录下的jar包自己生成: ```bash diff --git a/docker/deploy/bdcontract/cmconfig.json.template b/docker/deploy/bdcontract/cmconfig.json.template new file mode 100644 index 0000000..b78f24c --- /dev/null +++ b/docker/deploy/bdcontract/cmconfig.json.template @@ -0,0 +1,23 @@ +{ + "cmi": "_CMI", + "debug": "", + "disableDoRepo": false, + "disableLocalLhs": false, + "doipCertPath": "", + "doipLhsAddress": "", + "doipPort": 21032, + "doipUserHandle": "", + "enableEventPersistence": false, + "enableSsl": "./ssl/chained.pem:./ssl/domain.pem", + "ip": "127.0.0.1", + "isLAN": true, + "overwrite": false, + "servicePort": 21030, + "textFileSuffixes": ".yjs,.json,.txt,.css,.js,.html,.md,.conf,.csv", + "withBdledgerClient": "./runnable/bdledger_mac", + "withBdledgerServer": false, + "consistencyPlugins": "/bdcontract/nosuchlib/custom-plugin.jar", + "startContract": [ + ], + "datachainConf": "_LEDGERHOST:_LEDGERPORT" +} \ No newline at end of file diff --git a/docker/deploy/bdcontract/cmvar.json b/docker/deploy/bdcontract/cmvar.json new file mode 100644 index 0000000..255fb08 --- /dev/null +++ b/docker/deploy/bdcontract/cmvar.json @@ -0,0 +1,6 @@ +{ + "_HOSTIP": "127.0.0.1", + "_PREFIX": "macjw.zbfz", + "_LEDGERPORT": "2401", + "_LEDGERHOST": "bdledger" +} \ No newline at end of file diff --git a/docker/deploy/bdcontract/generateKeyPair.sh b/docker/deploy/bdcontract/generateKeyPair.sh new file mode 100644 index 0000000..bbd5b1f --- /dev/null +++ b/docker/deploy/bdcontract/generateKeyPair.sh @@ -0,0 +1,3 @@ +#!/bin/bash +java -cp cp/libs/*:cp/yjs.jar org.bdware.sc.SM2Helper generateKeyToFile +java -cp cp/libs/*:cp/yjs.jar org.bdware.sc.SM2Helper generateCMConfig \ No newline at end of file diff --git a/docker/deploy/bdledger/config.yml b/docker/deploy/bdledger/config.yml new file mode 100644 index 0000000..98b394b --- /dev/null +++ b/docker/deploy/bdledger/config.yml @@ -0,0 +1,42 @@ +node: + id: acb1cc2a7013ec8a7ea7eee0ec6f835851dd8e91 + +api: + grpc: + addr: :2401 + http: + enabled: true + +datastore: + source: /data/block + +p2p: + identity: + peerId: QmeG9PE8NQ7q8M6xiovVp9u1UjZZWc8Wom1K5MomJgLuWs + privKey: CAASqQkwggSlAgEAAoIBAQDAb0X3U2HjgoUniXH8EMs6L8FHGU63BahbY+/7GjnVFXe0bSuPlpaUC2Twmhulvad/1nSCuF178UYoYQ6Qz1AwBl4IiZmQxhSXdZPEXrN3WnC70rrkMMQxz7sjevyEXm9EIUo4Hepxlvd6PlTHUaYOW4TXSsv5JqoZW4+itxane/tOCCpFM/ppftpz3N5RxO181mczm6cljHcShZXkHSxo0nn3sHSqixqbzv+c0x/c5YP+aue3MJX2IjODGEY1a3x3HwCmwK3IgUSKWyZk480codWeO/5JFLNKzlXzWAu2GG7v2MF1h3Fa4lwEGdCLILY2Ux9d+M3wRvoz7ZWYn0CTAgMBAAECggEALLgvLEDGWNa2FvAL+yXz9HuwkNNCxamc7FAXLuVzVx98CAPuwZmfOJxFQtytXCDs0fqGbPJnVyxEv5F+jwx+eAqiw50mgMxncKM0ScgwMKZl2GAqamkizuiVdrNYB3LirJSH6O6a0vbgYBooHYHN8zw1bMrHCAmCMg5jHM8rhpQTp22VIa4YxlQDUAQdvuN4ilIXxwiyxTpbQobH4hVmwwoeU65sbFSZQ219d/KXPkK1l9c3OGf9KTPWzG3uq2lx2BKrJ3TMZYdiGBDKc89m6TnOidVB5jC5VKT8S4idKUQocMcg8eMYEWtR/0YgS0YC0FBhmpHfiam/kJ0mc+L6YQKBgQD2CBwi8kwBqJISM9kOAu7k2vDTB6eb83YWaSq4aQ/AYKvtfUHLz9Ekx+EjPmtMIfvxvJ86NEuCK64Ag4I943dCEyZYE00xBL/Zwark0LxgIuR8tSkxlPoErUmFdLELqIsUJS4Izu8lkPXE6PSxDZMe2Klq0Nd7wVglgjHxpcotOwKBgQDIOz6NEW54F0amGATtVj7DUN36wSQwE2AX5cyWZeKcvJixKKCdLSPln6QFW7+vI7vR4umUcFFEUKO8HwGojcq4+EjiOn/CppQ1GwD2xNXKFiJ5Sl3wpnqARFNHj3rH8l3kI3V5qt0c0OSzKr3bMGUdKNREUaKlqg20e3YznSZkiQKBgQCEnPh1ib6YQkGB2DqNx9z2tGCMjxqz/7XN/J/PSKn52uGxIAvgDMNBnQ9oTNPO9J51vWLiH5/3qQ2gL0J7k2kLz4CihrzbyCCVAkPYE/8Fnqkj4w4yMIfXD4SKj8yCaTWWBThb/RaAXDNtENgbuyJqxQQElE8h4KRfi17aTq+8UwKBgQCONyYSZBMmUMHpLp4xRFSHvWQsugnN67UQxDMvj2YJFRsOmWCawnkAmwaQl73p02OPi6+DstLFxtDEyPEQmsUl45NAu3QK+O3DWk6w9tUyF86cf2mBh3zypZTQ+uOmKErvww+pPuaVlPkbGHyItjLbJyi87Y6sQ8BANICb4D5ooQKBgQDHC6rQTaGIaOgAQzBzFPdi2foFEXTr9zpp0iVYdTFJr68OhROEkzQetHdk5MYR6SWjf3wQk34GDUqtVXNzoIhUkD6P83QCZKmsrkvYiQH0aXjAmjLpcDvSgUFCxS8NcaHKeDNLHw3SH8zh0zDFE1vlXdYzittDjmnYPGEEJzrUlg== + addresses: + swarm: + - /ip4/0.0.0.0/tcp/2416 + - /ip4/0.0.0.0/udp/2416/quic + bootstrap: + - /ip4/127.0.0.1/tcp/2416/p2p/QmeG9PE8NQ7q8M6xiovVp9u1UjZZWc8Wom1K5MomJgLuWs + pubsub: + router: gossipsub + heartbeatInterval: 10000 + +query: + maxDuration: 3600 # seconds + maxRequestLifetime: 3.0 # seconds + waitReservedTime: 1.0 # seconds + +nrw: + numWitness: 0 + numBackup: 0 + txsPerBlock: 1000 + blockGenCycle: 30000 + requestTimeout: 16 + messageTimeout: 5 + +log: + format: text + level: INFO diff --git a/docker/deploy/docker-compose.yml b/docker/deploy/docker-compose.yml new file mode 100644 index 0000000..770b5b6 --- /dev/null +++ b/docker/deploy/docker-compose.yml @@ -0,0 +1,32 @@ +version: "3" + +services: + bdledger: + image: bdware/bdledger:dev-210909.874f034d + command: "-c /etc/bdledger/config.yml" + restart: unless-stopped + volumes: + - ./bdledger/config.yml:/etc/bdledger/config.yml:ro + - .//bdledger/data:/data + ports: + - "2416:2416" # P2P + - "2401:2401" # API + bdcontract: + image: bdware/bdcontract:latest + command: "-Dfile.encoding=UTF-8 -Djava.library.path='./dynamicLibrary' -cp ./libs/*:bdagent.jar org.bdware.server.CMHttpServer" + restart: unless-stopped + depends_on: + - bdledger + volumes: + - ./bdcontract/rocksdb:/bdcontract/rocksdb + - ./bdcontract/ContractDB:/bdcontract/ContractDB + - ./bdcontract/ContractManagerDB:/bdcontract/ContractManagerDB + - ./bdcontract/BDWareProjectDir:/bdcontract/BDWareProjectDir + - ./bdcontract/cmconfig.json:/bdcontract/cmconfig.json:ro + - ./bdcontract/cp:/bdcontract/cp + - ./bdcontract/tls:/bdcontract/tls:ro + ports: + - "21030:21030" # Contract manager API + - "21031:21031" # Contract manager master + - "21032:21032" # DOA + - "21033:21033" # Prometheus exporter \ No newline at end of file diff --git a/docker/deploy/init.sh b/docker/deploy/init.sh new file mode 100755 index 0000000..9d50b31 --- /dev/null +++ b/docker/deploy/init.sh @@ -0,0 +1,12 @@ +#!/bin/sh +set -a +#source ./.env +set +a + +mkdir -p \ +./bdcontract/rocksdb \ +./bdcontract/ContractDB \ +./bdcontract/ContractManagerDB \ +./bdcontract/ssl \ +./bdcontract/BDWareProjectDir \ +./bdledger/data \ No newline at end of file diff --git a/docker/dockerdist/start.sh b/docker/deploy/start.sh similarity index 80% rename from docker/dockerdist/start.sh rename to docker/deploy/start.sh index 9b8beec..519326a 100755 --- a/docker/dockerdist/start.sh +++ b/docker/deploy/start.sh @@ -24,12 +24,12 @@ if [ ! -d "./cp" ]; then exit 1 fi -export CURDIR=`pwd` +export CURDIR=`pwd`/bdcontract -docker run -p 21030:21030 -p 2641:2641 -p 2041:2041 -v $CURDIR/BDWareProjectDir:/bdcontract/BDWareProjectDir \ +docker run -p 21030-21033:21030-21033 -v $CURDIR/BDWareProjectDir:/bdcontract/BDWareProjectDir \ -v $CURDIR/ContractDB:/bdcontract/ContractDB \ -v $CURDIR/ContractManagerDB:/bdcontract/ContractManagerDB \ - -v $CURDIR/cmconfig.conf:/bdcontract/cmconfig.conf \ + -v $CURDIR/cmconfig.json:/bdcontract/cmconfig.json \ -v $CURDIR/cp:/bdcontract/cp: \ -v $CURDIR/keys:/bdcontract/keys: \ -v $CURDIR/log:/bdcontract/log \ diff --git a/front-base b/front-base index 87ddb79..19a033c 160000 --- a/front-base +++ b/front-base @@ -1 +1 @@ -Subproject commit 87ddb79d832791b78743807ca55477fceea49d24 +Subproject commit 19a033c69983253129ede0fe0f79bd25e36a39d6