diff --git a/test-network-k8s/docs/TEST_NETWORK.md b/test-network-k8s/docs/TEST_NETWORK.md index 2a97728e..6f534114 100644 --- a/test-network-k8s/docs/TEST_NETWORK.md +++ b/test-network-k8s/docs/TEST_NETWORK.md @@ -135,7 +135,7 @@ from a public container registry, copying the external builders into the target ```yaml initContainers: - name: fabric-ccs-builder - image: ghcr.io/hyperledgendary/fabric-ccs-builder + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ccs-builder command: [sh, -c] args: ["cp /go/bin/* /var/hyperledger/fabric/chaincode/ccs-builder/bin/"] volumeMounts: diff --git a/test-network-k8s/kube/job-scrub-fabric-volumes.yaml b/test-network-k8s/kube/job-scrub-fabric-volumes.yaml index 2acddc92..ce2b4f48 100644 --- a/test-network-k8s/kube/job-scrub-fabric-volumes.yaml +++ b/test-network-k8s/kube/job-scrub-fabric-volumes.yaml @@ -18,7 +18,7 @@ spec: restartPolicy: "Never" containers: - name: main - image: busybox + image: busybox:latest command: - sh - -c diff --git a/test-network-k8s/kube/org0/org0-admin-cli.yaml b/test-network-k8s/kube/org0/org0-admin-cli.yaml index 85c81343..ad32646b 100644 --- a/test-network-k8s/kube/org0/org0-admin-cli.yaml +++ b/test-network-k8s/kube/org0/org0-admin-cli.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-tools:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-tools:{{FABRIC_VERSION}} imagePullPolicy: IfNotPresent env: - name: FABRIC_CFG_PATH diff --git a/test-network-k8s/kube/org0/org0-ecert-ca.yaml b/test-network-k8s/kube/org0/org0-ecert-ca.yaml index 1e7e8299..094e9671 100644 --- a/test-network-k8s/kube/org0/org0-ecert-ca.yaml +++ b/test-network-k8s/kube/org0/org0-ecert-ca.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} env: - name: FABRIC_CA_SERVER_CA_NAME value: "org0-ecert-ca" diff --git a/test-network-k8s/kube/org0/org0-orderer1.yaml b/test-network-k8s/kube/org0/org0-orderer1.yaml index f3e06d1b..f5c3c702 100644 --- a/test-network-k8s/kube/org0/org0-orderer1.yaml +++ b/test-network-k8s/kube/org0/org0-orderer1.yaml @@ -43,7 +43,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-orderer:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-orderer:{{FABRIC_VERSION}} imagePullPolicy: Always envFrom: - configMapRef: diff --git a/test-network-k8s/kube/org0/org0-orderer2.yaml b/test-network-k8s/kube/org0/org0-orderer2.yaml index f9a1f6eb..9a7188f9 100644 --- a/test-network-k8s/kube/org0/org0-orderer2.yaml +++ b/test-network-k8s/kube/org0/org0-orderer2.yaml @@ -43,7 +43,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-orderer:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-orderer:{{FABRIC_VERSION}} imagePullPolicy: Always envFrom: - configMapRef: diff --git a/test-network-k8s/kube/org0/org0-orderer3.yaml b/test-network-k8s/kube/org0/org0-orderer3.yaml index ba913d2d..b9aa1431 100644 --- a/test-network-k8s/kube/org0/org0-orderer3.yaml +++ b/test-network-k8s/kube/org0/org0-orderer3.yaml @@ -43,7 +43,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-orderer:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-orderer:{{FABRIC_VERSION}} imagePullPolicy: Always envFrom: - configMapRef: diff --git a/test-network-k8s/kube/org0/org0-tls-ca.yaml b/test-network-k8s/kube/org0/org0-tls-ca.yaml index a28649df..abc6237b 100644 --- a/test-network-k8s/kube/org0/org0-tls-ca.yaml +++ b/test-network-k8s/kube/org0/org0-tls-ca.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} env: - name: FABRIC_CA_SERVER_CA_NAME value: "org0-tls-ca" diff --git a/test-network-k8s/kube/org1/org1-admin-cli.yaml b/test-network-k8s/kube/org1/org1-admin-cli.yaml index 5e4f74b9..cfd0c03f 100644 --- a/test-network-k8s/kube/org1/org1-admin-cli.yaml +++ b/test-network-k8s/kube/org1/org1-admin-cli.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-tools:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-tools:{{FABRIC_VERSION}} imagePullPolicy: Always env: - name: FABRIC_CFG_PATH diff --git a/test-network-k8s/kube/org1/org1-ecert-ca.yaml b/test-network-k8s/kube/org1/org1-ecert-ca.yaml index a0c4994a..2f552926 100644 --- a/test-network-k8s/kube/org1/org1-ecert-ca.yaml +++ b/test-network-k8s/kube/org1/org1-ecert-ca.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} env: - name: FABRIC_CA_SERVER_CA_NAME value: "org1-ecert-ca" diff --git a/test-network-k8s/kube/org1/org1-peer1.yaml b/test-network-k8s/kube/org1/org1-peer1.yaml index c913a535..d9a29f8c 100644 --- a/test-network-k8s/kube/org1/org1-peer1.yaml +++ b/test-network-k8s/kube/org1/org1-peer1.yaml @@ -46,7 +46,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-peer:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-peer:{{FABRIC_VERSION}} imagePullPolicy: Always envFrom: - configMapRef: @@ -66,7 +66,7 @@ spec: # load the external chaincode builder into the peer image prior to peer launch. initContainers: - name: fabric-ccs-builder - image: ghcr.io/hyperledgendary/fabric-ccs-builder + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ccs-builder imagePullPolicy: Always command: [sh, -c] args: ["cp /go/bin/* /var/hyperledger/fabric/chaincode/ccs-builder/bin/"] diff --git a/test-network-k8s/kube/org1/org1-peer2.yaml b/test-network-k8s/kube/org1/org1-peer2.yaml index 8c2f85a7..6d739499 100644 --- a/test-network-k8s/kube/org1/org1-peer2.yaml +++ b/test-network-k8s/kube/org1/org1-peer2.yaml @@ -46,7 +46,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-peer:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-peer:{{FABRIC_VERSION}} imagePullPolicy: Always envFrom: - configMapRef: diff --git a/test-network-k8s/kube/org1/org1-tls-ca.yaml b/test-network-k8s/kube/org1/org1-tls-ca.yaml index 71767ff6..d1120498 100644 --- a/test-network-k8s/kube/org1/org1-tls-ca.yaml +++ b/test-network-k8s/kube/org1/org1-tls-ca.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} env: - name: FABRIC_CA_SERVER_CA_NAME value: "org1-tls-ca" diff --git a/test-network-k8s/kube/org2/org2-admin-cli.yaml b/test-network-k8s/kube/org2/org2-admin-cli.yaml index 6839455a..b39edfaf 100644 --- a/test-network-k8s/kube/org2/org2-admin-cli.yaml +++ b/test-network-k8s/kube/org2/org2-admin-cli.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-tools:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-tools:{{FABRIC_VERSION}} imagePullPolicy: IfNotPresent env: - name: FABRIC_CFG_PATH diff --git a/test-network-k8s/kube/org2/org2-ecert-ca.yaml b/test-network-k8s/kube/org2/org2-ecert-ca.yaml index f983a5ae..b6c4a50d 100644 --- a/test-network-k8s/kube/org2/org2-ecert-ca.yaml +++ b/test-network-k8s/kube/org2/org2-ecert-ca.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} env: - name: FABRIC_CA_SERVER_CA_NAME value: "org2-ecert-ca" diff --git a/test-network-k8s/kube/org2/org2-peer1.yaml b/test-network-k8s/kube/org2/org2-peer1.yaml index b77bd70d..609bcaf5 100644 --- a/test-network-k8s/kube/org2/org2-peer1.yaml +++ b/test-network-k8s/kube/org2/org2-peer1.yaml @@ -46,7 +46,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-peer:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-peer:{{FABRIC_VERSION}} imagePullPolicy: IfNotPresent envFrom: - configMapRef: @@ -66,7 +66,7 @@ spec: # load the external chaincode builder into the peer image prior to peer launch. initContainers: - name: fabric-ccs-builder - image: ghcr.io/hyperledgendary/fabric-ccs-builder + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ccs-builder imagePullPolicy: IfNotPresent command: [sh, -c] args: ["cp /go/bin/* /var/hyperledger/fabric/chaincode/ccs-builder/bin/"] diff --git a/test-network-k8s/kube/org2/org2-peer2.yaml b/test-network-k8s/kube/org2/org2-peer2.yaml index e68363c9..871e9ca6 100644 --- a/test-network-k8s/kube/org2/org2-peer2.yaml +++ b/test-network-k8s/kube/org2/org2-peer2.yaml @@ -46,7 +46,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-peer:{{FABRIC_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-peer:{{FABRIC_VERSION}} imagePullPolicy: IfNotPresent envFrom: - configMapRef: diff --git a/test-network-k8s/kube/org2/org2-tls-ca.yaml b/test-network-k8s/kube/org2/org2-tls-ca.yaml index c49222e2..e77fe956 100644 --- a/test-network-k8s/kube/org2/org2-tls-ca.yaml +++ b/test-network-k8s/kube/org2/org2-tls-ca.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: main - image: {{FABRIC_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} + image: {{LOCAL_CONTAINER_REGISTRY}}/fabric-ca:{{FABRIC_CA_VERSION}} env: - name: FABRIC_CA_SERVER_CA_NAME value: "org2-tls-ca" diff --git a/test-network-k8s/network b/test-network-k8s/network index a1008235..ee046cd3 100755 --- a/test-network-k8s/network +++ b/test-network-k8s/network @@ -22,6 +22,7 @@ set -o errexit FABRIC_VERSION=${TEST_NETWORK_FABRIC_VERSION:-2.3.2} FABRIC_CA_VERSION=${TEST_NETWORK_FABRIC_CA_VERSION:-1.5.2} +LOCAL_CONTAINER_REGISTRY=localhost:5000 FABRIC_CONTAINER_REGISTRY=${TEST_NETWORK_FABRIC_CONTAINER_REGISTRY:-hyperledger} NETWORK_NAME=${TEST_NETWORK_NAME:-test-network} CLUSTER_NAME=${TEST_NETWORK_KIND_CLUSTER_NAME:-kind} @@ -34,7 +35,7 @@ LOCAL_REGISTRY_PORT=${TEST_NETWORK_LOCAL_REGISTRY_PORT:-5000} NGINX_HTTP_PORT=${TEST_NETWORK_INGRESS_HTTP_PORT:-80} NGINX_HTTPS_PORT=${TEST_NETWORK_INGRESS_HTTPS_PORT:-443} CHAINCODE_NAME=${TEST_NETWORK_CHAINCODE_NAME:-asset-transfer-basic} -CHAINCODE_IMAGE=${TEST_NETWORK_CHAINCODE_IMAGE:-ghcr.io/hyperledgendary/fabric-ccaas-asset-transfer-basic} +CHAINCODE_IMAGE=${TEST_NETWORK_CHAINCODE_IMAGE:-localhost:5000/fabric-ccaas-asset-transfer-basic} CHAINCODE_LABEL=${TEST_NETWORK_CHAINCODE_LABEL:-basic_1.0} # todo: more complicated config, as these bleed into the yaml descriptors (sed? kustomize? helm (no)? tkn? ansible?...) or other script locations diff --git a/test-network-k8s/scripts/fabric_CAs.sh b/test-network-k8s/scripts/fabric_CAs.sh index a0ee760f..0a167947 100755 --- a/test-network-k8s/scripts/fabric_CAs.sh +++ b/test-network-k8s/scripts/fabric_CAs.sh @@ -8,7 +8,7 @@ function launch_CA() { local yaml=$1 cat ${yaml} \ - | sed 's,{{FABRIC_CONTAINER_REGISTRY}},'${FABRIC_CONTAINER_REGISTRY}',g' \ + | sed 's,{{LOCAL_CONTAINER_REGISTRY}},'${LOCAL_CONTAINER_REGISTRY}',g' \ | sed 's,{{FABRIC_CA_VERSION}},'${FABRIC_CA_VERSION}',g' \ | kubectl -n $NS apply -f - } diff --git a/test-network-k8s/scripts/kind.sh b/test-network-k8s/scripts/kind.sh index 0d4db35d..203d7b9c 100755 --- a/test-network-k8s/scripts/kind.sh +++ b/test-network-k8s/scripts/kind.sh @@ -5,6 +5,38 @@ # SPDX-License-Identifier: Apache-2.0 # +function pull_docker_images() { + push_fn "Pulling docker images for Fabric ${FABRIC_VERSION}" + + docker pull ${FABRIC_CONTAINER_REGISTRY}/fabric-ca:$FABRIC_CA_VERSION + docker pull ${FABRIC_CONTAINER_REGISTRY}/fabric-orderer:$FABRIC_VERSION + docker pull ${FABRIC_CONTAINER_REGISTRY}/fabric-peer:$FABRIC_VERSION + docker pull ${FABRIC_CONTAINER_REGISTRY}/fabric-tools:$FABRIC_VERSION + docker pull ghcr.io/hyperledgendary/fabric-ccs-builder:latest + docker pull ghcr.io/hyperledgendary/fabric-ccaas-asset-transfer-basic:latest + + pop_fn +} + +function push_images_to_local() { + push_fn "Push docker images to local image repository" + + docker tag ${FABRIC_CONTAINER_REGISTRY}/fabric-ca:$FABRIC_CA_VERSION ${LOCAL_CONTAINER_REGISTRY}/fabric-ca:$FABRIC_CA_VERSION + docker push ${LOCAL_CONTAINER_REGISTRY}/fabric-ca:$FABRIC_CA_VERSION + docker tag ${FABRIC_CONTAINER_REGISTRY}/fabric-orderer:$FABRIC_VERSION ${LOCAL_CONTAINER_REGISTRY}/fabric-orderer:$FABRIC_VERSION + docker push ${LOCAL_CONTAINER_REGISTRY}/fabric-orderer:$FABRIC_VERSION + docker tag ${FABRIC_CONTAINER_REGISTRY}/fabric-peer:$FABRIC_VERSION ${LOCAL_CONTAINER_REGISTRY}/fabric-peer:$FABRIC_VERSION + docker push ${LOCAL_CONTAINER_REGISTRY}/fabric-peer:$FABRIC_VERSION + docker tag ${FABRIC_CONTAINER_REGISTRY}/fabric-tools:$FABRIC_VERSION ${LOCAL_CONTAINER_REGISTRY}/fabric-tools:$FABRIC_VERSION + docker push ${LOCAL_CONTAINER_REGISTRY}/fabric-tools:$FABRIC_VERSION + docker tag ghcr.io/hyperledgendary/fabric-ccs-builder:latest ${LOCAL_CONTAINER_REGISTRY}/fabric-ccs-builder:latest + docker push ${LOCAL_CONTAINER_REGISTRY}/fabric-ccs-builder:latest + docker tag ghcr.io/hyperledgendary/fabric-ccaas-asset-transfer-basic:latest ${LOCAL_CONTAINER_REGISTRY}/fabric-ccaas-asset-transfer-basic:latest + docker push ${LOCAL_CONTAINER_REGISTRY}/fabric-ccaas-asset-transfer-basic:latest + + pop_fn +} + function apply_nginx_ingress() { push_fn "Launching Nginx ingress controller" @@ -95,11 +127,6 @@ EOF pop_fn } -function load_kind_image_plane() { - push_fn "Ensuring fabric node images" - pop_fn -} - function kind_delete() { push_fn "Deleting KIND cluster ${CLUSTER_NAME}" @@ -115,6 +142,9 @@ function kind_init() { kind_create apply_nginx_ingress launch_docker_registry + + pull_docker_images + push_images_to_local } function kind_unkind() { diff --git a/test-network-k8s/scripts/test_network.sh b/test-network-k8s/scripts/test_network.sh index 05279609..da0dbb9a 100755 --- a/test-network-k8s/scripts/test_network.sh +++ b/test-network-k8s/scripts/test_network.sh @@ -11,7 +11,7 @@ function launch() { local yaml=$1 cat ${yaml} \ - | sed 's,{{FABRIC_CONTAINER_REGISTRY}},'${FABRIC_CONTAINER_REGISTRY}',g' \ + | sed 's,{{LOCAL_CONTAINER_REGISTRY}},'${LOCAL_CONTAINER_REGISTRY}',g' \ | sed 's,{{FABRIC_VERSION}},'${FABRIC_VERSION}',g' \ | kubectl -n $NS apply -f - } @@ -247,6 +247,9 @@ function stop_services() { function scrub_org_volumes() { push_fn "Scrubbing Fabric volumes" + + # clean job to make this function can be rerun + kubectl -n $NS delete jobs --all # scrub all pv contents kubectl -n $NS create -f kube/job-scrub-fabric-volumes.yaml