fabric-samples/test-network-nano-bash/external_builders/golang/bin/run
Chris Elder 3622a5e383 Add chaincode logging for binary chaincode in test-network-nano-bash
- Correct sh compability in ca_utils.sh
- Correct linux compatibility in external builder

Signed-off-by: Chris Elder <celder628@gmail.com>
Signed-off-by: Chris Elder <celder@Chriss-MacBook-Pro.local>
2024-06-14 13:10:53 -04:00

56 lines
1.9 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# SPDX-License-Identifier: Apache-2.0
#
set -xeuo pipefail
exec 1>&2
BUILD_OUTPUT_DIR="$1"
RUN_METADATA_DIR="$2"
LOG_DIRECTORY=${PWD}/logs
#######################################
# Export environment variables and extract certificate files from chaincode.json
# Globals:
# None
# Arguments:
# METADATA_DIR: Location of the chaincode.json file
# Returns:
# None
#######################################
function process_chaincode_metadata_json {
local METADATA_DIR=${RUN_METADATA_DIR}
CORE_CHAINCODE_ID_NAME="$(jq -r .chaincode_id "$METADATA_DIR/chaincode.json")"
CORE_PEER_ADDRESS="$(jq -r .peer_address "$METADATA_DIR/chaincode.json")"
CORE_PEER_LOCALMSPID="$(jq -r .mspid "$METADATA_DIR/chaincode.json")"
export CORE_CHAINCODE_ID_NAME
export CORE_PEER_ADDRESS
export CORE_PEER_LOCALMSPID
if [ -z "$(jq -r .client_cert "$METADATA_DIR/chaincode.json")" ]; then
CORE_PEER_TLS_ENABLED="false"
export CORE_PEER_TLS_ENABLED
else
CORE_PEER_TLS_ENABLED="true"
CORE_TLS_CLIENT_CERT_FILE="$BUILD_OUTPUT_DIR/client.crt"
CORE_TLS_CLIENT_KEY_FILE="$BUILD_OUTPUT_DIR/client.key"
CORE_PEER_TLS_ROOTCERT_FILE="$BUILD_OUTPUT_DIR/root.crt"
export CORE_PEER_TLS_ENABLED
export CORE_TLS_CLIENT_CERT_FILE
export CORE_TLS_CLIENT_KEY_FILE
export CORE_PEER_TLS_ROOTCERT_FILE
jq -r .client_cert "$METADATA_DIR/chaincode.json" >"$CORE_TLS_CLIENT_CERT_FILE"
jq -r .client_key "$METADATA_DIR/chaincode.json" >"$CORE_TLS_CLIENT_KEY_FILE"
jq -r .root_cert "$METADATA_DIR/chaincode.json" >"$CORE_PEER_TLS_ROOTCERT_FILE"
fi
}
# extract the required environment variables
process_chaincode_metadata_json
# output for debug purposes
env | grep CORE | sort
exec "${BUILD_OUTPUT_DIR}/chaincode" -peer.address="${CORE_PEER_ADDRESS}" > ${LOG_DIRECTORY}/${CORE_CHAINCODE_ID_NAME}.log 2>&1