From 63cdbbb7f8ddfb54f5b8187790c563cc02d117cf Mon Sep 17 00:00:00 2001 From: Clement Gautier Date: Sat, 17 Nov 2018 12:29:54 +0100 Subject: [PATCH] First attempted "up" --- first-network/byfn.sh | 154 +--------- first-network/deployments/deployment-cli.yaml | 286 ++++++++++++++++++ 2 files changed, 298 insertions(+), 142 deletions(-) create mode 100644 first-network/deployments/deployment-cli.yaml diff --git a/first-network/byfn.sh b/first-network/byfn.sh index 41ed1b8a..0b5d867a 100755 --- a/first-network/byfn.sh +++ b/first-network/byfn.sh @@ -35,20 +35,17 @@ export VERBOSE=false # Print the usage message function printHelp() { echo "Usage: " - echo " byfn.sh [-c ] [-t ] [-d ] [-f ] [-s ] [-l ] [-i ] [-v]" - echo " - one of 'up', 'down', 'restart', 'generate' or 'upgrade'" - echo " - 'up' - bring up the network with docker-compose up" - echo " - 'down' - clear the network with docker-compose down" + echo " byfn.sh [-c ] [-t ] [-d ] [-s ] [-l ] [-v]" + echo " - one of 'up', 'down', 'restart' or 'generate'" + echo " - 'up' - bring up the network with kubectl apply" + echo " - 'down' - clear the network with kubectl delete" echo " - 'restart' - restart the network" echo " - 'generate' - generate required certificates and genesis block" - echo " - 'upgrade' - upgrade the network from version 1.2.x to 1.3.x" echo " -c - channel name to use (defaults to \"mychannel\")" echo " -t - CLI timeout duration in seconds (defaults to 10)" echo " -d - delay duration in seconds (defaults to 3)" - echo " -f - specify which docker-compose file use (defaults to docker-compose-cli.yaml)" echo " -s - the database backend to use: goleveldb (default) or couchdb" echo " -l - the chaincode language: golang (default) or node" - echo " -i - the tag to be used to launch the network (defaults to \"latest\")" echo " -v - verbose mode" echo " byfn.sh -h (print this message)" echo @@ -60,7 +57,6 @@ function printHelp() { echo " byfn.sh up -c mychannel -s couchdb -i 1.2.x" echo " byfn.sh up -l node" echo " byfn.sh down -c mychannel" - echo " byfn.sh upgrade -c mychannel" echo echo "Taking all defaults:" echo " byfn.sh generate" @@ -86,29 +82,6 @@ function askProceed() { esac } -# Obtain CONTAINER_IDS and remove them -# TODO Might want to make this optional - could clear other containers -function clearContainers() { - CONTAINER_IDS=$(docker ps -a | awk '($2 ~ /dev-peer.*.mycc.*/) {print $1}') - if [ -z "$CONTAINER_IDS" -o "$CONTAINER_IDS" == " " ]; then - echo "---- No containers available for deletion ----" - else - docker rm -f $CONTAINER_IDS - fi -} - -# Delete any images that were generated as a part of this setup -# specifically the following images are often left behind: -# TODO list generated image naming patterns -function removeUnwantedImages() { - DOCKER_IMAGE_IDS=$(docker images | awk '($1 ~ /dev-peer.*.mycc.*/) {print $3}') - if [ -z "$DOCKER_IMAGE_IDS" -o "$DOCKER_IMAGE_IDS" == " " ]; then - echo "---- No images available for deletion ----" - else - docker rmi -f $DOCKER_IMAGE_IDS - fi -} - # Versions of fabric known not to work with this release of first-network BLACKLISTED_VERSIONS="^1\.0\. ^1\.1\.0-preview ^1\.1\.0-alpha" @@ -119,7 +92,7 @@ function checkPrereqs() { # Note, we check configtxlator externally because it does not require a config file, and peer in the # docker image because of FAB-8551 that makes configtxlator return 'development version' in docker LOCAL_VERSION=$(configtxlator version | sed -ne 's/ Version: //p') - DOCKER_IMAGE_VERSION=$(docker run --rm hyperledger/fabric-tools:$IMAGETAG peer version | sed -ne 's/ Version: //p' | head -1) + DOCKER_IMAGE_VERSION=$(docker run --rm hyperledger/fabric-tools:1.3.0 peer version | sed -ne 's/ Version: //p' | head -1) echo "LOCAL_VERSION=$LOCAL_VERSION" echo "DOCKER_IMAGE_VERSION=$DOCKER_IMAGE_VERSION" @@ -155,107 +128,22 @@ function networkUp() { replacePrivateKey generateChannelArtifacts fi - if [ "${IF_COUCHDB}" == "couchdb" ]; then - IMAGE_TAG=$IMAGETAG docker-compose -f $COMPOSE_FILE -f $COMPOSE_FILE_COUCH up -d 2>&1 - else - IMAGE_TAG=$IMAGETAG docker-compose -f $COMPOSE_FILE up -d 2>&1 - fi + + kubectl apply -f deployments/deployment-cli.yaml + if [ $? -ne 0 ]; then echo "ERROR !!!! Unable to start network" exit 1 fi + # now run the end to end script - docker exec cli scripts/script.sh $CHANNEL_NAME $CLI_DELAY $LANGUAGE $CLI_TIMEOUT $VERBOSE + echo "kubectl exec cli scripts/script.sh $CHANNEL_NAME $CLI_DELAY $LANGUAGE $CLI_TIMEOUT $VERBOSE" if [ $? -ne 0 ]; then echo "ERROR !!!! Test failed" exit 1 fi } -# Upgrade the network components which are at version 1.2.x to 1.3.x -# Stop the orderer and peers, backup the ledger for orderer and peers, cleanup chaincode containers and images -# and relaunch the orderer and peers with latest tag -function upgradeNetwork() { - if [[ "$IMAGETAG" == *"1.3"* ]] || [[ $IMAGETAG == "latest" ]]; then - docker inspect -f '{{.Config.Volumes}}' orderer.example.com | grep -q '/var/hyperledger/production/orderer' - if [ $? -ne 0 ]; then - echo "ERROR !!!! This network does not appear to be using volumes for its ledgers, did you start from fabric-samples >= v1.2.x?" - exit 1 - fi - - LEDGERS_BACKUP=./ledgers-backup - - # create ledger-backup directory - mkdir -p $LEDGERS_BACKUP - - export IMAGE_TAG=$IMAGETAG - if [ "${IF_COUCHDB}" == "couchdb" ]; then - COMPOSE_FILES="-f $COMPOSE_FILE -f $COMPOSE_FILE_COUCH" - else - COMPOSE_FILES="-f $COMPOSE_FILE" - fi - - # removing the cli container - docker-compose $COMPOSE_FILES stop cli - docker-compose $COMPOSE_FILES up -d --no-deps cli - - echo "Upgrading orderer" - docker-compose $COMPOSE_FILES stop orderer.example.com - docker cp -a orderer.example.com:/var/hyperledger/production/orderer $LEDGERS_BACKUP/orderer.example.com - docker-compose $COMPOSE_FILES up -d --no-deps orderer.example.com - - for PEER in peer0.org1.example.com peer1.org1.example.com peer0.org2.example.com peer1.org2.example.com; do - echo "Upgrading peer $PEER" - - # Stop the peer and backup its ledger - docker-compose $COMPOSE_FILES stop $PEER - docker cp -a $PEER:/var/hyperledger/production $LEDGERS_BACKUP/$PEER/ - - # Remove any old containers and images for this peer - CC_CONTAINERS=$(docker ps | grep dev-$PEER | awk '{print $1}') - if [ -n "$CC_CONTAINERS" ]; then - docker rm -f $CC_CONTAINERS - fi - CC_IMAGES=$(docker images | grep dev-$PEER | awk '{print $1}') - if [ -n "$CC_IMAGES" ]; then - docker rmi -f $CC_IMAGES - fi - - # Start the peer again - docker-compose $COMPOSE_FILES up -d --no-deps $PEER - done - - docker exec cli scripts/upgrade_to_v13.sh $CHANNEL_NAME $CLI_DELAY $LANGUAGE $CLI_TIMEOUT $VERBOSE - if [ $? -ne 0 ]; then - echo "ERROR !!!! Test failed" - exit 1 - fi - else - echo "ERROR !!!! Pass the v1.3.x image tag" - fi -} - -# Tear down running network -function networkDown() { - # stop org3 containers also in addition to org1 and org2, in case we were running sample to add org3 - docker-compose -f $COMPOSE_FILE -f $COMPOSE_FILE_COUCH -f $COMPOSE_FILE_ORG3 down --volumes --remove-orphans - - # Don't remove the generated artifacts -- note, the ledgers are always removed - if [ "$MODE" != "restart" ]; then - # Bring down the network, deleting the volumes - #Delete any ledger backups - docker run -v $PWD:/tmp/first-network --rm hyperledger/fabric-tools:$IMAGETAG rm -Rf /tmp/first-network/ledgers-backup - #Cleanup the chaincode containers - clearContainers - #Cleanup images - removeUnwantedImages - # remove orderer block and other channel configuration transactions and certs - rm -rf channel-artifacts/*.block channel-artifacts/*.tx crypto-config ./org3-artifacts/crypto-config/ channel-artifacts/org3.json - # remove the docker-compose yaml file that was customized to the example - rm -f docker-compose-e2e.yaml - fi -} - # Using docker-compose-e2e-template.yaml, replace constants with private key file names # generated by the cryptogen tool and output a docker-compose.yaml specific to this # configuration @@ -442,17 +330,8 @@ CLI_TIMEOUT=10 CLI_DELAY=3 # channel name defaults to "mychannel" CHANNEL_NAME="mychannel" -# use this as the default docker-compose yaml definition -COMPOSE_FILE=docker-compose-cli.yaml -# -COMPOSE_FILE_COUCH=docker-compose-couch.yaml -# org3 docker compose file -COMPOSE_FILE_ORG3=docker-compose-org3.yaml -# # use golang as the default language for chaincode LANGUAGE=golang -# default image tag -IMAGETAG="latest" # Parse commandline args if [ "$1" = "-m" ]; then # supports old usage, muscle memory is powerful! shift @@ -490,18 +369,12 @@ while getopts "h?c:t:d:f:s:l:i:v" opt; do d) CLI_DELAY=$OPTARG ;; - f) - COMPOSE_FILE=$OPTARG - ;; s) IF_COUCHDB=$OPTARG ;; l) LANGUAGE=$OPTARG ;; - i) - IMAGETAG=$(go env GOARCH)"-"$OPTARG - ;; v) VERBOSE=true ;; @@ -520,20 +393,17 @@ fi # ask for confirmation to proceed askProceed -#Create the network using docker compose if [ "${MODE}" == "up" ]; then networkUp elif [ "${MODE}" == "down" ]; then ## Clear the network - networkDown + kubectl delete -f deployments/deployment-cli.yaml elif [ "${MODE}" == "generate" ]; then ## Generate Artifacts generateCerts replacePrivateKey generateChannelArtifacts elif [ "${MODE}" == "restart" ]; then ## Restart the network - networkDown + kubectl delete -f deployments/deployment-cli.yaml networkUp -elif [ "${MODE}" == "upgrade" ]; then ## Upgrade the network from version 1.2.x to 1.3.x - upgradeNetwork else printHelp exit 1 diff --git a/first-network/deployments/deployment-cli.yaml b/first-network/deployments/deployment-cli.yaml new file mode 100644 index 00000000..d4de9cea --- /dev/null +++ b/first-network/deployments/deployment-cli.yaml @@ -0,0 +1,286 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: hyperledger-cli +spec: + replicas: 1 + selector: + matchLabels: + app: hyperledger-cli + template: + metadata: + labels: + app: hyperledger-cli + spec: + containers: + - name: cli + image: hyperledger/fabric-tools:1.3.0 + imagePullPolicy: IfNotPresent + workingDir: /opt/gopath/src/github.com/hyperledger/fabric/peer + command: [/bin/bash] + env: + - { name: GOPATH, value: "/opt/gopath" } + - { name: CORE_VM_ENDPOINT, value: "unix:///host/var/run/docker.sock" } + - { name: CORE_LOGGING_LEVEL, value: "INFO" } + - { name: CORE_PEER_ID, value: "cli" } + - { name: CORE_PEER_ADDRESS, value: "peer0.org1.example.com:7051" } + - { name: CORE_PEER_LOCALMSPID, value: "Org1MSP" } + - { name: CORE_PEER_TLS_ENABLED, value: "true" } + - { name: CORE_PEER_TLS_CERT_FILE, value: "/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt" } + - { name: CORE_PEER_TLS_KEY_FILE, value: "/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key" } + - { name: CORE_PEER_TLS_ROOTCERT_FILE, value: "/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" } + - { name: CORE_PEER_MSPCONFIGPATH, value: "/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" } + volumeMounts: + - { name: host-var-run, mountPath: /host/var/run/ } + - { name: chaincode, mountPath: /opt/gopath/src/github.com/chaincode } + - { name: crypto-config, mountPath: /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ } + - { name: scripts, mountPath: /opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/ } + - { name: channel-artifacts, mountPath: /opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts } + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + + - name: orderer.example.com + image: hyperledger/fabric-orderer:1.3.0 + imagePullPolicy: IfNotPresent + workingDir: /opt/gopath/src/github.com/hyperledger/fabric + command: + - orderer + ports: + - containerPort: 7050 + env: + - { name: ORDERER_GENERAL_LOGLEVEL, value: "INFO" } + - { name: ORDERER_GENERAL_LISTENADDRESS, value: "0.0.0.0" } + - { name: ORDERER_GENERAL_GENESISMETHOD, value: "file" } + - { name: ORDERER_GENERAL_GENESISFILE, value: "/var/hyperledger/orderer/orderer.genesis.block" } + - { name: ORDERER_GENERAL_LOCALMSPID, value: "OrdererMSP" } + - { name: ORDERER_GENERAL_LOCALMSPDIR, value: "/var/hyperledger/orderer/msp" } + - { name: ORDERER_GENERAL_TLS_ENABLED, value: "true" } + - { name: ORDERER_GENERAL_TLS_PRIVATEKEY, value: "/var/hyperledger/orderer/tls/server.key" } + - { name: ORDERER_GENERAL_TLS_CERTIFICATE, value: "/var/hyperledger/orderer/tls/server.crt" } + - { name: ORDERER_GENERAL_TLS_ROOTCAS, value: "[/var/hyperledger/orderer/tls/ca.crt]" } + volumeMounts: + - { name: channel-artifacts-genesis-block, mountPath: /var/hyperledger/orderer/orderer.genesis.block } + - { name: orderer-msp, mountPath: /etc/hyperledger/fabric/msp } + - { name: orderer-tls, mountPath: /etc/hyperledger/fabric/tls } + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + + - name: peer0.org1.example.com + image: hyperledger/fabric-peer:1.3.0 + imagePullPolicy: IfNotPresent + workingDir: /opt/gopath/src/github.com/hyperledger/fabric/peer + command: ["peer", "node", "start"] + ports: + - containerPort: 7051 + - containerPort: 7053 + env: + - { name: CORE_VM_ENDPOINT, value: "unix:///host/var/run/docker.sock" } + - { name: CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE, value: "net_byfn" } + - { name: CORE_LOGGING_LEVEL, value: "INFO" } + - { name: CORE_PEER_TLS_ENABLED, value: "true" } + - { name: CORE_PEER_GOSSIP_USELEADERELECTION, value: "true" } + - { name: CORE_PEER_GOSSIP_ORGLEADER, value: "false" } + - { name: CORE_PEER_PROFILE_ENABLED, value: "true" } + - { name: CORE_PEER_TLS_CERT_FILE, value: "/etc/hyperledger/fabric/tls/server.crt" } + - { name: CORE_PEER_TLS_KEY_FILE, value: "/etc/hyperledger/fabric/tls/server.key" } + - { name: CORE_PEER_TLS_ROOTCERT_FILE, value: "/etc/hyperledger/fabric/tls/ca.crt" } + - { name: CORE_PEER_ID, value: "peer0.org1.example.com" } + - { name: CORE_PEER_ADDRESS, value: "peer0.org1.example.com:7051" } + - { name: CORE_PEER_GOSSIP_BOOTSTRAP, value: "peer1.org1.example.com:7051" } + - { name: CORE_PEER_GOSSIP_EXTERNALENDPOINT, value: "peer0.org1.example.com:7051" } + - { name: CORE_PEER_LOCALMSPID, value: "Org1MSP" } + volumeMounts: + - { name: host-var-run, mountPath: /host/var/run/ } + - { name: peer0-org1-msp, mountPath: /etc/hyperledger/fabric/msp } + - { name: peer0-org1-tls, mountPath: /etc/hyperledger/fabric/tls } + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + + - name: peer1.org1.example.com + image: hyperledger/fabric-peer:1.3.0 + imagePullPolicy: IfNotPresent + workingDir: /opt/gopath/src/github.com/hyperledger/fabric/peer + command: ["peer", "node", "start"] + ports: + - containerPort: 7051 + - containerPort: 7053 + env: + - { name: CORE_VM_ENDPOINT, value: "unix:///host/var/run/docker.sock" } + - { name: CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE, value: "net_byfn" } + - { name: CORE_LOGGING_LEVEL, value: "INFO" } + - { name: CORE_PEER_TLS_ENABLED, value: "true" } + - { name: CORE_PEER_GOSSIP_USELEADERELECTION, value: "true" } + - { name: CORE_PEER_GOSSIP_ORGLEADER, value: "false" } + - { name: CORE_PEER_PROFILE_ENABLED, value: "true" } + - { name: CORE_PEER_TLS_CERT_FILE, value: "/etc/hyperledger/fabric/tls/server.crt" } + - { name: CORE_PEER_TLS_KEY_FILE, value: "/etc/hyperledger/fabric/tls/server.key" } + - { name: CORE_PEER_TLS_ROOTCERT_FILE, value: "/etc/hyperledger/fabric/tls/ca.crt" } + - { name: CORE_PEER_ID, value: "peer1.org1.example.com" } + - { name: CORE_PEER_ADDRESS, value: "peer1.org1.example.com:7051" } + - { name: CORE_PEER_GOSSIP_BOOTSTRAP, value: "peer1.org1.example.com:7051" } + - { name: CORE_PEER_GOSSIP_EXTERNALENDPOINT, value: "peer1.org1.example.com:7051" } + - { name: CORE_PEER_LOCALMSPID, value: "Org1MSP" } + volumeMounts: + - { name: host-var-run, mountPath: /host/var/run/ } + - { name: peer1-org1-msp, mountPath: /etc/hyperledger/fabric/msp } + - { name: peer1-org1-tls, mountPath: /etc/hyperledger/fabric/tls } + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + + - name: peer0.org2.example.com + image: hyperledger/fabric-peer:1.3.0 + imagePullPolicy: IfNotPresent + workingDir: /opt/gopath/src/github.com/hyperledger/fabric/peer + command: ["peer", "node", "start"] + ports: + - containerPort: 7051 + - containerPort: 7053 + env: + - { name: CORE_VM_ENDPOINT, value: "unix:///host/var/run/docker.sock" } + - { name: CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE, value: "net_byfn" } + - { name: CORE_LOGGING_LEVEL, value: "INFO" } + - { name: CORE_PEER_TLS_ENABLED, value: "true" } + - { name: CORE_PEER_GOSSIP_USELEADERELECTION, value: "true" } + - { name: CORE_PEER_GOSSIP_ORGLEADER, value: "false" } + - { name: CORE_PEER_PROFILE_ENABLED, value: "true" } + - { name: CORE_PEER_TLS_CERT_FILE, value: "/etc/hyperledger/fabric/tls/server.crt" } + - { name: CORE_PEER_TLS_KEY_FILE, value: "/etc/hyperledger/fabric/tls/server.key" } + - { name: CORE_PEER_TLS_ROOTCERT_FILE, value: "/etc/hyperledger/fabric/tls/ca.crt" } + - { name: CORE_PEER_ID, value: "peer0.org2.example.com" } + - { name: CORE_PEER_ADDRESS, value: "peer0.org2.example.com:7051" } + - { name: CORE_PEER_GOSSIP_BOOTSTRAP, value: "peer1.org2.example.com:7051" } + - { name: CORE_PEER_GOSSIP_EXTERNALENDPOINT, value: "peer0.org2.example.com:7051" } + - { name: CORE_PEER_LOCALMSPID, value: "Org2MSP" } + volumeMounts: + - { name: host-var-run, mountPath: /host/var/run/ } + - { name: peer0-org2-msp, mountPath: /etc/hyperledger/fabric/msp } + - { name: peer0-org2-tls, mountPath: /etc/hyperledger/fabric/tls } + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + + - name: peer1.org2.example.com + image: hyperledger/fabric-peer:1.3.0 + imagePullPolicy: IfNotPresent + workingDir: /opt/gopath/src/github.com/hyperledger/fabric/peer + command: ["peer", "node", "start"] + ports: + - containerPort: 7051 + - containerPort: 7053 + env: + - { name: CORE_VM_ENDPOINT, value: "unix:///host/var/run/docker.sock" } + - { name: CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE, value: "net_byfn" } + - { name: CORE_LOGGING_LEVEL, value: "INFO" } + - { name: CORE_PEER_TLS_ENABLED, value: "true" } + - { name: CORE_PEER_GOSSIP_USELEADERELECTION, value: "true" } + - { name: CORE_PEER_GOSSIP_ORGLEADER, value: "false" } + - { name: CORE_PEER_PROFILE_ENABLED, value: "true" } + - { name: CORE_PEER_TLS_CERT_FILE, value: "/etc/hyperledger/fabric/tls/server.crt" } + - { name: CORE_PEER_TLS_KEY_FILE, value: "/etc/hyperledger/fabric/tls/server.key" } + - { name: CORE_PEER_TLS_ROOTCERT_FILE, value: "/etc/hyperledger/fabric/tls/ca.crt" } + - { name: CORE_PEER_ID, value: "peer1.org2.example.com" } + - { name: CORE_PEER_ADDRESS, value: "peer1.org2.example.com:7051" } + - { name: CORE_PEER_GOSSIP_BOOTSTRAP, value: "peer1.org2.example.com:7051" } + - { name: CORE_PEER_GOSSIP_EXTERNALENDPOINT, value: "peer1.org2.example.com:7051" } + - { name: CORE_PEER_LOCALMSPID, value: "Org2MSP" } + volumeMounts: + - { name: host-var-run, mountPath: /host/var/run/ } + - { name: peer1-org2-msp, mountPath: /etc/hyperledger/fabric/msp } + - { name: peer1-org2-tls, mountPath: /etc/hyperledger/fabric/tls } + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + + volumes: + - name: host-var-run + hostPath: + path: /var/run/ + type: Directory + - name: channel-artifacts-genesis-block + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/channel-artifacts/genesis.block + type: File + - name: orderer-msp + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp + type: Directory + - name: orderer-tls + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls + type: Directory + - name: peer0-org1-msp + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp + type: Directory + - name: peer0-org1-tls + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls + type: Directory + - name: peer1-org1-msp + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp + type: Directory + - name: peer1-org1-tls + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls + type: Directory + - name: peer0-org2-msp + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp + type: Directory + - name: peer0-org2-tls + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls + type: Directory + - name: peer1-org2-msp + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp + type: Directory + - name: peer1-org2-tls + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls + type: Directory + - name: chaincode + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/chaincode + type: Directory + - name: crypto-config + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/crypto-config + type: Directory + - name: scripts + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/scripts + type: Directory + - name: channel-artifacts + hostPath: + path: /hosthome/clement/Projects/owkin/fabric-samples/first-network/channel-artifacts + type: Directory