First attempted "up"

This commit is contained in:
Clement Gautier 2018-11-17 12:29:54 +01:00
parent 53ae435304
commit 63cdbbb7f8
No known key found for this signature in database
GPG key ID: E2826F5E3BDBEC50
2 changed files with 298 additions and 142 deletions

View file

@ -35,20 +35,17 @@ export VERBOSE=false
# Print the usage message
function printHelp() {
echo "Usage: "
echo " byfn.sh <mode> [-c <channel name>] [-t <timeout>] [-d <delay>] [-f <docker-compose-file>] [-s <dbtype>] [-l <language>] [-i <imagetag>] [-v]"
echo " <mode> - 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 <mode> [-c <channel name>] [-t <timeout>] [-d <delay>] [-s <dbtype>] [-l <language>] [-v]"
echo " <mode> - 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> - channel name to use (defaults to \"mychannel\")"
echo " -t <timeout> - CLI timeout duration in seconds (defaults to 10)"
echo " -d <delay> - delay duration in seconds (defaults to 3)"
echo " -f <docker-compose-file> - specify which docker-compose file use (defaults to docker-compose-cli.yaml)"
echo " -s <dbtype> - the database backend to use: goleveldb (default) or couchdb"
echo " -l <language> - the chaincode language: golang (default) or node"
echo " -i <imagetag> - 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

View file

@ -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