fabric-samples/test-network-k8s
Dave Enyeart 67d3c65847
Update test-network-k8s to use two digit version (#668)
Instead of using the Fabric and Fabric CA three digit version (2.4.3),
utilize the two digit version (2.4).
Each time a Fabric/FabricCA release is pushed to dockerhub the two digit version tag is updated.
This approach simplifies maintenance so that scripts don't have to be updated for every
third digit release.

Signed-off-by: David Enyeart <enyeart@us.ibm.com>
2022-03-03 18:16:19 -05:00
..
chaincode Adding examples of CCAAS and support into the test-network-k8s (#527) 2021-12-17 14:09:03 +00:00
config Employs the Kubernetes cert-manager for storage and organization of TLS certificates. (#612) 2022-02-08 09:31:09 +00:00
docs Update test-network-k8s to use two digit version (#668) 2022-03-03 18:16:19 -05:00
kube impl for couchdb supports in test0network8s as hardcode (#651) 2022-02-21 06:07:24 -05:00
scripts impl for couchdb supports in test0network8s as hardcode (#651) 2022-02-21 06:07:24 -05:00
.gitignore Run the fabric test network on Kubernetes (#498) 2021-10-06 15:50:39 +00:00
network Update test-network-k8s to use two digit version (#668) 2022-03-03 18:16:19 -05:00
README.md Employs the Kubernetes cert-manager for storage and organization of TLS certificates. (#612) 2022-02-08 09:31:09 +00:00

Kubernetes Test Network

This project re-establishes the Hyperledger test-network as a cloud native application.

Objectives:

  • Provide a simple, one click activity for running the Fabric test network.
  • Provide a reference guide for deploying production-style networks on Kubernetes.
  • Provide a cloud ready platform for developing chaincode, Gateway, and blockchain apps.
  • Provide a Kube supplement to the Fabric CA Operations and Deployment guides.
  • Support a transition to Chaincode as a Service.
  • Support a transition from the Internal, Docker daemon to External Chaincode builders.
  • Run on any Kube.

Fabric, Ahoy!

Prerequisites

Quickstart

Create a local Kubernetes cluster:

./network kind

Launch the network, create a channel, and deploy the basic-asset-transfer smart contract:

./network up
./network channel create
./network chaincode deploy

Invoke and query chaincode:

./network chaincode invoke '{"Args":["CreateAsset","1","blue","35","tom","1000"]}' 
./network chaincode query '{"Args":["ReadAsset","1"]}'

Access the blockchain with a REST API:

./network rest-easy

Tear down the test network:

./network down 

Tear down the cluster:

./network unkind

Detailed Guides

Areas for Improvement / TODOs

  • Refine the recipe and guidelines for use with k3s / nerdctl (rancherdesktop.io) as an alternative to Docker / KIND.
  • Test the recipe with OCP, AWS, gcp, Azure, etc. (These should ONLY differ w.r.t. pvc and ingress)
  • Address any of the 20+ todo: notes in network.sh
  • Implement mutual TLS across peers, orderers, and clients.
  • Caliper?