├── .coveragerc ├── .gitignore ├── .travis.yml ├── LICENSE ├── MANIFEST.in ├── README.md ├── cosmic_ray_config.yaml ├── docs ├── Makefile ├── conf.py ├── index.rst ├── readme.rst └── source │ ├── modules.rst │ ├── nephos.composer.rst │ ├── nephos.fabric.rst │ ├── nephos.helpers.rst │ └── nephos.rst ├── examples ├── ca-nephos-local.crt ├── ca-nephos-local.key ├── ca-nephos-local.pem ├── ca-tls-nephos-local.crt ├── ca-tls-nephos-local.key ├── ca-tls-nephos-local.pem ├── certManagerCI_production.yaml ├── certManagerCI_staging.yaml ├── dev-tls │ ├── config │ │ ├── configtx.yaml │ │ └── crypto-config.yaml │ ├── crypto │ │ └── crypto-config │ │ │ ├── ordererOrganizations │ │ │ └── alpha.svc.cluster.local │ │ │ │ ├── ca │ │ │ │ ├── 9e8c4c0a07a9d6c7fa9f1047cd3d237e63795bfa0ddf13d8a62b5370bc6a8cbc_sk │ │ │ │ └── ca.alpha.svc.cluster.local-cert.pem │ │ │ │ ├── msp │ │ │ │ ├── admincerts │ │ │ │ │ └── Admin@alpha.svc.cluster.local-cert.pem │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.alpha.svc.cluster.local-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.alpha.svc.cluster.local-cert.pem │ │ │ │ ├── orderers │ │ │ │ └── ord1-hlf-ord.alpha.svc.cluster.local │ │ │ │ │ ├── msp │ │ │ │ │ ├── admincerts │ │ │ │ │ │ └── Admin@alpha.svc.cluster.local-cert.pem │ │ │ │ │ ├── cacerts │ │ │ │ │ │ └── ca.alpha.svc.cluster.local-cert.pem │ │ │ │ │ ├── keystore │ │ │ │ │ │ └── ffb64e29573682f118fdf41ca4184982ce9b7a740f29bfdff0184d67510c2c5a_sk │ │ │ │ │ ├── signcerts │ │ │ │ │ │ └── ord1-hlf-ord.alpha.svc.cluster.local-cert.pem │ │ │ │ │ └── tlscacerts │ │ │ │ │ │ └── tlsca.alpha.svc.cluster.local-cert.pem │ │ │ │ │ └── tls │ │ │ │ │ ├── ca.crt │ │ │ │ │ ├── server.crt │ │ │ │ │ └── server.key │ │ │ │ ├── tlsca │ │ │ │ ├── f6cfeb6a39ac7efe702b3ae6b23e9af91791c12f3998ea3e5d5a81699d696d14_sk │ │ │ │ └── tlsca.alpha.svc.cluster.local-cert.pem │ │ │ │ └── users │ │ │ │ └── Admin@alpha.svc.cluster.local │ │ │ │ ├── msp │ │ │ │ ├── admincerts │ │ │ │ │ └── Admin@alpha.svc.cluster.local-cert.pem │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.alpha.svc.cluster.local-cert.pem │ │ │ │ ├── keystore │ │ │ │ │ └── ba11f3aee63fb8cdc827605561051a856d00ce24e735101a17ae0a3e17181d4e_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── Admin@alpha.svc.cluster.local-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.alpha.svc.cluster.local-cert.pem │ │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── client.crt │ │ │ │ └── client.key │ │ │ └── peerOrganizations │ │ │ └── beta.svc.cluster.local │ │ │ ├── ca │ │ │ ├── 8005aa0c5f808abd4ed99dbe741d92e2dddd585a55609f41c43944261912aed2_sk │ │ │ └── ca.beta.svc.cluster.local-cert.pem │ │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@beta.svc.cluster.local-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.beta.svc.cluster.local-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.beta.svc.cluster.local-cert.pem │ │ │ ├── peers │ │ │ └── peer1-hlf-peer.beta.svc.cluster.local │ │ │ │ ├── msp │ │ │ │ ├── admincerts │ │ │ │ │ └── Admin@beta.svc.cluster.local-cert.pem │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.beta.svc.cluster.local-cert.pem │ │ │ │ ├── keystore │ │ │ │ │ └── 351f0dda5fe4ea25b675d7251a606aabd20d8248c4da1cd7d7e6e4e8691f027f_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── peer1-hlf-peer.beta.svc.cluster.local-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.beta.svc.cluster.local-cert.pem │ │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── server.crt │ │ │ │ └── server.key │ │ │ ├── tlsca │ │ │ ├── 0c1d8817f7799aa576e1294f6aa8fe03973d4d4a962f2bc10a044dc2a217f8fd_sk │ │ │ └── tlsca.beta.svc.cluster.local-cert.pem │ │ │ └── users │ │ │ └── Admin@beta.svc.cluster.local │ │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@beta.svc.cluster.local-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.beta.svc.cluster.local-cert.pem │ │ │ ├── keystore │ │ │ │ └── 8bddfb366cd93701e0e5072e4693a6c908658cf5dcbbcd2bef93d81b8ac03f09_sk │ │ │ ├── signcerts │ │ │ │ └── Admin@beta.svc.cluster.local-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.beta.svc.cluster.local-cert.pem │ │ │ └── tls │ │ │ ├── ca.crt │ │ │ ├── client.crt │ │ │ └── client.key │ ├── helm_values │ │ ├── AlphaMSP │ │ │ └── hlf-ord │ │ │ │ └── ord1.yaml │ │ └── BetaMSP │ │ │ ├── hlf-couchdb │ │ │ └── cdb-peer1.yaml │ │ │ └── hlf-peer │ │ │ └── peer1.yaml │ └── nephos_config.yaml ├── dev │ ├── config │ │ ├── configtx.yaml │ │ ├── crypto-config.yaml │ │ └── fabric-ca-client-config.yaml │ ├── crypto │ │ └── crypto-config │ │ │ ├── ordererOrganizations │ │ │ └── alpha.svc.cluster.local │ │ │ │ ├── ca │ │ │ │ ├── 9e8c4c0a07a9d6c7fa9f1047cd3d237e63795bfa0ddf13d8a62b5370bc6a8cbc_sk │ │ │ │ └── ca.alpha.svc.cluster.local-cert.pem │ │ │ │ ├── msp │ │ │ │ ├── admincerts │ │ │ │ │ └── Admin@alpha.svc.cluster.local-cert.pem │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.alpha.svc.cluster.local-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.alpha.svc.cluster.local-cert.pem │ │ │ │ ├── orderers │ │ │ │ └── ord1-hlf-ord.alpha.svc.cluster.local │ │ │ │ │ ├── msp │ │ │ │ │ ├── admincerts │ │ │ │ │ │ └── Admin@alpha.svc.cluster.local-cert.pem │ │ │ │ │ ├── cacerts │ │ │ │ │ │ └── ca.alpha.svc.cluster.local-cert.pem │ │ │ │ │ ├── keystore │ │ │ │ │ │ └── ffb64e29573682f118fdf41ca4184982ce9b7a740f29bfdff0184d67510c2c5a_sk │ │ │ │ │ ├── signcerts │ │ │ │ │ │ └── ord1-hlf-ord.alpha.svc.cluster.local-cert.pem │ │ │ │ │ └── tlscacerts │ │ │ │ │ │ └── tlsca.alpha.svc.cluster.local-cert.pem │ │ │ │ │ └── tls │ │ │ │ │ ├── ca.crt │ │ │ │ │ ├── server.crt │ │ │ │ │ └── server.key │ │ │ │ ├── tlsca │ │ │ │ ├── f6cfeb6a39ac7efe702b3ae6b23e9af91791c12f3998ea3e5d5a81699d696d14_sk │ │ │ │ └── tlsca.alpha.svc.cluster.local-cert.pem │ │ │ │ └── users │ │ │ │ └── Admin@alpha.svc.cluster.local │ │ │ │ ├── msp │ │ │ │ ├── admincerts │ │ │ │ │ └── Admin@alpha.svc.cluster.local-cert.pem │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.alpha.svc.cluster.local-cert.pem │ │ │ │ ├── keystore │ │ │ │ │ └── ba11f3aee63fb8cdc827605561051a856d00ce24e735101a17ae0a3e17181d4e_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── Admin@alpha.svc.cluster.local-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.alpha.svc.cluster.local-cert.pem │ │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── client.crt │ │ │ │ └── client.key │ │ │ └── peerOrganizations │ │ │ └── beta.svc.cluster.local │ │ │ ├── ca │ │ │ ├── 8005aa0c5f808abd4ed99dbe741d92e2dddd585a55609f41c43944261912aed2_sk │ │ │ └── ca.beta.svc.cluster.local-cert.pem │ │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@beta.svc.cluster.local-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.beta.svc.cluster.local-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.beta.svc.cluster.local-cert.pem │ │ │ ├── peers │ │ │ └── peer1-hlf-peer.beta.svc.cluster.local │ │ │ │ ├── msp │ │ │ │ ├── admincerts │ │ │ │ │ └── Admin@beta.svc.cluster.local-cert.pem │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.beta.svc.cluster.local-cert.pem │ │ │ │ ├── keystore │ │ │ │ │ └── 351f0dda5fe4ea25b675d7251a606aabd20d8248c4da1cd7d7e6e4e8691f027f_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── peer1-hlf-peer.beta.svc.cluster.local-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.beta.svc.cluster.local-cert.pem │ │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── server.crt │ │ │ │ └── server.key │ │ │ ├── tlsca │ │ │ ├── 0c1d8817f7799aa576e1294f6aa8fe03973d4d4a962f2bc10a044dc2a217f8fd_sk │ │ │ └── tlsca.beta.svc.cluster.local-cert.pem │ │ │ └── users │ │ │ └── Admin@beta.svc.cluster.local │ │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@beta.svc.cluster.local-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.beta.svc.cluster.local-cert.pem │ │ │ ├── keystore │ │ │ │ └── 8bddfb366cd93701e0e5072e4693a6c908658cf5dcbbcd2bef93d81b8ac03f09_sk │ │ │ ├── signcerts │ │ │ │ └── Admin@beta.svc.cluster.local-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.beta.svc.cluster.local-cert.pem │ │ │ └── tls │ │ │ ├── ca.crt │ │ │ ├── client.crt │ │ │ └── client.key │ ├── helm_values │ │ ├── AlphaMSP │ │ │ └── hlf-ord │ │ │ │ └── ord1.yaml │ │ ├── BetaMSP │ │ │ ├── hlf-couchdb │ │ │ │ └── cdb-peer1.yaml │ │ │ └── hlf-peer │ │ │ │ └── peer1.yaml │ │ ├── hlf-couchdb │ │ │ └── cdb-peer1.yaml │ │ ├── hlf-ord │ │ │ └── ord1.yaml │ │ └── hlf-peer │ │ │ └── peer1.yaml │ └── nephos_config.yaml ├── prod │ ├── config │ │ └── configtx.yaml │ ├── helm_values │ │ ├── AlphaMSP │ │ │ ├── hlf-ord │ │ │ │ ├── alpha-ord1.yaml │ │ │ │ └── alpha-ord2.yaml │ │ │ └── kafka │ │ │ │ └── kafka-hlf.yaml │ │ ├── BetaMSP │ │ │ ├── hlf-couchdb │ │ │ │ ├── cdb-beta-peer1.yaml │ │ │ │ └── cdb-beta-peer2.yaml │ │ │ └── hlf-peer │ │ │ │ ├── beta-peer1.yaml │ │ │ │ └── beta-peer2.yaml │ │ ├── GammaMSP │ │ │ ├── hlf-couchdb │ │ │ │ ├── cdb-gamma-peer1.yaml │ │ │ │ └── cdb-gamma-peer2.yaml │ │ │ └── hlf-peer │ │ │ │ ├── gamma-peer1.yaml │ │ │ │ └── gamma-peer2.yaml │ │ ├── hl-composer │ │ │ └── hlc.yaml │ │ ├── hlf-ca │ │ │ └── ca.yaml │ │ └── postgres-ca │ │ │ └── ca-pg.yaml │ └── nephos_config.yaml ├── qa-tls │ ├── config │ │ └── configtx.yaml │ ├── helm_values │ │ ├── AlphaMSP │ │ │ └── hlf-ord │ │ │ │ └── ord1.yaml │ │ ├── BetaMSP │ │ │ ├── hlf-couchdb │ │ │ │ └── cdb-beta-peer1.yaml │ │ │ └── hlf-peer │ │ │ │ └── beta-peer1.yaml │ │ ├── hl-composer │ │ │ └── hlc.yaml │ │ ├── hlf-ca │ │ │ ├── ca-tls.yaml │ │ │ └── ca.yaml │ │ └── postgres-ca │ │ │ ├── ca-pg.yaml │ │ │ └── ca-tls-pg.yaml │ └── nephos_config.yaml └── qa │ ├── config │ └── configtx.yaml │ ├── helm_values │ ├── AlphaMSP │ │ └── hlf-ord │ │ │ └── ord1.yaml │ ├── BetaMSP │ │ ├── hlf-couchdb │ │ │ └── cdb-beta-peer1.yaml │ │ └── hlf-peer │ │ │ └── beta-peer1.yaml │ ├── hl-composer │ │ └── hlc.yaml │ ├── hlf-ca │ │ └── ca.yaml │ └── postgres-ca │ │ └── ca-pg.yaml │ └── nephos_config.yaml ├── integration ├── test_dev.py └── test_qa.py ├── nephos ├── __init__.py ├── composer │ ├── __init__.py │ ├── connection_template.py │ ├── install.py │ └── upgrade.py ├── deploy.py ├── extras │ ├── Lets_Encrypt_Authority_X3.pem │ └── helm-rbac.yaml ├── fabric │ ├── __init__.py │ ├── ca.py │ ├── crypto.py │ ├── ord.py │ ├── peer.py │ ├── settings.py │ └── utils.py ├── helpers │ ├── __init__.py │ ├── executer.py │ ├── helm.py │ ├── k8s.py │ └── misc.py └── runners.py ├── requirements.txt ├── setup.py ├── sonar-project.properties ├── tests ├── composer │ ├── test_connection_template.py │ ├── test_install.py │ └── test_upgrade.py ├── fabric │ ├── test_ca.py │ ├── test_crypto.py │ ├── test_ord.py │ ├── test_peer.py │ ├── test_settings.py │ └── test_utils.py ├── helpers │ ├── test_executer.py │ ├── test_helm.py │ ├── test_k8s.py │ └── test_misc.py ├── test_deploy.py └── test_runners.py └── travis_success.sh /.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | omit = ./setup.py,venv/*,tests/*,integration/* 3 | 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | 81 | # SageMath parsed files 82 | *.sage.py 83 | 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ 105 | 106 | # Project-specific 107 | .envrc 108 | .idea 109 | 110 | # Misc 111 | .DS_Store 112 | 113 | # Examples 114 | genesis.block 115 | *channel.tx 116 | examples/*/crypto/*MSP 117 | fabric-ca-client-config.yaml 118 | 119 | # Cosmic ray 120 | *session.sqlite 121 | *session.html 122 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # Based on: https://github.com/LiliC/travis-minikube/blob/minikube-30-kube-1.12/.travis.yml 2 | 3 | # We need the systemd for the kubeadm and it's default from 16.04+ 4 | dist: xenial 5 | 6 | env: 7 | - CHANGE_MINIKUBE_NONE_USER=true 8 | 9 | language: python 10 | python: 11 | - "3.7-dev" 12 | 13 | addons: 14 | sonarcloud: 15 | organization: "hyperledger-labs" 16 | 17 | install: 18 | - sudo apt-get install jq 19 | - pip install -r requirements.txt 20 | - pip install codecov 21 | 22 | # Setup Minikube, needed for testing 23 | before_script: 24 | - sudo mount --make-rshared / 25 | # Download kubectl, which is a requirement for using minikube. 26 | - curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.12.0/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/ 27 | # Download minikube. 28 | - curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.30.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ 29 | - sudo minikube start --vm-driver=none --bootstrapper=kubeadm --kubernetes-version=v1.12.0 30 | # Fix the kubectl context, as it's often stale. 31 | - minikube update-context 32 | # Wait for Kubernetes to be up and ready. 33 | - JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}'; until kubectl get nodes -o jsonpath="$JSONPATH" 2>&1 | grep -q "Ready=True"; do sleep 1; done 34 | # Start the ingress addon 35 | - sudo minikube addons enable ingress 36 | # Add the minikube IP to the hosts file 37 | - echo "$(minikube ip) ca.nephos.local" | sudo tee -a /etc/hosts 38 | # Install Helm 39 | - sudo apt-get install socat 40 | - curl -Lo /tmp/helm.tar.gz https://kubernetes-helm.storage.googleapis.com/helm-${HELM_VERSION}-linux-amd64.tar.gz 41 | - tar -zxvf /tmp/helm.tar.gz -C /tmp 42 | - sudo mv /tmp/linux-amd64/helm /usr/local/bin/helm 43 | - helm init --wait 44 | # Install Hyperledger Fabric tools 45 | - curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s ${FABRIC_VERSION} -ds 46 | - export PATH=$(pwd)/bin:$PATH 47 | 48 | # Run tests 49 | script: 50 | - PYTHONPATH=. pytest --ignore=./integration --cov=. --cov-report xml:coverage.xml --cov-report term-missing 51 | - PYTHONPATH=. pytest -x -s ./integration 52 | # Run SonarQube only on non-PRs and when "SONAR_TOKEN" is defined 53 | - 'if [[ "$TRAVIS_PULL_REQUEST" == "false" && $SONAR_TOKEN ]]; then sonar-scanner; fi' 54 | after_success: 55 | # Code coverage, deploy to PyPI and, when uploading new version, do mutation testing 56 | - ./travis_success.sh 57 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include README.md 2 | recursive-include nephos/extras * 3 | -------------------------------------------------------------------------------- /cosmic_ray_config.yaml: -------------------------------------------------------------------------------- 1 | # config.toml 2 | [cosmic-ray] 3 | module-path = "./nephos" 4 | python-version = "" 5 | timeout = 15 6 | exclude-modules = [] 7 | test-command = "pytest" 8 | execution-engine.name = "local" 9 | 10 | [cosmic-ray.cloning] 11 | method = 'copy' 12 | commands = [] 13 | 14 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SOURCEDIR = . 8 | BUILDDIR = _build 9 | 10 | # Put it first so that "make" without argument is like "make help". 11 | help: 12 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 13 | 14 | .PHONY: help Makefile 15 | 16 | # Catch-all target: route all unknown targets to Sphinx using the new 17 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 18 | %: Makefile 19 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | .. Nephos documentation master file, created by 2 | sphinx-quickstart on Thu Feb 14 17:39:35 2019. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to Nephos's documentation! 7 | ================================== 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | :caption: Contents: 12 | 13 | readme 14 | 15 | 16 | Indices and tables 17 | ================== 18 | 19 | * :ref:`genindex` 20 | * :ref:`modindex` 21 | * :ref:`search` 22 | -------------------------------------------------------------------------------- /docs/readme.rst: -------------------------------------------------------------------------------- 1 | .. mdinclude:: ../README.md -------------------------------------------------------------------------------- /docs/source/modules.rst: -------------------------------------------------------------------------------- 1 | nephos 2 | ====== 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | nephos 8 | -------------------------------------------------------------------------------- /docs/source/nephos.composer.rst: -------------------------------------------------------------------------------- 1 | nephos.composer package 2 | ======================= 3 | 4 | Submodules 5 | ---------- 6 | 7 | nephos.composer.connection\_template module 8 | ------------------------------------------- 9 | 10 | .. automodule:: nephos.composer.connection_template 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | nephos.composer.install module 16 | ------------------------------ 17 | 18 | .. automodule:: nephos.composer.install 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | nephos.composer.upgrade module 24 | ------------------------------ 25 | 26 | .. automodule:: nephos.composer.upgrade 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | 32 | Module contents 33 | --------------- 34 | 35 | .. automodule:: nephos.composer 36 | :members: 37 | :undoc-members: 38 | :show-inheritance: 39 | -------------------------------------------------------------------------------- /docs/source/nephos.fabric.rst: -------------------------------------------------------------------------------- 1 | nephos.fabric package 2 | ===================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | nephos.fabric.ca module 8 | ----------------------- 9 | 10 | .. automodule:: nephos.fabric.ca 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | nephos.fabric.crypto module 16 | --------------------------- 17 | 18 | .. automodule:: nephos.fabric.crypto 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | nephos.fabric.ord module 24 | ------------------------ 25 | 26 | .. automodule:: nephos.fabric.ord 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | nephos.fabric.peer module 32 | ------------------------- 33 | 34 | .. automodule:: nephos.fabric.peer 35 | :members: 36 | :undoc-members: 37 | :show-inheritance: 38 | 39 | nephos.fabric.settings module 40 | ----------------------------- 41 | 42 | .. automodule:: nephos.fabric.settings 43 | :members: 44 | :undoc-members: 45 | :show-inheritance: 46 | 47 | nephos.fabric.utils module 48 | -------------------------- 49 | 50 | .. automodule:: nephos.fabric.utils 51 | :members: 52 | :undoc-members: 53 | :show-inheritance: 54 | 55 | 56 | Module contents 57 | --------------- 58 | 59 | .. automodule:: nephos.fabric 60 | :members: 61 | :undoc-members: 62 | :show-inheritance: 63 | -------------------------------------------------------------------------------- /docs/source/nephos.helpers.rst: -------------------------------------------------------------------------------- 1 | nephos.helpers package 2 | ====================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | nephos.helpers.helm module 8 | -------------------------- 9 | 10 | .. automodule:: nephos.helpers.helm 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | nephos.helpers.k8s module 16 | ------------------------- 17 | 18 | .. automodule:: nephos.helpers.k8s 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | nephos.helpers.misc module 24 | -------------------------- 25 | 26 | .. automodule:: nephos.helpers.misc 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | 32 | Module contents 33 | --------------- 34 | 35 | .. automodule:: nephos.helpers 36 | :members: 37 | :undoc-members: 38 | :show-inheritance: 39 | -------------------------------------------------------------------------------- /docs/source/nephos.rst: -------------------------------------------------------------------------------- 1 | nephos package 2 | ============== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | 9 | nephos.composer 10 | nephos.fabric 11 | nephos.helpers 12 | 13 | Submodules 14 | ---------- 15 | 16 | nephos.deploy module 17 | -------------------- 18 | 19 | .. automodule:: nephos.deploy 20 | :members: 21 | :undoc-members: 22 | :show-inheritance: 23 | 24 | nephos.runners module 25 | --------------------- 26 | 27 | .. automodule:: nephos.runners 28 | :members: 29 | :undoc-members: 30 | :show-inheritance: 31 | 32 | nephos.upgrade\_v11x module 33 | --------------------------- 34 | 35 | .. automodule:: nephos.upgrade_v11x 36 | :members: 37 | :undoc-members: 38 | :show-inheritance: 39 | 40 | 41 | Module contents 42 | --------------- 43 | 44 | .. automodule:: nephos 45 | :members: 46 | :undoc-members: 47 | :show-inheritance: 48 | -------------------------------------------------------------------------------- /examples/ca-nephos-local.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIFNDCCAxwCCQCYygRMy/3XDzANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJJ 3 | RTEPMA0GA1UECAwGRHVibGluMQ8wDQYDVQQHDAZEdWJsaW4xETAPBgNVBAoMCEFJ 4 | RDpUZWNoMRgwFgYDVQQDDA9jYS5uZXBob3MubG9jYWwwHhcNMTkwMjI2MDQ1MTM5 5 | WhcNMjkwMjIzMDQ1MTM5WjBcMQswCQYDVQQGEwJJRTEPMA0GA1UECAwGRHVibGlu 6 | MQ8wDQYDVQQHDAZEdWJsaW4xETAPBgNVBAoMCEFJRDpUZWNoMRgwFgYDVQQDDA9j 7 | YS5uZXBob3MubG9jYWwwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDL 8 | M4gPH5Y8gW8FTSi+nGm0614vd9xlDwTTff116vbUt2XiP17uycAr3ix70nrWsmhJ 9 | ysZrPWk31tJcLN5iqaavYn2iUGYxR+y3comaBdHxKZ8IaC+gz7dNLQco8Hs1oqTI 10 | 9RzXPd9tkH8BL7uML7Wlau6mLF06nLAwATdbiLlONkH5T1tFV1hby+7Jhn3AyQ0c 11 | XB5ki8p7F7fMRFkYuVwMzrlqdfOHhkd3eRd+LL6zkPdNqbvXgXMO8JaruCR4drEA 12 | BYRUR05cGCHEH+OA6g2RNSn+6YprJ1kqDXYoznp+wvEXe5HbjzonY+zkpgtkaBot 13 | 0n6dSNKvyoQu8Et0i0PSHojI97+s90zM1H1QeXlL223khzAF8uHzuwAkPKirHbWe 14 | ZZIVHV6FKrHsLEb8dxerqug2zQHipNOY/tNQ4idtLN+2383i1q6CynNMb736DB4K 15 | pkNB5pIf/k9dneUpsQRwV1k3SIalzVdaKb5vFLB9a9o73Yj7tu05Bftv19wycjWP 16 | qw3ymJjxrQ3Q1nIGxn9YaR68U/pnkJF3L7qIl+0DmYFFDV7WUn5k7B6hw1mtsVup 17 | Q8ew/DNod5yzyTrFLmp+3TVGYP4eHWpHGloa81cKfqP6cdAGjDO/qU7v1+d8UJtd 18 | qPNKKemK8BMWaCw6i81UCaGam6chWrPJrrhHR3pEnwIDAQABMA0GCSqGSIb3DQEB 19 | CwUAA4ICAQBd26I4OIQ/dIzW4zkZh01dBmjwGnbRKw4XsUKxqsEZLYfryWPQ66K/ 20 | XjGmrLOxo2Cyn2g9Ls5BF/KJWst6vQTLDlSw8xLWdUwfL2IGiBylhZL4Ejnr0Dxn 21 | gI9SkvclhGwcNqRh+/IPoYo47MeuBDx8AR+UepG+TF1beRkgYNjDt3t3Vc2JRXvk 22 | b7F4rKyy06SxWDZbnTH5zzejOwiN/kUEz8/k4UO4mHgJnTHl1OeoHElSPXLr+CQI 23 | L+AYjI578A35o+PLAVT6Z8EcZpHIt8S5V2b/xfBEkiGy8xsLMBMZ8FUGyGfkoOt3 24 | p6qHcVk94Kejxuj+ZUoXNyHxTar0Q1qo7hFwH/FBA0VYCug6INPyb5StU11AfulK 25 | 4lvEHCjRqpnZGXSVhmcJwsYdvw1x8dqKUkjRV5i8Au5Nfmrj1W/WdhcDTCQTc7wP 26 | B9v9GaGL6jBG88xq326UwYw3cq6g6bwFCwIAxj98XmyNx65gqzpTmNXQlPvfXJXn 27 | Vn6J3ALwFXeCPC8KiSyUT2wOmSrgKFbyQlft9B0oDl7HkM5EDVsHnqQX9zaeOoHt 28 | kPd9C3D6kl42YecxLxktvQBVGg3wrEEVj+p84+VxIqOFJg8M6GCwkEMkTbt/65Vc 29 | m73xxCb+tq6yDq88TSH0NuKLAVNaLx599E2R+wIrM3pMh/NftdRpAA== 30 | -----END CERTIFICATE----- 31 | -------------------------------------------------------------------------------- /examples/ca-nephos-local.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | 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 51 | USkaxbJJb6NjUjD+lbgfeFLW5gMeTvM= 52 | -----END PRIVATE KEY----- 53 | -------------------------------------------------------------------------------- /examples/ca-nephos-local.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIFNDCCAxwCCQCYygRMy/3XDzANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJJ 3 | RTEPMA0GA1UECAwGRHVibGluMQ8wDQYDVQQHDAZEdWJsaW4xETAPBgNVBAoMCEFJ 4 | RDpUZWNoMRgwFgYDVQQDDA9jYS5uZXBob3MubG9jYWwwHhcNMTkwMjI2MDQ1MTM5 5 | WhcNMjkwMjIzMDQ1MTM5WjBcMQswCQYDVQQGEwJJRTEPMA0GA1UECAwGRHVibGlu 6 | MQ8wDQYDVQQHDAZEdWJsaW4xETAPBgNVBAoMCEFJRDpUZWNoMRgwFgYDVQQDDA9j 7 | YS5uZXBob3MubG9jYWwwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDL 8 | M4gPH5Y8gW8FTSi+nGm0614vd9xlDwTTff116vbUt2XiP17uycAr3ix70nrWsmhJ 9 | ysZrPWk31tJcLN5iqaavYn2iUGYxR+y3comaBdHxKZ8IaC+gz7dNLQco8Hs1oqTI 10 | 9RzXPd9tkH8BL7uML7Wlau6mLF06nLAwATdbiLlONkH5T1tFV1hby+7Jhn3AyQ0c 11 | XB5ki8p7F7fMRFkYuVwMzrlqdfOHhkd3eRd+LL6zkPdNqbvXgXMO8JaruCR4drEA 12 | BYRUR05cGCHEH+OA6g2RNSn+6YprJ1kqDXYoznp+wvEXe5HbjzonY+zkpgtkaBot 13 | 0n6dSNKvyoQu8Et0i0PSHojI97+s90zM1H1QeXlL223khzAF8uHzuwAkPKirHbWe 14 | ZZIVHV6FKrHsLEb8dxerqug2zQHipNOY/tNQ4idtLN+2383i1q6CynNMb736DB4K 15 | pkNB5pIf/k9dneUpsQRwV1k3SIalzVdaKb5vFLB9a9o73Yj7tu05Bftv19wycjWP 16 | qw3ymJjxrQ3Q1nIGxn9YaR68U/pnkJF3L7qIl+0DmYFFDV7WUn5k7B6hw1mtsVup 17 | Q8ew/DNod5yzyTrFLmp+3TVGYP4eHWpHGloa81cKfqP6cdAGjDO/qU7v1+d8UJtd 18 | qPNKKemK8BMWaCw6i81UCaGam6chWrPJrrhHR3pEnwIDAQABMA0GCSqGSIb3DQEB 19 | CwUAA4ICAQBd26I4OIQ/dIzW4zkZh01dBmjwGnbRKw4XsUKxqsEZLYfryWPQ66K/ 20 | XjGmrLOxo2Cyn2g9Ls5BF/KJWst6vQTLDlSw8xLWdUwfL2IGiBylhZL4Ejnr0Dxn 21 | gI9SkvclhGwcNqRh+/IPoYo47MeuBDx8AR+UepG+TF1beRkgYNjDt3t3Vc2JRXvk 22 | b7F4rKyy06SxWDZbnTH5zzejOwiN/kUEz8/k4UO4mHgJnTHl1OeoHElSPXLr+CQI 23 | L+AYjI578A35o+PLAVT6Z8EcZpHIt8S5V2b/xfBEkiGy8xsLMBMZ8FUGyGfkoOt3 24 | p6qHcVk94Kejxuj+ZUoXNyHxTar0Q1qo7hFwH/FBA0VYCug6INPyb5StU11AfulK 25 | 4lvEHCjRqpnZGXSVhmcJwsYdvw1x8dqKUkjRV5i8Au5Nfmrj1W/WdhcDTCQTc7wP 26 | B9v9GaGL6jBG88xq326UwYw3cq6g6bwFCwIAxj98XmyNx65gqzpTmNXQlPvfXJXn 27 | Vn6J3ALwFXeCPC8KiSyUT2wOmSrgKFbyQlft9B0oDl7HkM5EDVsHnqQX9zaeOoHt 28 | kPd9C3D6kl42YecxLxktvQBVGg3wrEEVj+p84+VxIqOFJg8M6GCwkEMkTbt/65Vc 29 | m73xxCb+tq6yDq88TSH0NuKLAVNaLx599E2R+wIrM3pMh/NftdRpAA== 30 | -----END CERTIFICATE----- 31 | -------------------------------------------------------------------------------- /examples/ca-tls-nephos-local.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | 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 32 | k+6/CL0= 33 | -----END CERTIFICATE----- 34 | -------------------------------------------------------------------------------- /examples/ca-tls-nephos-local.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | 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 51 | //Hye9s0qe6NBP9ty/omo1zgWTf3 52 | -----END PRIVATE KEY----- 53 | -------------------------------------------------------------------------------- /examples/ca-tls-nephos-local.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | 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 32 | k+6/CL0= 33 | -----END CERTIFICATE----- 34 | -------------------------------------------------------------------------------- /examples/certManagerCI_production.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: certmanager.k8s.io/v1alpha1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: letsencrypt-production 5 | spec: 6 | acme: 7 | # The ACME server URL 8 | server: https://acme-v02.api.letsencrypt.org/directory 9 | # Email address used for ACME registration 10 | # TODO: Change email address to yours 11 | email: youremail@example.com 12 | # Name of a secret used to store the ACME account private key 13 | privateKeySecretRef: 14 | name: letsencrypt-production 15 | # Enable the HTTP-01 challenge provider 16 | http01: {} 17 | -------------------------------------------------------------------------------- /examples/certManagerCI_staging.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: certmanager.k8s.io/v1alpha1 2 | kind: ClusterIssuer 3 | metadata: 4 | name: letsencrypt-staging 5 | spec: 6 | acme: 7 | # The ACME server URL 8 | server: https://acme-staging-v02.api.letsencrypt.org/directory 9 | # Email address used for ACME registration 10 | # TODO: Change email address to yours 11 | email: youremail@example.com 12 | # Name of a secret used to store the ACME account private key 13 | privateKeySecretRef: 14 | name: letsencrypt-staging 15 | # Enable the HTTP-01 challenge provider 16 | http01: {} 17 | -------------------------------------------------------------------------------- /examples/dev-tls/config/crypto-config.yaml: -------------------------------------------------------------------------------- 1 | # Copyright IBM Corp. All Rights Reserved. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | 6 | # --------------------------------------------------------------------------- 7 | # "OrdererOrgs" - Definition of organizations managing orderer nodes 8 | # --------------------------------------------------------------------------- 9 | OrdererOrgs: 10 | # --------------------------------------------------------------------------- 11 | # OrdererOrg 12 | # --------------------------------------------------------------------------- 13 | - Name: AlphaOrg 14 | Domain: alpha.svc.cluster.local 15 | # --------------------------------------------------------------------------- 16 | # "Specs" - See PeerOrgs below for complete description 17 | # --------------------------------------------------------------------------- 18 | Specs: 19 | - Hostname: ord1-hlf-ord 20 | # --------------------------------------------------------------------------- 21 | # "PeerOrgs" - Definition of organizations managing peer nodes 22 | # --------------------------------------------------------------------------- 23 | PeerOrgs: 24 | # --------------------------------------------------------------------------- 25 | # PeerOrg 26 | # --------------------------------------------------------------------------- 27 | - Name: BetaOrg 28 | Domain: beta.svc.cluster.local 29 | # --------------------------------------------------------------------------- 30 | # "Specs" 31 | # --------------------------------------------------------------------------- 32 | # Uncomment this section to enable the explicit definition of hosts in your 33 | # configuration. Most users will want to use Template, below 34 | # 35 | # Specs is an array of Spec entries. Each Spec entry consists of two fields: 36 | # - Hostname: (Required) The desired hostname, sans the domain. 37 | # - CommonName: (Optional) Specifies the template or explicit override for 38 | # the CN. By default, this is the template: 39 | # 40 | # "{{.Hostname}}.{{.Domain}}" 41 | # 42 | # which obtains its values from the Spec.Hostname and 43 | # Org.Domain, respectively. 44 | # --------------------------------------------------------------------------- 45 | # Specs: 46 | # - Hostname: foo # implicitly "foo.org1.example.com" 47 | # CommonName: foo27.org5.example.com # overrides Hostname-based FQDN set above 48 | # - Hostname: bar 49 | # - Hostname: baz 50 | # --------------------------------------------------------------------------- 51 | # "Template" 52 | # --------------------------------------------------------------------------- 53 | # Allows for the definition of 1 or more hosts that are created sequentially 54 | # from a template. By default, this looks like "peer%d" from 0 to Count-1. 55 | # You may override the number of nodes (Count), the starting index (Start) 56 | # or the template used to construct the name (Hostname). 57 | # 58 | # Note: Template and Specs are not mutually exclusive. You may define both 59 | # sections and the aggregate nodes will be created for you. Take care with 60 | # name collisions 61 | # --------------------------------------------------------------------------- 62 | Template: 63 | Count: 1 64 | Start: 1 65 | Hostname: "{{.Prefix}}{{.Index}}-hlf-peer" # default 66 | # --------------------------------------------------------------------------- 67 | # "Users" 68 | # --------------------------------------------------------------------------- 69 | # Count: The number of user accounts _in addition_ to Admin 70 | # --------------------------------------------------------------------------- 71 | Users: 72 | Count: 0 73 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/ca/9e8c4c0a07a9d6c7fa9f1047cd3d237e63795bfa0ddf13d8a62b5370bc6a8cbc_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgJ71823xf9GYV8NCT 3 | sxHqUDci9NR6hJ5II4ZTZDKYp8ehRANCAATOJXB9FvWSg7bA8DD1Gn9/4fmjz78p 4 | odXjY9W+HBZG1u09oBdWEBZT098aJ7lE5ircvtyTnqvUGp/4JiJYzIhv 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/ca/ca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAgigAwIBAgIRAMBsbc9uSpXCnqxs3vZGND0wCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSMwIQYDVQQDExpjYS5hbHBoYS5zdmMuY2x1c3Rlci5s 9 | b2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4lcH0W9ZKDtsDwMPUaf3/h 10 | +aPPvymh1eNj1b4cFkbW7T2gF1YQFlPT3xonuUTmKty+3JOeq9Qan/gmIljMiG+j 11 | XzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQF 12 | MAMBAf8wKQYDVR0OBCIEIJ6MTAoHqdbH+p8QR809I35jeVv6Dd8T2KYrU3C8aoy8 13 | MAoGCCqGSM49BAMCA0cAMEQCIEXeMuLn1WLMMH1nForg2IZofleAZhPNfg6x63yM 14 | CJXdAiB3dTpBoOMtBJwPtjI2fccbBrEAwHM1jA/A+52t6Iv6Jg== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/msp/admincerts/Admin@alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMDCCAdagAwIBAgIRAIy1A4qgt45FdnU8UW46zUYwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBiMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UEAwwdQWRtaW5AYWxw 8 | aGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ9 9 | UKDtGfukjdeFjEkkY3dDLhYMkvOY0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUx 10 | ZdDLJycnb5F8A1iOj0GJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw 11 | ADArBgNVHSMEJDAigCCejEwKB6nWx/qfEEfNPSN+Y3lb+g3fE9imK1NwvGqMvDAK 12 | BggqhkjOPQQDAgNIADBFAiEA2xvqho2DJ2KIHfN9uvXd4HIrdxBpPcTslmgcXDFy 13 | r0MCICldH0iCbKZnrjkoP+lnALcRgyPG+v3t1r5BBrV9HQD8 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/msp/cacerts/ca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAgigAwIBAgIRAMBsbc9uSpXCnqxs3vZGND0wCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSMwIQYDVQQDExpjYS5hbHBoYS5zdmMuY2x1c3Rlci5s 9 | b2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4lcH0W9ZKDtsDwMPUaf3/h 10 | +aPPvymh1eNj1b4cFkbW7T2gF1YQFlPT3xonuUTmKty+3JOeq9Qan/gmIljMiG+j 11 | XzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQF 12 | MAMBAf8wKQYDVR0OBCIEIJ6MTAoHqdbH+p8QR809I35jeVv6Dd8T2KYrU3C8aoy8 13 | MAoGCCqGSM49BAMCA0cAMEQCIEXeMuLn1WLMMH1nForg2IZofleAZhPNfg6x63yM 14 | CJXdAiB3dTpBoOMtBJwPtjI2fccbBrEAwHM1jA/A+52t6Iv6Jg== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/msp/tlscacerts/tlsca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/admincerts/Admin@alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMDCCAdagAwIBAgIRAIy1A4qgt45FdnU8UW46zUYwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBiMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UEAwwdQWRtaW5AYWxw 8 | aGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ9 9 | UKDtGfukjdeFjEkkY3dDLhYMkvOY0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUx 10 | ZdDLJycnb5F8A1iOj0GJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw 11 | ADArBgNVHSMEJDAigCCejEwKB6nWx/qfEEfNPSN+Y3lb+g3fE9imK1NwvGqMvDAK 12 | BggqhkjOPQQDAgNIADBFAiEA2xvqho2DJ2KIHfN9uvXd4HIrdxBpPcTslmgcXDFy 13 | r0MCICldH0iCbKZnrjkoP+lnALcRgyPG+v3t1r5BBrV9HQD8 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/cacerts/ca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAgigAwIBAgIRAMBsbc9uSpXCnqxs3vZGND0wCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSMwIQYDVQQDExpjYS5hbHBoYS5zdmMuY2x1c3Rlci5s 9 | b2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4lcH0W9ZKDtsDwMPUaf3/h 10 | +aPPvymh1eNj1b4cFkbW7T2gF1YQFlPT3xonuUTmKty+3JOeq9Qan/gmIljMiG+j 11 | XzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQF 12 | MAMBAf8wKQYDVR0OBCIEIJ6MTAoHqdbH+p8QR809I35jeVv6Dd8T2KYrU3C8aoy8 13 | MAoGCCqGSM49BAMCA0cAMEQCIEXeMuLn1WLMMH1nForg2IZofleAZhPNfg6x63yM 14 | CJXdAiB3dTpBoOMtBJwPtjI2fccbBrEAwHM1jA/A+52t6Iv6Jg== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/keystore/ffb64e29573682f118fdf41ca4184982ce9b7a740f29bfdff0184d67510c2c5a_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgNWv5dKb/5T8047zQ 3 | pBu/hcLHuJ2PFumXCF+at4CNfc6hRANCAAQP+kaCvGIeGARWY4czBVkBqTIyhZM+ 4 | JQNF0bKcbJUP3lShMCRzOsVTU+uPFLJ/I+RYf9R03ytgsXrV1eqf9ZnB 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/signcerts/ord1-hlf-ord.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICNzCCAd2gAwIBAgIRANmVqT0afP5j+k4YH0HUgGkwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBpMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEtMCsGA1UEAxMkb3JkMS1obGYt 8 | b3JkLmFscGhhLnN2Yy5jbHVzdGVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAED/pGgrxiHhgEVmOHMwVZAakyMoWTPiUDRdGynGyVD95UoTAkczrFU1Pr 10 | jxSyfyPkWH/UdN8rYLF61dXqn/WZwaNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1Ud 11 | EwEB/wQCMAAwKwYDVR0jBCQwIoAgnoxMCgep1sf6nxBHzT0jfmN5W/oN3xPYpitT 12 | cLxqjLwwCgYIKoZIzj0EAwIDSAAwRQIhAPcH70RQaLRaL3CihUUVEn1A0m/0JH8G 13 | 0QqY7p1sj8f6AiAT8P9qBNJx3tgYwRKGqBXZa6GzsrIVaDAY1pFalBXO6g== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/tlscacerts/tlsca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICmTCCAj+gAwIBAgIQCV+snsxcJLrqfk93goJEwjAKBggqhkjOPQQDAjCBhDEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYD 5 | VQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDAeFw0xOTA2MjkxNTMz 6 | MDBaFw0yOTA2MjYxNTMzMDBaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMS0wKwYDVQQDEyRvcmQxLWhs 8 | Zi1vcmQuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjO 9 | PQMBBwNCAARB9uQRoLMJG0W4BPmCEAMmORkfiZ7IukFjGqf6d8bUg7c9flq6NqE4 10 | 1yKfS0x06hSTrLfQaJtVW3x9cXrZalZgo4GsMIGpMA4GA1UdDwEB/wQEAwIFoDAd 11 | BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADArBgNV 12 | HSMEJDAigCD2z+tqOax+/nArOuayPpr5F5HBLzmY6j5dWoFpnWltFDA9BgNVHREE 13 | NjA0giRvcmQxLWhsZi1vcmQuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWyCDG9yZDEt 14 | aGxmLW9yZDAKBggqhkjOPQQDAgNIADBFAiEA45ZkOO8T5PvqUrVCt7MuMn/gzFkV 15 | LyPDBE7hpRM+BB4CIH5VCr5qB7YZ7Qmm8cYU5hOFeBwvS/5Xns2GMKQqliy0 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOYTNibEBqob2w3h2 3 | rbZ/wpXqYXJIPhL+Sm876CiR+DWhRANCAARB9uQRoLMJG0W4BPmCEAMmORkfiZ7I 4 | ukFjGqf6d8bUg7c9flq6NqE41yKfS0x06hSTrLfQaJtVW3x9cXrZalZg 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/tlsca/f6cfeb6a39ac7efe702b3ae6b23e9af91791c12f3998ea3e5d5a81699d696d14_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgoHcJ2yWyZIUjXnzV 3 | KnM0KByBvaoXQD/ZRQoSRioVZv6hRANCAAQjyHFr1gsVdbgH1VeHbFHlphn1LNzp 4 | VHi18qHtCTEVFaiEtBXK1jjQDu3u3XKkaH18lswC5MyzvlUI42KOcoLL 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/tlsca/tlsca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/admincerts/Admin@alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMDCCAdagAwIBAgIRAIy1A4qgt45FdnU8UW46zUYwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBiMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UEAwwdQWRtaW5AYWxw 8 | aGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ9 9 | UKDtGfukjdeFjEkkY3dDLhYMkvOY0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUx 10 | ZdDLJycnb5F8A1iOj0GJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw 11 | ADArBgNVHSMEJDAigCCejEwKB6nWx/qfEEfNPSN+Y3lb+g3fE9imK1NwvGqMvDAK 12 | BggqhkjOPQQDAgNIADBFAiEA2xvqho2DJ2KIHfN9uvXd4HIrdxBpPcTslmgcXDFy 13 | r0MCICldH0iCbKZnrjkoP+lnALcRgyPG+v3t1r5BBrV9HQD8 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/cacerts/ca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAgigAwIBAgIRAMBsbc9uSpXCnqxs3vZGND0wCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSMwIQYDVQQDExpjYS5hbHBoYS5zdmMuY2x1c3Rlci5s 9 | b2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4lcH0W9ZKDtsDwMPUaf3/h 10 | +aPPvymh1eNj1b4cFkbW7T2gF1YQFlPT3xonuUTmKty+3JOeq9Qan/gmIljMiG+j 11 | XzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQF 12 | MAMBAf8wKQYDVR0OBCIEIJ6MTAoHqdbH+p8QR809I35jeVv6Dd8T2KYrU3C8aoy8 13 | MAoGCCqGSM49BAMCA0cAMEQCIEXeMuLn1WLMMH1nForg2IZofleAZhPNfg6x63yM 14 | CJXdAiB3dTpBoOMtBJwPtjI2fccbBrEAwHM1jA/A+52t6Iv6Jg== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/keystore/ba11f3aee63fb8cdc827605561051a856d00ce24e735101a17ae0a3e17181d4e_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgHOq6VMgXSc4ztKhZ 3 | HiW5oO4ZQLK4NbQkZKLnx9EdSDGhRANCAAQ9UKDtGfukjdeFjEkkY3dDLhYMkvOY 4 | 0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUxZdDLJycnb5F8A1iOj0GJ 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/signcerts/Admin@alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMDCCAdagAwIBAgIRAIy1A4qgt45FdnU8UW46zUYwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBiMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UEAwwdQWRtaW5AYWxw 8 | aGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ9 9 | UKDtGfukjdeFjEkkY3dDLhYMkvOY0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUx 10 | ZdDLJycnb5F8A1iOj0GJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw 11 | ADArBgNVHSMEJDAigCCejEwKB6nWx/qfEEfNPSN+Y3lb+g3fE9imK1NwvGqMvDAK 12 | BggqhkjOPQQDAgNIADBFAiEA2xvqho2DJ2KIHfN9uvXd4HIrdxBpPcTslmgcXDFy 13 | r0MCICldH0iCbKZnrjkoP+lnALcRgyPG+v3t1r5BBrV9HQD8 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/tlscacerts/tlsca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUTCCAfegAwIBAgIQIyCJxOJYLsizJLHSynKS/DAKBggqhkjOPQQDAjCBhDEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYD 5 | VQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDAeFw0xOTA2MjkxNTMz 6 | MDBaFw0yOTA2MjYxNTMzMDBaMGIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSYwJAYDVQQDDB1BZG1pbkBh 8 | bHBoYS5zdmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 9 | BFRQTf6DJraXf6gsXbOd7Z6yQ6Fg3Zj4SuKQaZwejBb9nrTt+4+qM8A24wQNmlsL 10 | RegT86+4hIbh3NDZ3YIs6qyjbDBqMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAU 11 | BggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCD2 12 | z+tqOax+/nArOuayPpr5F5HBLzmY6j5dWoFpnWltFDAKBggqhkjOPQQDAgNIADBF 13 | AiEAt5QxRSL/HibQH2Bau+1ja0C3S+gIwKbAZSAbtJqZm3ICIGVO6WV/L5ZkUMrC 14 | 7JOpu399qDcc5vejX/QHUYkqaPqj 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgD/GLJdr0IhnhK7De 3 | tzlhFT8dlVEYYQMlR4P8g4DzCg2hRANCAARUUE3+gya2l3+oLF2zne2eskOhYN2Y 4 | +ErikGmcHowW/Z607fuPqjPANuMEDZpbC0XoE/OvuISG4dzQ2d2CLOqs 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/ca/8005aa0c5f808abd4ed99dbe741d92e2dddd585a55609f41c43944261912aed2_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgF0rOYIV/0779tzwP 3 | QPdmCk89FiDTO/+m/tVr2Ziow0ShRANCAATx/bBAieYzhAxZSlvl5rF8xSQiIwdb 4 | SD82sbj5nPWSUQj+uyZIhWQrjcK8lFyIbV3wL2GTCpYzM/N5bAAu2WAi 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/ca/ca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXDCCAgKgAwIBAgIRAMre10aA0vOEuiMQXp3Cy/EwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEChMWYmV0YS5zdmMuY2x1 8 | c3Rlci5sb2NhbDEiMCAGA1UEAxMZY2EuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZ 9 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABPH9sECJ5jOEDFlKW+XmsXzFJCIjB1tI 10 | PzaxuPmc9ZJRCP67JkiFZCuNwryUXIhtXfAvYZMKljMz83lsAC7ZYCKjXzBdMA4G 11 | A1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8w 12 | KQYDVR0OBCIEIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 13 | SM49BAMCA0gAMEUCIQC5y2H/UlYPoNlKUTsDC0dhOtD20GtMvW7H6PNnUsAzTAIg 14 | CgFE0nMat2Nftgdv1vvcKLWldIEzqjIE8GNYFxMCy2M= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/msp/admincerts/Admin@beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIRALqsOOtfMCBeoouGLahj/C0wCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzElMCMGA1UEAwwcQWRtaW5AYmV0YS5z 8 | dmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1loKSi 9 | dnME3rJjSqemWuhXmHV7n4Ooc3XR04jkZJex8apbKE8CkGkcpx/JlxmaCsLCJFHt 10 | AHbQ2qrhgcHYWKqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 12 | SM49BAMCA0gAMEUCIQDR0JSiNZNtA31eDToh/IQ5ZWjWJFRCHUbIXRt3RQbOUAIg 13 | d7YkbNTeo/b5ZEyIaYE9N8WhADkxCfmhK0jIdJg+Esk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/msp/cacerts/ca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXDCCAgKgAwIBAgIRAMre10aA0vOEuiMQXp3Cy/EwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEChMWYmV0YS5zdmMuY2x1 8 | c3Rlci5sb2NhbDEiMCAGA1UEAxMZY2EuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZ 9 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABPH9sECJ5jOEDFlKW+XmsXzFJCIjB1tI 10 | PzaxuPmc9ZJRCP67JkiFZCuNwryUXIhtXfAvYZMKljMz83lsAC7ZYCKjXzBdMA4G 11 | A1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8w 12 | KQYDVR0OBCIEIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 13 | SM49BAMCA0gAMEUCIQC5y2H/UlYPoNlKUTsDC0dhOtD20GtMvW7H6PNnUsAzTAIg 14 | CgFE0nMat2Nftgdv1vvcKLWldIEzqjIE8GNYFxMCy2M= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/msp/tlscacerts/tlsca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/admincerts/Admin@beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIRALqsOOtfMCBeoouGLahj/C0wCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzElMCMGA1UEAwwcQWRtaW5AYmV0YS5z 8 | dmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1loKSi 9 | dnME3rJjSqemWuhXmHV7n4Ooc3XR04jkZJex8apbKE8CkGkcpx/JlxmaCsLCJFHt 10 | AHbQ2qrhgcHYWKqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 12 | SM49BAMCA0gAMEUCIQDR0JSiNZNtA31eDToh/IQ5ZWjWJFRCHUbIXRt3RQbOUAIg 13 | d7YkbNTeo/b5ZEyIaYE9N8WhADkxCfmhK0jIdJg+Esk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/cacerts/ca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXDCCAgKgAwIBAgIRAMre10aA0vOEuiMQXp3Cy/EwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEChMWYmV0YS5zdmMuY2x1 8 | c3Rlci5sb2NhbDEiMCAGA1UEAxMZY2EuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZ 9 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABPH9sECJ5jOEDFlKW+XmsXzFJCIjB1tI 10 | PzaxuPmc9ZJRCP67JkiFZCuNwryUXIhtXfAvYZMKljMz83lsAC7ZYCKjXzBdMA4G 11 | A1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8w 12 | KQYDVR0OBCIEIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 13 | SM49BAMCA0gAMEUCIQC5y2H/UlYPoNlKUTsDC0dhOtD20GtMvW7H6PNnUsAzTAIg 14 | CgFE0nMat2Nftgdv1vvcKLWldIEzqjIE8GNYFxMCy2M= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/keystore/351f0dda5fe4ea25b675d7251a606aabd20d8248c4da1cd7d7e6e4e8691f027f_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgKRm14sPMbY/PIlEO 3 | Wfx4hgt2ejara+sXFEY4iCPjwvKhRANCAAS2l7+hP9XB8belx2XGMbZKweDYl0aC 4 | +F5U7ra3cTjWxDxOXw4vIbX3aazVLsX21Xi11iTN8Xa9OSzhy3rJ9nl1 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/signcerts/peer1-hlf-peer.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICNDCCAdugAwIBAgIRAJutpDSnmg1Epq9Qj5xB6BYwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEuMCwGA1UEAxMlcGVlcjEtaGxmLXBl 8 | ZXIuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEH 9 | A0IABLaXv6E/1cHxt6XHZcYxtkrB4NiXRoL4XlTutrdxONbEPE5fDi8htfdprNUu 10 | xfbVeLXWJM3xdr05LOHLesn2eXWjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMB 11 | Af8EAjAAMCsGA1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZ 12 | Eq7SMAoGCCqGSM49BAMCA0cAMEQCIE4VAPHmFKn8Z8et2x87UK+mYv4HNIRFCMXk 13 | ViPW2njqAiBCF725LH1C3B8xgwOfSziDCisFlV9m3HsrjCtJHonqCA== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/tlscacerts/tlsca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICmjCCAkGgAwIBAgIQT1ik1D6kk7Ey4mmbpwqYhjAKBggqhkjOPQQDAjCBgjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxJTAjBgNV 5 | BAMTHHRsc2NhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEuMCwGA1UEAxMlcGVlcjEtaGxm 8 | LXBlZXIuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABFIke+hu4y7KIhJUj8Oo9RTnabnzcQt/YUhic8wBZac4UdWRfaSJbIYh 10 | NDqHWaB0zsW3eoBn+Jms+Xt0LszgYs+jga8wgawwDgYDVR0PAQH/BAQDAgWgMB0G 11 | A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMCsGA1Ud 12 | IwQkMCKAIAwdiBf3eZqlduEpT2qo/gOXPU1Kli8rwQoETcKiF/j9MEAGA1UdEQQ5 13 | MDeCJXBlZXIxLWhsZi1wZWVyLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWyCDnBlZXIx 14 | LWhsZi1wZWVyMAoGCCqGSM49BAMCA0cAMEQCIG966gqQZyOhfG/x06MbkH0id54W 15 | JN0PtFnCLOdW3yfCAiAlJLu3VP4hTJ/N5QYdfMScD8cK99mUCv9MkAqgRcqLRw== 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgwC+XgyQsQszEMFZ9 3 | ZyobBiTrnzBsj/KXYE4G8NsslHOhRANCAARSJHvobuMuyiISVI/DqPUU52m583EL 4 | f2FIYnPMAWWnOFHVkX2kiWyGITQ6h1mgdM7Ft3qAZ/iZrPl7dC7M4GLP 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/tlsca/0c1d8817f7799aa576e1294f6aa8fe03973d4d4a962f2bc10a044dc2a217f8fd_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9eQL015A88YE0gIS 3 | z6ZCI2ho7Gfefyp8mVV3g8nv/eGhRANCAASzSno/4TGXs9x9wSbB5sWLZzRTOhHB 4 | vQRe1UbIx9d01WwTCC0Y+A3kLwURBoqVh5pNe1bDZ2xah+e7SAnKG663 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/tlsca/tlsca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/admincerts/Admin@beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIRALqsOOtfMCBeoouGLahj/C0wCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzElMCMGA1UEAwwcQWRtaW5AYmV0YS5z 8 | dmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1loKSi 9 | dnME3rJjSqemWuhXmHV7n4Ooc3XR04jkZJex8apbKE8CkGkcpx/JlxmaCsLCJFHt 10 | AHbQ2qrhgcHYWKqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 12 | SM49BAMCA0gAMEUCIQDR0JSiNZNtA31eDToh/IQ5ZWjWJFRCHUbIXRt3RQbOUAIg 13 | d7YkbNTeo/b5ZEyIaYE9N8WhADkxCfmhK0jIdJg+Esk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/cacerts/ca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXDCCAgKgAwIBAgIRAMre10aA0vOEuiMQXp3Cy/EwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEChMWYmV0YS5zdmMuY2x1 8 | c3Rlci5sb2NhbDEiMCAGA1UEAxMZY2EuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZ 9 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABPH9sECJ5jOEDFlKW+XmsXzFJCIjB1tI 10 | PzaxuPmc9ZJRCP67JkiFZCuNwryUXIhtXfAvYZMKljMz83lsAC7ZYCKjXzBdMA4G 11 | A1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8w 12 | KQYDVR0OBCIEIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 13 | SM49BAMCA0gAMEUCIQC5y2H/UlYPoNlKUTsDC0dhOtD20GtMvW7H6PNnUsAzTAIg 14 | CgFE0nMat2Nftgdv1vvcKLWldIEzqjIE8GNYFxMCy2M= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/keystore/8bddfb366cd93701e0e5072e4693a6c908658cf5dcbbcd2bef93d81b8ac03f09_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgpCd/1dSaYxyAtzUu 3 | opQ8r6DSGtQPFn61Sb+gvp1FtmChRANCAATtZaCkonZzBN6yY0qnplroV5h1e5+D 4 | qHN10dOI5GSXsfGqWyhPApBpHKcfyZcZmgrCwiRR7QB20Nqq4YHB2Fiq 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/signcerts/Admin@beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIRALqsOOtfMCBeoouGLahj/C0wCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzElMCMGA1UEAwwcQWRtaW5AYmV0YS5z 8 | dmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1loKSi 9 | dnME3rJjSqemWuhXmHV7n4Ooc3XR04jkZJex8apbKE8CkGkcpx/JlxmaCsLCJFHt 10 | AHbQ2qrhgcHYWKqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 12 | SM49BAMCA0gAMEUCIQDR0JSiNZNtA31eDToh/IQ5ZWjWJFRCHUbIXRt3RQbOUAIg 13 | d7YkbNTeo/b5ZEyIaYE9N8WhADkxCfmhK0jIdJg+Esk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/tlscacerts/tlsca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICTjCCAfWgAwIBAgIRAJvf6gSIPTxe17kRUiaAg5kwCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowYTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xJTAjBgNVBAMMHEFkbWluQGJl 8 | dGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS/ 9 | +f0IjqtNOmG1TnHHqS3hPbG/CkkLq2TmQYgA8Ur4iOw//J/m9Rg7MLn8+1hbs8VO 10 | OtITlkNYqIWrss/VI83Yo2wwajAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYI 11 | KwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgDB2I 12 | F/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX+P0wCgYIKoZIzj0EAwIDRwAwRAIg 13 | DZYKdHEyyIBd0mWztYYgrb1vLkGH+qt0f5KhDFfYnBQCIDcWKRmZr8gZQdqPJEVy 14 | qjmtUpuDFrjW2lRex6HwKge0 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev-tls/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg7olMU7GMkR43Kvv2 3 | kbEM6EEH6IOY3iXflX4nXxm7/F+hRANCAAS/+f0IjqtNOmG1TnHHqS3hPbG/CkkL 4 | q2TmQYgA8Ur4iOw//J/m9Rg7MLn8+1hbs8VOOtITlkNYqIWrss/VI83Y 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev-tls/helm_values/AlphaMSP/hlf-ord/ord1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | ord: 9 | type: Solo 10 | mspID: AlphaMSP 11 | tls: 12 | server: 13 | enabled: "true" 14 | secrets: 15 | ord: 16 | cert: hlf--ord1-idcert 17 | key: hlf--ord1-idkey 18 | caCert: hlf--alphaadmin-cacert 19 | tls: hlf--ord1-tls 20 | tlsRootCert: hlf--orderer-tlsrootcert 21 | genesis: hlf--genesis 22 | adminCert: hlf--alphaadmin-idcert 23 | -------------------------------------------------------------------------------- /examples/dev-tls/helm_values/BetaMSP/hlf-couchdb/cdb-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.15 3 | 4 | persistence: 5 | size: 1Gi 6 | -------------------------------------------------------------------------------- /examples/dev-tls/helm_values/BetaMSP/hlf-peer/peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-peer1 11 | mspID: BetaMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--peer1-idcert 16 | key: hlf--peer1-idkey 17 | caCert: hlf--betaadmin-cacert 18 | ordTlsRootCert: hlf--tls-client-orderer-certs 19 | channels: 20 | - hlf--foochannel 21 | adminCert: hlf--betaadmin-idcert 22 | adminKey: hlf--betaadmin-idkey 23 | 24 | -------------------------------------------------------------------------------- /examples/dev-tls/nephos_config.yaml: -------------------------------------------------------------------------------- 1 | core: 2 | # Comment out to make it work on your cluster 3 | cluster: minikube 4 | # ChartMuseum repository or directory holding charts 5 | chart_repo: stable 6 | # Directory where we hold configtx.yaml 7 | dir_config: ./examples/dev-tls/config 8 | # Directory where we hold: 9 | # 1) cryptographic material 10 | # 2) genesis block and 11 | # 3) channel transaction 12 | # Directory where we hold crypto-material 13 | dir_crypto: ./examples/dev-tls/crypto 14 | # Directory where the Helm Chart values reside 15 | dir_values: ./examples/dev-tls/helm_values 16 | cas: {} 17 | ordering: 18 | secret_genesis: hlf--genesis 19 | tls: 20 | enable: true 21 | msps: 22 | AlphaMSP: 23 | ca: ca 24 | name: AlphaMSP 25 | namespace: alpha 26 | org_admin: alphaadmin 27 | # org_passwd: # Set implicitly 28 | orderers: 29 | domain: alpha.svc.cluster.local 30 | nodes: 31 | ord1: {} 32 | secret_genesis: hlf--genesis 33 | BetaMSP: 34 | ca: ca 35 | name: BetaMSP 36 | namespace: beta 37 | org_admin: betaadmin 38 | # org_passwd: # Set implicitly 39 | orderers: {} 40 | peers: 41 | domain: beta.svc.cluster.local 42 | nodes: 43 | peer1: {} 44 | channels: 45 | foochannel: 46 | msps: 47 | - BetaMSP 48 | channel_name: foochannel 49 | channel_profile: "FooChannel" 50 | secret_channel: hlf--foochannel 51 | # This is only used when we implement a Composer network 52 | composer: 53 | name: hlc 54 | secret_bna: hlc--bna 55 | secret_connection: hlc--connection 56 | # You can specify a particular version of a chart for each chart used, or use the latest by default 57 | versions: 58 | postgresql: 59 | hlf-ca: 60 | kafka: 61 | hlf-ord: 62 | hlf-couchdb: 63 | hlf-peer: 64 | hl-composer: 65 | -------------------------------------------------------------------------------- /examples/dev/config/crypto-config.yaml: -------------------------------------------------------------------------------- 1 | # Copyright IBM Corp. All Rights Reserved. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | 6 | # --------------------------------------------------------------------------- 7 | # "OrdererOrgs" - Definition of organizations managing orderer nodes 8 | # --------------------------------------------------------------------------- 9 | OrdererOrgs: 10 | # --------------------------------------------------------------------------- 11 | # OrdererOrg 12 | # --------------------------------------------------------------------------- 13 | - Name: AlphaOrg 14 | Domain: alpha.svc.cluster.local 15 | # --------------------------------------------------------------------------- 16 | # "Specs" - See PeerOrgs below for complete description 17 | # --------------------------------------------------------------------------- 18 | Specs: 19 | - Hostname: ord1-hlf-ord 20 | # --------------------------------------------------------------------------- 21 | # "PeerOrgs" - Definition of organizations managing peer nodes 22 | # --------------------------------------------------------------------------- 23 | PeerOrgs: 24 | # --------------------------------------------------------------------------- 25 | # PeerOrg 26 | # --------------------------------------------------------------------------- 27 | - Name: BetaOrg 28 | Domain: beta.svc.cluster.local 29 | # --------------------------------------------------------------------------- 30 | # "Specs" 31 | # --------------------------------------------------------------------------- 32 | # Uncomment this section to enable the explicit definition of hosts in your 33 | # configuration. Most users will want to use Template, below 34 | # 35 | # Specs is an array of Spec entries. Each Spec entry consists of two fields: 36 | # - Hostname: (Required) The desired hostname, sans the domain. 37 | # - CommonName: (Optional) Specifies the template or explicit override for 38 | # the CN. By default, this is the template: 39 | # 40 | # "{{.Hostname}}.{{.Domain}}" 41 | # 42 | # which obtains its values from the Spec.Hostname and 43 | # Org.Domain, respectively. 44 | # --------------------------------------------------------------------------- 45 | # Specs: 46 | # - Hostname: foo # implicitly "foo.org1.example.com" 47 | # CommonName: foo27.org5.example.com # overrides Hostname-based FQDN set above 48 | # - Hostname: bar 49 | # - Hostname: baz 50 | # --------------------------------------------------------------------------- 51 | # "Template" 52 | # --------------------------------------------------------------------------- 53 | # Allows for the definition of 1 or more hosts that are created sequentially 54 | # from a template. By default, this looks like "peer%d" from 0 to Count-1. 55 | # You may override the number of nodes (Count), the starting index (Start) 56 | # or the template used to construct the name (Hostname). 57 | # 58 | # Note: Template and Specs are not mutually exclusive. You may define both 59 | # sections and the aggregate nodes will be created for you. Take care with 60 | # name collisions 61 | # --------------------------------------------------------------------------- 62 | Template: 63 | Count: 1 64 | Start: 1 65 | Hostname: "{{.Prefix}}{{.Index}}-hlf-peer" # default 66 | # --------------------------------------------------------------------------- 67 | # "Users" 68 | # --------------------------------------------------------------------------- 69 | # Count: The number of user accounts _in addition_ to Admin 70 | # --------------------------------------------------------------------------- 71 | Users: 72 | Count: 0 73 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/ca/9e8c4c0a07a9d6c7fa9f1047cd3d237e63795bfa0ddf13d8a62b5370bc6a8cbc_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgJ71823xf9GYV8NCT 3 | sxHqUDci9NR6hJ5II4ZTZDKYp8ehRANCAATOJXB9FvWSg7bA8DD1Gn9/4fmjz78p 4 | odXjY9W+HBZG1u09oBdWEBZT098aJ7lE5ircvtyTnqvUGp/4JiJYzIhv 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/ca/ca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAgigAwIBAgIRAMBsbc9uSpXCnqxs3vZGND0wCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSMwIQYDVQQDExpjYS5hbHBoYS5zdmMuY2x1c3Rlci5s 9 | b2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4lcH0W9ZKDtsDwMPUaf3/h 10 | +aPPvymh1eNj1b4cFkbW7T2gF1YQFlPT3xonuUTmKty+3JOeq9Qan/gmIljMiG+j 11 | XzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQF 12 | MAMBAf8wKQYDVR0OBCIEIJ6MTAoHqdbH+p8QR809I35jeVv6Dd8T2KYrU3C8aoy8 13 | MAoGCCqGSM49BAMCA0cAMEQCIEXeMuLn1WLMMH1nForg2IZofleAZhPNfg6x63yM 14 | CJXdAiB3dTpBoOMtBJwPtjI2fccbBrEAwHM1jA/A+52t6Iv6Jg== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/msp/admincerts/Admin@alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMDCCAdagAwIBAgIRAIy1A4qgt45FdnU8UW46zUYwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBiMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UEAwwdQWRtaW5AYWxw 8 | aGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ9 9 | UKDtGfukjdeFjEkkY3dDLhYMkvOY0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUx 10 | ZdDLJycnb5F8A1iOj0GJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw 11 | ADArBgNVHSMEJDAigCCejEwKB6nWx/qfEEfNPSN+Y3lb+g3fE9imK1NwvGqMvDAK 12 | BggqhkjOPQQDAgNIADBFAiEA2xvqho2DJ2KIHfN9uvXd4HIrdxBpPcTslmgcXDFy 13 | r0MCICldH0iCbKZnrjkoP+lnALcRgyPG+v3t1r5BBrV9HQD8 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/msp/cacerts/ca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAgigAwIBAgIRAMBsbc9uSpXCnqxs3vZGND0wCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSMwIQYDVQQDExpjYS5hbHBoYS5zdmMuY2x1c3Rlci5s 9 | b2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4lcH0W9ZKDtsDwMPUaf3/h 10 | +aPPvymh1eNj1b4cFkbW7T2gF1YQFlPT3xonuUTmKty+3JOeq9Qan/gmIljMiG+j 11 | XzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQF 12 | MAMBAf8wKQYDVR0OBCIEIJ6MTAoHqdbH+p8QR809I35jeVv6Dd8T2KYrU3C8aoy8 13 | MAoGCCqGSM49BAMCA0cAMEQCIEXeMuLn1WLMMH1nForg2IZofleAZhPNfg6x63yM 14 | CJXdAiB3dTpBoOMtBJwPtjI2fccbBrEAwHM1jA/A+52t6Iv6Jg== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/msp/tlscacerts/tlsca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/admincerts/Admin@alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMDCCAdagAwIBAgIRAIy1A4qgt45FdnU8UW46zUYwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBiMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UEAwwdQWRtaW5AYWxw 8 | aGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ9 9 | UKDtGfukjdeFjEkkY3dDLhYMkvOY0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUx 10 | ZdDLJycnb5F8A1iOj0GJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw 11 | ADArBgNVHSMEJDAigCCejEwKB6nWx/qfEEfNPSN+Y3lb+g3fE9imK1NwvGqMvDAK 12 | BggqhkjOPQQDAgNIADBFAiEA2xvqho2DJ2KIHfN9uvXd4HIrdxBpPcTslmgcXDFy 13 | r0MCICldH0iCbKZnrjkoP+lnALcRgyPG+v3t1r5BBrV9HQD8 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/cacerts/ca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAgigAwIBAgIRAMBsbc9uSpXCnqxs3vZGND0wCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSMwIQYDVQQDExpjYS5hbHBoYS5zdmMuY2x1c3Rlci5s 9 | b2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4lcH0W9ZKDtsDwMPUaf3/h 10 | +aPPvymh1eNj1b4cFkbW7T2gF1YQFlPT3xonuUTmKty+3JOeq9Qan/gmIljMiG+j 11 | XzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQF 12 | MAMBAf8wKQYDVR0OBCIEIJ6MTAoHqdbH+p8QR809I35jeVv6Dd8T2KYrU3C8aoy8 13 | MAoGCCqGSM49BAMCA0cAMEQCIEXeMuLn1WLMMH1nForg2IZofleAZhPNfg6x63yM 14 | CJXdAiB3dTpBoOMtBJwPtjI2fccbBrEAwHM1jA/A+52t6Iv6Jg== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/keystore/ffb64e29573682f118fdf41ca4184982ce9b7a740f29bfdff0184d67510c2c5a_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgNWv5dKb/5T8047zQ 3 | pBu/hcLHuJ2PFumXCF+at4CNfc6hRANCAAQP+kaCvGIeGARWY4czBVkBqTIyhZM+ 4 | JQNF0bKcbJUP3lShMCRzOsVTU+uPFLJ/I+RYf9R03ytgsXrV1eqf9ZnB 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/signcerts/ord1-hlf-ord.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICNzCCAd2gAwIBAgIRANmVqT0afP5j+k4YH0HUgGkwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBpMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEtMCsGA1UEAxMkb3JkMS1obGYt 8 | b3JkLmFscGhhLnN2Yy5jbHVzdGVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAED/pGgrxiHhgEVmOHMwVZAakyMoWTPiUDRdGynGyVD95UoTAkczrFU1Pr 10 | jxSyfyPkWH/UdN8rYLF61dXqn/WZwaNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1Ud 11 | EwEB/wQCMAAwKwYDVR0jBCQwIoAgnoxMCgep1sf6nxBHzT0jfmN5W/oN3xPYpitT 12 | cLxqjLwwCgYIKoZIzj0EAwIDSAAwRQIhAPcH70RQaLRaL3CihUUVEn1A0m/0JH8G 13 | 0QqY7p1sj8f6AiAT8P9qBNJx3tgYwRKGqBXZa6GzsrIVaDAY1pFalBXO6g== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/msp/tlscacerts/tlsca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICmTCCAj+gAwIBAgIQCV+snsxcJLrqfk93goJEwjAKBggqhkjOPQQDAjCBhDEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYD 5 | VQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDAeFw0xOTA2MjkxNTMz 6 | MDBaFw0yOTA2MjYxNTMzMDBaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMS0wKwYDVQQDEyRvcmQxLWhs 8 | Zi1vcmQuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjO 9 | PQMBBwNCAARB9uQRoLMJG0W4BPmCEAMmORkfiZ7IukFjGqf6d8bUg7c9flq6NqE4 10 | 1yKfS0x06hSTrLfQaJtVW3x9cXrZalZgo4GsMIGpMA4GA1UdDwEB/wQEAwIFoDAd 11 | BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADArBgNV 12 | HSMEJDAigCD2z+tqOax+/nArOuayPpr5F5HBLzmY6j5dWoFpnWltFDA9BgNVHREE 13 | NjA0giRvcmQxLWhsZi1vcmQuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWyCDG9yZDEt 14 | aGxmLW9yZDAKBggqhkjOPQQDAgNIADBFAiEA45ZkOO8T5PvqUrVCt7MuMn/gzFkV 15 | LyPDBE7hpRM+BB4CIH5VCr5qB7YZ7Qmm8cYU5hOFeBwvS/5Xns2GMKQqliy0 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/orderers/ord1-hlf-ord.alpha.svc.cluster.local/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOYTNibEBqob2w3h2 3 | rbZ/wpXqYXJIPhL+Sm876CiR+DWhRANCAARB9uQRoLMJG0W4BPmCEAMmORkfiZ7I 4 | ukFjGqf6d8bUg7c9flq6NqE41yKfS0x06hSTrLfQaJtVW3x9cXrZalZg 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/tlsca/f6cfeb6a39ac7efe702b3ae6b23e9af91791c12f3998ea3e5d5a81699d696d14_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgoHcJ2yWyZIUjXnzV 3 | KnM0KByBvaoXQD/ZRQoSRioVZv6hRANCAAQjyHFr1gsVdbgH1VeHbFHlphn1LNzp 4 | VHi18qHtCTEVFaiEtBXK1jjQDu3u3XKkaH18lswC5MyzvlUI42KOcoLL 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/tlsca/tlsca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/admincerts/Admin@alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMDCCAdagAwIBAgIRAIy1A4qgt45FdnU8UW46zUYwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBiMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UEAwwdQWRtaW5AYWxw 8 | aGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ9 9 | UKDtGfukjdeFjEkkY3dDLhYMkvOY0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUx 10 | ZdDLJycnb5F8A1iOj0GJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw 11 | ADArBgNVHSMEJDAigCCejEwKB6nWx/qfEEfNPSN+Y3lb+g3fE9imK1NwvGqMvDAK 12 | BggqhkjOPQQDAgNIADBFAiEA2xvqho2DJ2KIHfN9uvXd4HIrdxBpPcTslmgcXDFy 13 | r0MCICldH0iCbKZnrjkoP+lnALcRgyPG+v3t1r5BBrV9HQD8 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/cacerts/ca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAgigAwIBAgIRAMBsbc9uSpXCnqxs3vZGND0wCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSMwIQYDVQQDExpjYS5hbHBoYS5zdmMuY2x1c3Rlci5s 9 | b2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4lcH0W9ZKDtsDwMPUaf3/h 10 | +aPPvymh1eNj1b4cFkbW7T2gF1YQFlPT3xonuUTmKty+3JOeq9Qan/gmIljMiG+j 11 | XzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQF 12 | MAMBAf8wKQYDVR0OBCIEIJ6MTAoHqdbH+p8QR809I35jeVv6Dd8T2KYrU3C8aoy8 13 | MAoGCCqGSM49BAMCA0cAMEQCIEXeMuLn1WLMMH1nForg2IZofleAZhPNfg6x63yM 14 | CJXdAiB3dTpBoOMtBJwPtjI2fccbBrEAwHM1jA/A+52t6Iv6Jg== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/keystore/ba11f3aee63fb8cdc827605561051a856d00ce24e735101a17ae0a3e17181d4e_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgHOq6VMgXSc4ztKhZ 3 | HiW5oO4ZQLK4NbQkZKLnx9EdSDGhRANCAAQ9UKDtGfukjdeFjEkkY3dDLhYMkvOY 4 | 0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUxZdDLJycnb5F8A1iOj0GJ 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/signcerts/Admin@alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICMDCCAdagAwIBAgIRAIy1A4qgt45FdnU8UW46zUYwCgYIKoZIzj0EAwIwgYEx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEjMCEG 5 | A1UEAxMaY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBiMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UEAwwdQWRtaW5AYWxw 8 | aGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ9 9 | UKDtGfukjdeFjEkkY3dDLhYMkvOY0BEx6n5cZsOYRLR8Xdm2GqzN0otyk8Z4WaUx 10 | ZdDLJycnb5F8A1iOj0GJo00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw 11 | ADArBgNVHSMEJDAigCCejEwKB6nWx/qfEEfNPSN+Y3lb+g3fE9imK1NwvGqMvDAK 12 | BggqhkjOPQQDAgNIADBFAiEA2xvqho2DJ2KIHfN9uvXd4HIrdxBpPcTslmgcXDFy 13 | r0MCICldH0iCbKZnrjkoP+lnALcRgyPG+v3t1r5BBrV9HQD8 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/msp/tlscacerts/tlsca.alpha.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZzCCAg6gAwIBAgIRAMZ3uAtfJdPY1MEuyskXPTEwCgYIKoZIzj0EAwIwgYQx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMSAwHgYDVQQKExdhbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDEmMCQG 5 | A1UEAxMddGxzY2EuYWxwaGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUz 6 | MzAwWhcNMjkwNjI2MTUzMzAwWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 7 | bGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xIDAeBgNVBAoTF2FscGhh 8 | LnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYDVQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1 9 | c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCPIcWvWCxV1uAfV 10 | V4dsUeWmGfUs3OlUeLXyoe0JMRUVqIS0FcrWONAO7e7dcqRofXyWzALkzLO+VQjj 11 | Yo5ygsujXzBdMA4GA1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1Ud 12 | EwEB/wQFMAMBAf8wKQYDVR0OBCIEIPbP62o5rH7+cCs65rI+mvkXkcEvOZjqPl1a 13 | gWmdaW0UMAoGCCqGSM49BAMCA0cAMEQCIH3MdbsMy7OjOIjIhLeOxnaSMvd7Ycef 14 | RkYKsJMgPyrhAiAXYTVueu1fab8MFdFv2svMr6fVOqrEh8Q0YG0ac7PA2g== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUTCCAfegAwIBAgIQIyCJxOJYLsizJLHSynKS/DAKBggqhkjOPQQDAjCBhDEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xIDAeBgNVBAoTF2FscGhhLnN2Yy5jbHVzdGVyLmxvY2FsMSYwJAYD 5 | VQQDEx10bHNjYS5hbHBoYS5zdmMuY2x1c3Rlci5sb2NhbDAeFw0xOTA2MjkxNTMz 6 | MDBaFw0yOTA2MjYxNTMzMDBaMGIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSYwJAYDVQQDDB1BZG1pbkBh 8 | bHBoYS5zdmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 9 | BFRQTf6DJraXf6gsXbOd7Z6yQ6Fg3Zj4SuKQaZwejBb9nrTt+4+qM8A24wQNmlsL 10 | RegT86+4hIbh3NDZ3YIs6qyjbDBqMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAU 11 | BggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCD2 12 | z+tqOax+/nArOuayPpr5F5HBLzmY6j5dWoFpnWltFDAKBggqhkjOPQQDAgNIADBF 13 | AiEAt5QxRSL/HibQH2Bau+1ja0C3S+gIwKbAZSAbtJqZm3ICIGVO6WV/L5ZkUMrC 14 | 7JOpu399qDcc5vejX/QHUYkqaPqj 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/ordererOrganizations/alpha.svc.cluster.local/users/Admin@alpha.svc.cluster.local/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgD/GLJdr0IhnhK7De 3 | tzlhFT8dlVEYYQMlR4P8g4DzCg2hRANCAARUUE3+gya2l3+oLF2zne2eskOhYN2Y 4 | +ErikGmcHowW/Z607fuPqjPANuMEDZpbC0XoE/OvuISG4dzQ2d2CLOqs 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/ca/8005aa0c5f808abd4ed99dbe741d92e2dddd585a55609f41c43944261912aed2_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgF0rOYIV/0779tzwP 3 | QPdmCk89FiDTO/+m/tVr2Ziow0ShRANCAATx/bBAieYzhAxZSlvl5rF8xSQiIwdb 4 | SD82sbj5nPWSUQj+uyZIhWQrjcK8lFyIbV3wL2GTCpYzM/N5bAAu2WAi 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/ca/ca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXDCCAgKgAwIBAgIRAMre10aA0vOEuiMQXp3Cy/EwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEChMWYmV0YS5zdmMuY2x1 8 | c3Rlci5sb2NhbDEiMCAGA1UEAxMZY2EuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZ 9 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABPH9sECJ5jOEDFlKW+XmsXzFJCIjB1tI 10 | PzaxuPmc9ZJRCP67JkiFZCuNwryUXIhtXfAvYZMKljMz83lsAC7ZYCKjXzBdMA4G 11 | A1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8w 12 | KQYDVR0OBCIEIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 13 | SM49BAMCA0gAMEUCIQC5y2H/UlYPoNlKUTsDC0dhOtD20GtMvW7H6PNnUsAzTAIg 14 | CgFE0nMat2Nftgdv1vvcKLWldIEzqjIE8GNYFxMCy2M= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/msp/admincerts/Admin@beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIRALqsOOtfMCBeoouGLahj/C0wCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzElMCMGA1UEAwwcQWRtaW5AYmV0YS5z 8 | dmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1loKSi 9 | dnME3rJjSqemWuhXmHV7n4Ooc3XR04jkZJex8apbKE8CkGkcpx/JlxmaCsLCJFHt 10 | AHbQ2qrhgcHYWKqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 12 | SM49BAMCA0gAMEUCIQDR0JSiNZNtA31eDToh/IQ5ZWjWJFRCHUbIXRt3RQbOUAIg 13 | d7YkbNTeo/b5ZEyIaYE9N8WhADkxCfmhK0jIdJg+Esk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/msp/cacerts/ca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXDCCAgKgAwIBAgIRAMre10aA0vOEuiMQXp3Cy/EwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEChMWYmV0YS5zdmMuY2x1 8 | c3Rlci5sb2NhbDEiMCAGA1UEAxMZY2EuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZ 9 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABPH9sECJ5jOEDFlKW+XmsXzFJCIjB1tI 10 | PzaxuPmc9ZJRCP67JkiFZCuNwryUXIhtXfAvYZMKljMz83lsAC7ZYCKjXzBdMA4G 11 | A1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8w 12 | KQYDVR0OBCIEIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 13 | SM49BAMCA0gAMEUCIQC5y2H/UlYPoNlKUTsDC0dhOtD20GtMvW7H6PNnUsAzTAIg 14 | CgFE0nMat2Nftgdv1vvcKLWldIEzqjIE8GNYFxMCy2M= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/msp/tlscacerts/tlsca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/admincerts/Admin@beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIRALqsOOtfMCBeoouGLahj/C0wCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzElMCMGA1UEAwwcQWRtaW5AYmV0YS5z 8 | dmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1loKSi 9 | dnME3rJjSqemWuhXmHV7n4Ooc3XR04jkZJex8apbKE8CkGkcpx/JlxmaCsLCJFHt 10 | AHbQ2qrhgcHYWKqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 12 | SM49BAMCA0gAMEUCIQDR0JSiNZNtA31eDToh/IQ5ZWjWJFRCHUbIXRt3RQbOUAIg 13 | d7YkbNTeo/b5ZEyIaYE9N8WhADkxCfmhK0jIdJg+Esk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/cacerts/ca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXDCCAgKgAwIBAgIRAMre10aA0vOEuiMQXp3Cy/EwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEChMWYmV0YS5zdmMuY2x1 8 | c3Rlci5sb2NhbDEiMCAGA1UEAxMZY2EuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZ 9 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABPH9sECJ5jOEDFlKW+XmsXzFJCIjB1tI 10 | PzaxuPmc9ZJRCP67JkiFZCuNwryUXIhtXfAvYZMKljMz83lsAC7ZYCKjXzBdMA4G 11 | A1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8w 12 | KQYDVR0OBCIEIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 13 | SM49BAMCA0gAMEUCIQC5y2H/UlYPoNlKUTsDC0dhOtD20GtMvW7H6PNnUsAzTAIg 14 | CgFE0nMat2Nftgdv1vvcKLWldIEzqjIE8GNYFxMCy2M= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/keystore/351f0dda5fe4ea25b675d7251a606aabd20d8248c4da1cd7d7e6e4e8691f027f_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgKRm14sPMbY/PIlEO 3 | Wfx4hgt2ejara+sXFEY4iCPjwvKhRANCAAS2l7+hP9XB8belx2XGMbZKweDYl0aC 4 | +F5U7ra3cTjWxDxOXw4vIbX3aazVLsX21Xi11iTN8Xa9OSzhy3rJ9nl1 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/signcerts/peer1-hlf-peer.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICNDCCAdugAwIBAgIRAJutpDSnmg1Epq9Qj5xB6BYwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEuMCwGA1UEAxMlcGVlcjEtaGxmLXBl 8 | ZXIuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEH 9 | A0IABLaXv6E/1cHxt6XHZcYxtkrB4NiXRoL4XlTutrdxONbEPE5fDi8htfdprNUu 10 | xfbVeLXWJM3xdr05LOHLesn2eXWjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMB 11 | Af8EAjAAMCsGA1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZ 12 | Eq7SMAoGCCqGSM49BAMCA0cAMEQCIE4VAPHmFKn8Z8et2x87UK+mYv4HNIRFCMXk 13 | ViPW2njqAiBCF725LH1C3B8xgwOfSziDCisFlV9m3HsrjCtJHonqCA== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/msp/tlscacerts/tlsca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICmjCCAkGgAwIBAgIQT1ik1D6kk7Ey4mmbpwqYhjAKBggqhkjOPQQDAjCBgjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxJTAjBgNV 5 | BAMTHHRsc2NhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAw 6 | WhcNMjkwNjI2MTUzMzAwWjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv 7 | cm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEuMCwGA1UEAxMlcGVlcjEtaGxm 8 | LXBlZXIuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49 9 | AwEHA0IABFIke+hu4y7KIhJUj8Oo9RTnabnzcQt/YUhic8wBZac4UdWRfaSJbIYh 10 | NDqHWaB0zsW3eoBn+Jms+Xt0LszgYs+jga8wgawwDgYDVR0PAQH/BAQDAgWgMB0G 11 | A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMCsGA1Ud 12 | IwQkMCKAIAwdiBf3eZqlduEpT2qo/gOXPU1Kli8rwQoETcKiF/j9MEAGA1UdEQQ5 13 | MDeCJXBlZXIxLWhsZi1wZWVyLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWyCDnBlZXIx 14 | LWhsZi1wZWVyMAoGCCqGSM49BAMCA0cAMEQCIG966gqQZyOhfG/x06MbkH0id54W 15 | JN0PtFnCLOdW3yfCAiAlJLu3VP4hTJ/N5QYdfMScD8cK99mUCv9MkAqgRcqLRw== 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/peers/peer1-hlf-peer.beta.svc.cluster.local/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgwC+XgyQsQszEMFZ9 3 | ZyobBiTrnzBsj/KXYE4G8NsslHOhRANCAARSJHvobuMuyiISVI/DqPUU52m583EL 4 | f2FIYnPMAWWnOFHVkX2kiWyGITQ6h1mgdM7Ft3qAZ/iZrPl7dC7M4GLP 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/tlsca/0c1d8817f7799aa576e1294f6aa8fe03973d4d4a962f2bc10a044dc2a217f8fd_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9eQL015A88YE0gIS 3 | z6ZCI2ho7Gfefyp8mVV3g8nv/eGhRANCAASzSno/4TGXs9x9wSbB5sWLZzRTOhHB 4 | vQRe1UbIx9d01WwTCC0Y+A3kLwURBoqVh5pNe1bDZ2xah+e7SAnKG663 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/tlsca/tlsca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/admincerts/Admin@beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIRALqsOOtfMCBeoouGLahj/C0wCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzElMCMGA1UEAwwcQWRtaW5AYmV0YS5z 8 | dmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1loKSi 9 | dnME3rJjSqemWuhXmHV7n4Ooc3XR04jkZJex8apbKE8CkGkcpx/JlxmaCsLCJFHt 10 | AHbQ2qrhgcHYWKqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 12 | SM49BAMCA0gAMEUCIQDR0JSiNZNtA31eDToh/IQ5ZWjWJFRCHUbIXRt3RQbOUAIg 13 | d7YkbNTeo/b5ZEyIaYE9N8WhADkxCfmhK0jIdJg+Esk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/cacerts/ca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICXDCCAgKgAwIBAgIRAMre10aA0vOEuiMQXp3Cy/EwCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEChMWYmV0YS5zdmMuY2x1 8 | c3Rlci5sb2NhbDEiMCAGA1UEAxMZY2EuYmV0YS5zdmMuY2x1c3Rlci5sb2NhbDBZ 9 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABPH9sECJ5jOEDFlKW+XmsXzFJCIjB1tI 10 | PzaxuPmc9ZJRCP67JkiFZCuNwryUXIhtXfAvYZMKljMz83lsAC7ZYCKjXzBdMA4G 11 | A1UdDwEB/wQEAwIBpjAPBgNVHSUECDAGBgRVHSUAMA8GA1UdEwEB/wQFMAMBAf8w 12 | KQYDVR0OBCIEIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 13 | SM49BAMCA0gAMEUCIQC5y2H/UlYPoNlKUTsDC0dhOtD20GtMvW7H6PNnUsAzTAIg 14 | CgFE0nMat2Nftgdv1vvcKLWldIEzqjIE8GNYFxMCy2M= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/keystore/8bddfb366cd93701e0e5072e4693a6c908658cf5dcbbcd2bef93d81b8ac03f09_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgpCd/1dSaYxyAtzUu 3 | opQ8r6DSGtQPFn61Sb+gvp1FtmChRANCAATtZaCkonZzBN6yY0qnplroV5h1e5+D 4 | qHN10dOI5GSXsfGqWyhPApBpHKcfyZcZmgrCwiRR7QB20Nqq4YHB2Fiq 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/signcerts/Admin@beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIRALqsOOtfMCBeoouGLahj/C0wCgYIKoZIzj0EAwIwfzEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xHzAdBgNVBAoTFmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwxIjAgBgNV 5 | BAMTGWNhLmJldGEuc3ZjLmNsdXN0ZXIubG9jYWwwHhcNMTkwNjI5MTUzMzAwWhcN 6 | MjkwNjI2MTUzMzAwWjBhMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p 7 | YTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzElMCMGA1UEAwwcQWRtaW5AYmV0YS5z 8 | dmMuY2x1c3Rlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO1loKSi 9 | dnME3rJjSqemWuhXmHV7n4Ooc3XR04jkZJex8apbKE8CkGkcpx/JlxmaCsLCJFHt 10 | AHbQ2qrhgcHYWKqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAIIAFqgxfgIq9TtmdvnQdkuLd3VhaVWCfQcQ5RCYZEq7SMAoGCCqG 12 | SM49BAMCA0gAMEUCIQDR0JSiNZNtA31eDToh/IQ5ZWjWJFRCHUbIXRt3RQbOUAIg 13 | d7YkbNTeo/b5ZEyIaYE9N8WhADkxCfmhK0jIdJg+Esk= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/msp/tlscacerts/tlsca.beta.svc.cluster.local-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgqgAwIBAgIRAIKZdVFgJauHGkJT3zeQUUswCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp 7 | Zm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2 8 | Yy5jbHVzdGVyLmxvY2FsMSUwIwYDVQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVy 9 | LmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEs0p6P+Exl7PcfcEmwebF 10 | i2c0UzoRwb0EXtVGyMfXdNVsEwgtGPgN5C8FEQaKlYeaTXtWw2dsWofnu0gJyhuu 11 | t6NfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/ 12 | BAUwAwEB/zApBgNVHQ4EIgQgDB2IF/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX 13 | +P0wCgYIKoZIzj0EAwIDSAAwRQIhAO0uBktUn3xikT/m/Rcb/J+GDC0oBCha/hJw 14 | UzrosnXWAiACUPAenBOKsd5zymrZOJ0UPZfWWGsqHVKmn3M41P9Tgw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICTjCCAfWgAwIBAgIRAJvf6gSIPTxe17kRUiaAg5kwCgYIKoZIzj0EAwIwgYIx 3 | CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g 4 | RnJhbmNpc2NvMR8wHQYDVQQKExZiZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMSUwIwYD 5 | VQQDExx0bHNjYS5iZXRhLnN2Yy5jbHVzdGVyLmxvY2FsMB4XDTE5MDYyOTE1MzMw 6 | MFoXDTI5MDYyNjE1MzMwMFowYTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 7 | b3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xJTAjBgNVBAMMHEFkbWluQGJl 8 | dGEuc3ZjLmNsdXN0ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS/ 9 | +f0IjqtNOmG1TnHHqS3hPbG/CkkLq2TmQYgA8Ur4iOw//J/m9Rg7MLn8+1hbs8VO 10 | OtITlkNYqIWrss/VI83Yo2wwajAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYI 11 | KwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgDB2I 12 | F/d5mqV24SlPaqj+A5c9TUqWLyvBCgRNwqIX+P0wCgYIKoZIzj0EAwIDRwAwRAIg 13 | DZYKdHEyyIBd0mWztYYgrb1vLkGH+qt0f5KhDFfYnBQCIDcWKRmZr8gZQdqPJEVy 14 | qjmtUpuDFrjW2lRex6HwKge0 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /examples/dev/crypto/crypto-config/peerOrganizations/beta.svc.cluster.local/users/Admin@beta.svc.cluster.local/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg7olMU7GMkR43Kvv2 3 | kbEM6EEH6IOY3iXflX4nXxm7/F+hRANCAAS/+f0IjqtNOmG1TnHHqS3hPbG/CkkL 4 | q2TmQYgA8Ur4iOw//J/m9Rg7MLn8+1hbs8VOOtITlkNYqIWrss/VI83Y 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /examples/dev/helm_values/AlphaMSP/hlf-ord/ord1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | ord: 9 | type: Solo 10 | mspID: AlphaMSP 11 | 12 | secrets: 13 | ord: 14 | cert: hlf--ord1-idcert 15 | key: hlf--ord1-idkey 16 | caCert: hlf--alphaadmin-cacert 17 | genesis: hlf--genesis 18 | adminCert: hlf--alphaadmin-idcert 19 | -------------------------------------------------------------------------------- /examples/dev/helm_values/BetaMSP/hlf-couchdb/cdb-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.15 3 | 4 | persistence: 5 | size: 1Gi 6 | -------------------------------------------------------------------------------- /examples/dev/helm_values/BetaMSP/hlf-peer/peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-peer1 11 | mspID: BetaMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--peer1-idcert 16 | key: hlf--peer1-idkey 17 | caCert: hlf--betaadmin-cacert 18 | channels: 19 | - hlf--foochannel 20 | adminCert: hlf--betaadmin-idcert 21 | adminKey: hlf--betaadmin-idkey 22 | 23 | -------------------------------------------------------------------------------- /examples/dev/helm_values/hlf-couchdb/cdb-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.10 3 | 4 | persistence: 5 | size: 1Gi 6 | -------------------------------------------------------------------------------- /examples/dev/helm_values/hlf-ord/ord1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.3.0 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | ord: 9 | type: solo 10 | mspID: OrdererMSP 11 | 12 | secrets: 13 | ord: 14 | cert: hlf--ord1-idcert 15 | key: hlf--ord1-idkey 16 | caCert: hlf--ordadmin-cacert 17 | genesis: hlf--genesis 18 | adminCert: hlf--ordadmin-idcert 19 | -------------------------------------------------------------------------------- /examples/dev/helm_values/hlf-peer/peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.3.0 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-peer1 11 | mspID: PeerMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--peer1-idcert 16 | key: hlf--peer1-idkey 17 | caCert: hlf--peeradmin-cacert 18 | channel: hlf--channel 19 | adminCert: hlf--peeradmin-idcert 20 | adminKey: hlf--peeradmin-idkey 21 | -------------------------------------------------------------------------------- /examples/dev/nephos_config.yaml: -------------------------------------------------------------------------------- 1 | core: 2 | # Comment out to make it work on your cluster 3 | cluster: minikube 4 | # ChartMuseum repository or directory holding charts 5 | chart_repo: stable 6 | # Directory where we hold configtx.yaml 7 | dir_config: ./examples/dev/config 8 | # Directory where we hold: 9 | # 1) cryptographic material 10 | # 2) genesis block and 11 | # 3) channel transaction 12 | # Directory where we hold crypto-material 13 | dir_crypto: ./examples/dev/crypto 14 | # Directory where the Helm Chart values reside 15 | dir_values: ./examples/dev/helm_values 16 | cas: {} 17 | ordering: 18 | secret_genesis: hlf--genesis 19 | msps: 20 | AlphaMSP: 21 | ca: ca 22 | name: AlphaMSP 23 | namespace: alpha 24 | org_admin: alphaadmin 25 | # org_passwd: # Set implicitly 26 | orderers: 27 | domain: alpha.svc.cluster.local 28 | nodes: 29 | ord1: {} 30 | secret_genesis: hlf--genesis 31 | BetaMSP: 32 | ca: ca 33 | name: BetaMSP 34 | namespace: beta 35 | org_admin: betaadmin 36 | # org_passwd: # Set implicitly 37 | orderers: {} 38 | peers: 39 | domain: beta.svc.cluster.local 40 | nodes: 41 | peer1: {} 42 | channels: 43 | foochannel: 44 | msps: 45 | - BetaMSP 46 | channel_name: foochannel 47 | channel_profile: "FooChannel" 48 | secret_channel: hlf--foochannel 49 | # This is only used when we implement a Composer network 50 | composer: 51 | name: hlc 52 | secret_bna: hlc--bna 53 | secret_connection: hlc--connection 54 | # You can specify a particular version of a chart for each chart used, or use the latest by default 55 | versions: 56 | postgresql: 57 | hlf-ca: 58 | kafka: 59 | hlf-ord: 60 | hlf-couchdb: 61 | hlf-peer: 62 | hl-composer: 63 | -------------------------------------------------------------------------------- /examples/prod/helm_values/AlphaMSP/hlf-ord/alpha-ord1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | ord: 9 | type: kafka 10 | mspID: AlphaMSP 11 | 12 | secrets: 13 | ord: 14 | cert: hlf--alpha-ord1-idcert 15 | key: hlf--alpha-ord1-idkey 16 | caCert: hlf--alphaadmin-cacert 17 | genesis: hlf--genesis 18 | adminCert: hlf--alphaadmin-idcert 19 | 20 | affinity: 21 | podAntiAffinity: 22 | preferredDuringSchedulingIgnoredDuringExecution: 23 | - weight: 95 24 | podAffinityTerm: 25 | topologyKey: "kubernetes.io/hostname" 26 | labelSelector: 27 | matchLabels: 28 | app: hlf-ord 29 | -------------------------------------------------------------------------------- /examples/prod/helm_values/AlphaMSP/hlf-ord/alpha-ord2.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | ord: 9 | type: kafka 10 | mspID: AlphaMSP 11 | 12 | secrets: 13 | ord: 14 | cert: hlf--alpha-ord2-idcert 15 | key: hlf--alpha-ord2-idkey 16 | caCert: hlf--alphaadmin-cacert 17 | genesis: hlf--genesis 18 | adminCert: hlf--alphaadmin-idcert 19 | 20 | affinity: 21 | podAntiAffinity: 22 | preferredDuringSchedulingIgnoredDuringExecution: 23 | - weight: 95 24 | podAffinityTerm: 25 | topologyKey: "kubernetes.io/hostname" 26 | labelSelector: 27 | matchLabels: 28 | app: hlf-ord 29 | -------------------------------------------------------------------------------- /examples/prod/helm_values/AlphaMSP/kafka/kafka-hlf.yaml: -------------------------------------------------------------------------------- 1 | ## The StatefulSet installs 3 pods by default 2 | replicas: 4 3 | 4 | ## The kafka image repository 5 | image: "confluentinc/cp-kafka" 6 | 7 | ## The kafka image tag 8 | imageTag: "4.1.1-2" 9 | 10 | ## If RBAC is enabled on the cluster, the Kafka init container needs a service account 11 | ## with permissisions sufficient to apply pod labels 12 | rbac: 13 | enabled: true 14 | 15 | ## Pod scheduling preferences (by default keep pods within a release on separate nodes). 16 | ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity 17 | affinity: 18 | podAntiAffinity: 19 | requiredDuringSchedulingIgnoredDuringExecution: 20 | - topologyKey: "kubernetes.io/hostname" 21 | labelSelector: 22 | matchLabels: 23 | app: kafka 24 | release: kafka-hlf 25 | podAffinity: 26 | preferredDuringSchedulingIgnoredDuringExecution: 27 | - weight: 50 28 | podAffinityTerm: 29 | topologyKey: "kubernetes.io/hostname" 30 | labelSelector: 31 | matchLabels: 32 | app: zookeeper 33 | release: kafka-hlf 34 | 35 | ## Configuration Overrides. Specify any Kafka settings you would like set on the StatefulSet 36 | ## here in map format, as defined in the official docs. 37 | ## ref: https://kafka.apache.org/documentation/#brokerconfigs 38 | ## 39 | configurationOverrides: 40 | "offsets.topic.replication.factor": 3 41 | # "auto.leader.rebalance.enable": true 42 | # "controlled.shutdown.enable": true 43 | # "controlled.shutdown.max.retries": 100 44 | "auto.create.topics.enable": true # Useful to enable the Node.js client to create topics as required 45 | 46 | # NOTE: The below are required for Hyperledger Fabric orderer to work (but last one is problematic for normal setups - best to keep separate Kafka clusters for logs/HLF) 47 | "default.replication.factor": 3 48 | "unclean.leader.election.enable": false 49 | "min.insync.replicas": 2 50 | "message.max.bytes": "103809024" # 99 * 1024 * 1024 B 51 | "replica.fetch.max.bytes": "103809024" # 99 * 1024 * 1024 B 52 | "log.retention.ms": -1 # This should be only used for the HL Fabric Orderer (which needs to keep all logs) 53 | 54 | ## Persistence configuration. Specify if and how to persist data to a persistent volume. 55 | persistence: 56 | enabled: true 57 | 58 | ## The size of the PersistentVolume to allocate to each Kafka Pod in the StatefulSet 59 | size: "1Gi" 60 | 61 | ## Prometheus Exporters / Metrics 62 | prometheus: 63 | ## Prometheus JMX Exporter: exposes the majority of Kafkas metrics 64 | jmx: 65 | enabled: true 66 | 67 | ## Prometheus Kafka Exporter: exposes complimentary metrics to JMX Exporter 68 | kafka: 69 | enabled: true 70 | 71 | # ------------------------------------------------------------------------------ 72 | # Zookeeper: 73 | # ------------------------------------------------------------------------------ 74 | zookeeper: 75 | ## If true, install the Zookeeper chart alongside Kafka 76 | ## ref: https://github.com/kubernetes/charts/tree/master/incubator/zookeeper 77 | enabled: true 78 | 79 | ## Explicitly set the number of replicas of Zookeeper 80 | replicaCount: 3 81 | 82 | ## Configure Zookeeper resource requests and limits 83 | ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ 84 | resources: ~ 85 | 86 | ## The JVM heap size to allocate to Zookeeper 87 | env: 88 | ZK_HEAP_SIZE: "1G" 89 | 90 | persistence: 91 | enabled: true 92 | ## The amount of PV storage allocated to each Zookeeper pod in the statefulset 93 | size: "1Gi" 94 | 95 | ## Pod scheduling preferences (by default keep pods within a release on separate nodes). 96 | ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity 97 | affinity: # Criteria by which pod label-values influence scheduling for zookeeper pods. 98 | podAntiAffinity: 99 | requiredDuringSchedulingIgnoredDuringExecution: 100 | - topologyKey: "kubernetes.io/hostname" 101 | labelSelector: 102 | matchLabels: 103 | app: zookeeper 104 | release: kafka-hlf 105 | -------------------------------------------------------------------------------- /examples/prod/helm_values/BetaMSP/hlf-couchdb/cdb-beta-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.15 3 | 4 | persistence: 5 | size: 1Gi 6 | 7 | affinity: 8 | podAntiAffinity: 9 | preferredDuringSchedulingIgnoredDuringExecution: 10 | - weight: 95 11 | podAffinityTerm: 12 | topologyKey: "kubernetes.io/hostname" 13 | labelSelector: 14 | matchLabels: 15 | app: hlf-couchdb 16 | -------------------------------------------------------------------------------- /examples/prod/helm_values/BetaMSP/hlf-couchdb/cdb-beta-peer2.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.15 3 | 4 | persistence: 5 | size: 1Gi 6 | 7 | affinity: 8 | podAntiAffinity: 9 | preferredDuringSchedulingIgnoredDuringExecution: 10 | - weight: 95 11 | podAffinityTerm: 12 | topologyKey: "kubernetes.io/hostname" 13 | labelSelector: 14 | matchLabels: 15 | app: hlf-couchdb 16 | -------------------------------------------------------------------------------- /examples/prod/helm_values/BetaMSP/hlf-peer/beta-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-beta-peer1 11 | mspID: BetaMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--beta-peer1-idcert 16 | key: hlf--beta-peer1-idkey 17 | caCert: hlf--betaadmin-cacert 18 | channels: 19 | - hlf--foochannel 20 | - hlf--barchannel 21 | adminCert: hlf--betaadmin-idcert 22 | adminKey: hlf--betaadmin-idkey 23 | 24 | affinity: 25 | podAntiAffinity: 26 | preferredDuringSchedulingIgnoredDuringExecution: 27 | - weight: 95 28 | podAffinityTerm: 29 | topologyKey: "kubernetes.io/hostname" 30 | labelSelector: 31 | matchLabels: 32 | app: hlf-peer 33 | -------------------------------------------------------------------------------- /examples/prod/helm_values/BetaMSP/hlf-peer/beta-peer2.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-beta-peer2 11 | mspID: BetaMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--beta-peer2-idcert 16 | key: hlf--beta-peer2-idkey 17 | # TODO: This should not be numbered 18 | caCert: hlf--betaadmin-cacert 19 | channels: 20 | - hlf--foochannel 21 | - hlf--barchannel 22 | adminCert: hlf--betaadmin-idcert 23 | adminKey: hlf--betaadmin-idkey 24 | caServerTls: ca--tls 25 | 26 | affinity: 27 | podAntiAffinity: 28 | preferredDuringSchedulingIgnoredDuringExecution: 29 | - weight: 95 30 | podAffinityTerm: 31 | topologyKey: "kubernetes.io/hostname" 32 | labelSelector: 33 | matchLabels: 34 | app: hlf-peer 35 | -------------------------------------------------------------------------------- /examples/prod/helm_values/GammaMSP/hlf-couchdb/cdb-gamma-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.15 3 | 4 | persistence: 5 | size: 1Gi 6 | 7 | affinity: 8 | podAntiAffinity: 9 | preferredDuringSchedulingIgnoredDuringExecution: 10 | - weight: 95 11 | podAffinityTerm: 12 | topologyKey: "kubernetes.io/hostname" 13 | labelSelector: 14 | matchLabels: 15 | app: hlf-couchdb 16 | -------------------------------------------------------------------------------- /examples/prod/helm_values/GammaMSP/hlf-couchdb/cdb-gamma-peer2.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.15 3 | 4 | persistence: 5 | size: 1Gi 6 | 7 | affinity: 8 | podAntiAffinity: 9 | preferredDuringSchedulingIgnoredDuringExecution: 10 | - weight: 95 11 | podAffinityTerm: 12 | topologyKey: "kubernetes.io/hostname" 13 | labelSelector: 14 | matchLabels: 15 | app: hlf-couchdb 16 | -------------------------------------------------------------------------------- /examples/prod/helm_values/GammaMSP/hlf-peer/gamma-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-gamma-peer1 11 | mspID: GammaMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--gamma-peer1-idcert 16 | key: hlf--gamma-peer1-idkey 17 | caCert: hlf--gammaadmin-cacert 18 | channels: 19 | - hlf--foochannel 20 | adminCert: hlf--gammaadmin-idcert 21 | adminKey: hlf--gammaadmin-idkey 22 | 23 | affinity: 24 | podAntiAffinity: 25 | preferredDuringSchedulingIgnoredDuringExecution: 26 | - weight: 95 27 | podAffinityTerm: 28 | topologyKey: "kubernetes.io/hostname" 29 | labelSelector: 30 | matchLabels: 31 | app: hlf-peer 32 | -------------------------------------------------------------------------------- /examples/prod/helm_values/GammaMSP/hlf-peer/gamma-peer2.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-gamma-peer2 11 | mspID: GammaMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--gamma-peer2-idcert 16 | key: hlf--gamma-peer2-idkey 17 | # TODO: This should not be numbered 18 | caCert: hlf--gammaadmin-cacert 19 | channels: 20 | - hlf--foochannel 21 | adminCert: hlf--gammaadmin-idcert 22 | adminKey: hlf--gammaadmin-idkey 23 | caServerTls: ca--tls 24 | 25 | affinity: 26 | podAntiAffinity: 27 | preferredDuringSchedulingIgnoredDuringExecution: 28 | - weight: 95 29 | podAffinityTerm: 30 | topologyKey: "kubernetes.io/hostname" 31 | labelSelector: 32 | matchLabels: 33 | app: hlf-peer 34 | -------------------------------------------------------------------------------- /examples/prod/helm_values/hl-composer/hlc.yaml: -------------------------------------------------------------------------------- 1 | persistence: 2 | enabled: true 3 | # Required since multiple containers need to access same file system 4 | accessMode: ReadWriteMany 5 | size: 1Gi 6 | # e.g. Custom Azure storage class 7 | # Using mountOptions "0750" for dir_mode/file_mode and "1000" for uid and gid 8 | storageClass: "azurefile0permissive" 9 | 10 | cli: 11 | image: 12 | tag: 0.20.0 13 | secrets: 14 | # This should contain the packaged .bna network file. 15 | blockchainNetwork: hlc--bna 16 | adminCert: hlf--peeradmin-idcert 17 | adminKey: hlf--peeradmin-idkey 18 | hlcConnection: hlc--connection 19 | 20 | rest: 21 | image: 22 | tag: 0.20.0 23 | # Ingress for Composer REST 24 | ingress: 25 | enabled: true 26 | annotations: 27 | kubernetes.io/ingress.class: nginx 28 | certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 29 | path: / 30 | hosts: 31 | - hlc-rest.nephos.aidtech-test.xyz 32 | tls: 33 | - secretName: hlc-rest--tls 34 | hosts: 35 | - hlc-rest.nephos.aidtech-test.xyz 36 | 37 | config: 38 | # Composer REST server API key 39 | #apiKey: 40 | # Card for network connection 41 | composerRestServerCard: peeradmin@test-network 42 | 43 | pg: 44 | image: 45 | tag: 0.20.0 46 | # Ingress for Composer PlayGround 47 | ingress: 48 | enabled: true 49 | annotations: 50 | kubernetes.io/ingress.class: nginx 51 | certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 52 | path: / 53 | hosts: 54 | - hlc-pg.nephos.aidtech-test.xyz 55 | tls: 56 | - secretName: hl-composer-pg--tls 57 | hosts: 58 | - hlc-pg.nephos.aidtech-test.xyz 59 | -------------------------------------------------------------------------------- /examples/prod/helm_values/hlf-ca/ca.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | ingress: 5 | enabled: true 6 | annotations: 7 | kubernetes.io/ingress.class: nginx 8 | certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 9 | path: / 10 | hosts: 11 | # TODO: Change this to your Domain Name 12 | - ca.nephos.local 13 | tls: 14 | - secretName: ca--tls 15 | hosts: 16 | # TODO: Change this to your Domain Name 17 | - ca.nephos.local 18 | 19 | persistence: 20 | accessMode: ReadWriteOnce 21 | size: 1Gi 22 | 23 | caName: ca 24 | 25 | externalDatabase: 26 | type: postgres 27 | host: ca-pg-postgresql 28 | username: postgres 29 | # password: 30 | database: fabric_ca 31 | port: "5432" 32 | 33 | config: 34 | hlfToolsVersion: 1.3.0 35 | csr: 36 | names: 37 | c: IE 38 | st: Dublin 39 | l: 40 | o: "AID:Tech" 41 | ou: Blockchain 42 | affiliations: 43 | aidtech: [] 44 | 45 | affinity: 46 | podAntiAffinity: 47 | preferredDuringSchedulingIgnoredDuringExecution: 48 | - weight: 95 49 | podAffinityTerm: 50 | topologyKey: "kubernetes.io/hostname" 51 | labelSelector: 52 | matchLabels: 53 | app: hlf-ca 54 | podAffinity: 55 | requiredDuringSchedulingIgnoredDuringExecution: 56 | - labelSelector: 57 | matchLabels: 58 | app: postgresql 59 | release: ca-pg 60 | topologyKey: "kubernetes.io/hostname" 61 | -------------------------------------------------------------------------------- /examples/prod/helm_values/postgres-ca/ca-pg.yaml: -------------------------------------------------------------------------------- 1 | imageTag: "9.6.2" 2 | 3 | # postgresPassword: 4 | postgresDatabase: fabric_ca 5 | 6 | persistence: 7 | enabled: true 8 | size: 1Gi 9 | 10 | affinity: 11 | podAntiAffinity: 12 | requiredDuringSchedulingIgnoredDuringExecution: 13 | - topologyKey: "kubernetes.io/hostname" 14 | labelSelector: 15 | matchLabels: 16 | app: postgresql 17 | -------------------------------------------------------------------------------- /examples/prod/nephos_config.yaml: -------------------------------------------------------------------------------- 1 | core: 2 | # Comment out to make it work on your cluster 3 | #cluster: minikube 4 | # ChartMuseum repository or directory holding charts 5 | chart_repo: stable 6 | # Directory where we hold configtx.yaml 7 | dir_config: ./examples/prod/config 8 | # Directory where we hold: 9 | # 1) cryptographic material 10 | # 2) genesis block and 11 | # 3) channel transaction 12 | dir_crypto: ./examples/prod/crypto 13 | # Directory where the Helm Chart values reside 14 | dir_values: ./examples/prod/helm_values 15 | cas: 16 | ca: 17 | namespace: cas 18 | # If testing locally on Minikube, replace this with your own self-signed certificate's PEM 19 | tls_cert: ./nephos/extras/Lets_Encrypt_Authority_X3.pem 20 | 21 | ordering: 22 | secret_genesis: hlf--genesis 23 | kafka: 24 | msp: AlphaMSP 25 | name: kafka-hlf 26 | pod_num: 4 27 | 28 | msps: 29 | AlphaMSP: 30 | ca: ca 31 | name: AlphaMSP 32 | namespace: alpha 33 | org_admin: alphaadmin 34 | # org_passwd: # Set implicitly 35 | orderers: 36 | domain: alpha.svc.cluster.local 37 | nodes: 38 | alpha-ord1: {} 39 | alpha-ord2: {} 40 | BetaMSP: 41 | ca: ca 42 | name: BetaMSP 43 | namespace: beta 44 | org_admin: betaadmin 45 | # org_passwd: # Set implicitly 46 | orderers: {} 47 | peers: 48 | domain: beta.svc.cluster.local 49 | nodes: 50 | beta-peer1: {} 51 | beta-peer2: {} 52 | GammaMSP: 53 | ca: ca 54 | name: GammaMSP 55 | namespace: gamma 56 | org_admin: gammaadmin 57 | # org_passwd: # Set implicitly 58 | orderers: {} 59 | peers: 60 | domain: gamma.svc.cluster.local 61 | nodes: 62 | gamma-peer1: {} 63 | gamma-peer2: {} 64 | channels: 65 | foochannel: 66 | msps: 67 | - BetaMSP 68 | - GammaMSP 69 | channel_name: foochannel 70 | channel_profile: "FooChannel" 71 | secret_channel: hlf--foochannel 72 | barchannel: 73 | msps: 74 | - BetaMSP 75 | channel_name: barchannel 76 | channel_profile: "BarChannel" 77 | secret_channel: hlf--barchannel 78 | # This is only used when we implement a Composer network 79 | composer: 80 | name: hlc 81 | secret_bna: hlc--bna 82 | secret_connection: hlc--connection 83 | # You can specify a particular version of a chart for each chart used, or use the latest by default 84 | versions: 85 | postgresql: 86 | hlf-ca: 87 | kafka: 88 | hlf-ord: 89 | hlf-couchdb: 90 | hlf-peer: 91 | hl-composer: 92 | -------------------------------------------------------------------------------- /examples/qa-tls/helm_values/AlphaMSP/hlf-ord/ord1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | ord: 9 | type: Solo 10 | mspID: AlphaMSP 11 | tls: 12 | server: 13 | enabled: "true" 14 | 15 | secrets: 16 | ord: 17 | cert: hlf--ord1-idcert 18 | key: hlf--ord1-idkey 19 | caCert: hlf--alphaadmin-cacert 20 | tls: hlf--ord1-tls 21 | tlsRootCert: hlf--orderer-tlsrootcert 22 | genesis: hlf--genesis 23 | adminCert: hlf--alphaadmin-idcert 24 | 25 | affinity: 26 | podAntiAffinity: 27 | preferredDuringSchedulingIgnoredDuringExecution: 28 | - weight: 95 29 | podAffinityTerm: 30 | topologyKey: "kubernetes.io/hostname" 31 | labelSelector: 32 | matchLabels: 33 | app: hlf-ord 34 | -------------------------------------------------------------------------------- /examples/qa-tls/helm_values/BetaMSP/hlf-couchdb/cdb-beta-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.15 3 | 4 | persistence: 5 | size: 1Gi 6 | 7 | affinity: 8 | podAntiAffinity: 9 | preferredDuringSchedulingIgnoredDuringExecution: 10 | - weight: 95 11 | podAffinityTerm: 12 | topologyKey: "kubernetes.io/hostname" 13 | labelSelector: 14 | matchLabels: 15 | app: hlf-couchdb 16 | -------------------------------------------------------------------------------- /examples/qa-tls/helm_values/BetaMSP/hlf-peer/beta-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-beta-peer1 11 | mspID: BetaMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--beta-peer1-idcert 16 | key: hlf--beta-peer1-idkey 17 | caCert: hlf--betaadmin-cacert 18 | ordTlsRootCert: hlf--tls-client-orderer-certs 19 | channels: 20 | - hlf--foochannel 21 | adminCert: hlf--betaadmin-idcert 22 | adminKey: hlf--betaadmin-idkey 23 | 24 | affinity: 25 | podAntiAffinity: 26 | preferredDuringSchedulingIgnoredDuringExecution: 27 | - weight: 95 28 | podAffinityTerm: 29 | topologyKey: "kubernetes.io/hostname" 30 | labelSelector: 31 | matchLabels: 32 | app: hlf-peer 33 | -------------------------------------------------------------------------------- /examples/qa-tls/helm_values/hl-composer/hlc.yaml: -------------------------------------------------------------------------------- 1 | persistence: 2 | enabled: true 3 | # Required since multiple containers need to access same file system 4 | accessMode: ReadWriteMany 5 | size: 1Gi 6 | # e.g. Custom Azure storage class 7 | # Using mountOptions "0750" for dir_mode/file_mode and "1000" for uid and gid 8 | storageClass: "azurefile0permissive" 9 | 10 | cli: 11 | image: 12 | tag: 0.20.0 13 | secrets: 14 | # This should contain the packaged .bna network file. 15 | blockchainNetwork: hlc--bna 16 | adminCert: hlf--peeradmin-idcert 17 | adminKey: hlf--peeradmin-idkey 18 | hlcConnection: hlc--connection 19 | 20 | rest: 21 | image: 22 | tag: 0.20.0 23 | # Ingress for Composer REST 24 | ingress: 25 | enabled: true 26 | annotations: 27 | kubernetes.io/ingress.class: nginx 28 | certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 29 | path: / 30 | hosts: 31 | - hlc-rest.nephos.aidtech-test.xyz 32 | tls: 33 | - secretName: hlc-rest--tls 34 | hosts: 35 | - hlc-rest.nephos.aidtech-test.xyz 36 | 37 | config: 38 | # Composer REST server API key 39 | #apiKey: 40 | # Card for network connection 41 | composerRestServerCard: peeradmin@test-network 42 | 43 | pg: 44 | image: 45 | tag: 0.20.0 46 | # Ingress for Composer PlayGround 47 | ingress: 48 | enabled: true 49 | annotations: 50 | kubernetes.io/ingress.class: nginx 51 | certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 52 | path: / 53 | hosts: 54 | - hlc-pg.nephos.aidtech-test.xyz 55 | tls: 56 | - secretName: hl-composer-pg--tls 57 | hosts: 58 | - hlc-pg.nephos.aidtech-test.xyz 59 | -------------------------------------------------------------------------------- /examples/qa-tls/helm_values/hlf-ca/ca-tls.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | ingress: 5 | enabled: true 6 | annotations: 7 | kubernetes.io/ingress.class: nginx 8 | # TODO: When working locally, we may wish to comment the cluster-issuer 9 | #certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 10 | path: / 11 | hosts: 12 | # TODO: Change this to your Domain Name if not working locally 13 | - ca-tls.nephos.local 14 | tls: 15 | - secretName: ca--tls 16 | hosts: 17 | # TODO: Change this to your Domain Name if not working locally 18 | - ca-tls.nephos.local 19 | 20 | persistence: 21 | accessMode: ReadWriteOnce 22 | size: 1Gi 23 | 24 | caName: ca-tls 25 | 26 | externalDatabase: 27 | type: postgres 28 | host: ca-tls-pg-postgresql 29 | username: postgres 30 | # password: 31 | database: fabric_tls_ca 32 | port: "5432" 33 | 34 | config: 35 | hlfToolsVersion: 1.3.0 36 | csr: 37 | names: 38 | c: IE 39 | st: Dublin 40 | l: 41 | o: "AID:Tech" 42 | ou: Blockchain 43 | affiliations: 44 | aidtech: [] 45 | -------------------------------------------------------------------------------- /examples/qa-tls/helm_values/hlf-ca/ca.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | ingress: 5 | enabled: true 6 | annotations: 7 | kubernetes.io/ingress.class: nginx 8 | # TODO: When working locally, we may wish to comment the cluster-issuer 9 | #certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 10 | path: / 11 | hosts: 12 | # TODO: Change this to your Domain Name if not working locally 13 | - ca.nephos.local 14 | tls: 15 | - secretName: ca--tls 16 | hosts: 17 | # TODO: Change this to your Domain Name if not working locally 18 | - ca.nephos.local 19 | 20 | persistence: 21 | accessMode: ReadWriteOnce 22 | size: 1Gi 23 | 24 | caName: ca 25 | 26 | externalDatabase: 27 | type: postgres 28 | host: ca-pg-postgresql 29 | username: postgres 30 | # password: 31 | database: fabric_ca 32 | port: "5433" 33 | 34 | config: 35 | hlfToolsVersion: 1.3.0 36 | csr: 37 | names: 38 | c: IE 39 | st: Dublin 40 | l: 41 | o: "AID:Tech" 42 | ou: Blockchain 43 | affiliations: 44 | aidtech: [] 45 | -------------------------------------------------------------------------------- /examples/qa-tls/helm_values/postgres-ca/ca-pg.yaml: -------------------------------------------------------------------------------- 1 | imageTag: "9.6.2" 2 | 3 | # postgresPassword: 4 | postgresDatabase: fabric_ca 5 | 6 | service: 7 | ## PosgresSQL service type 8 | type: ClusterIP 9 | # clusterIP: None 10 | port: 5433 11 | 12 | persistence: 13 | enabled: true 14 | size: 1Gi 15 | 16 | -------------------------------------------------------------------------------- /examples/qa-tls/helm_values/postgres-ca/ca-tls-pg.yaml: -------------------------------------------------------------------------------- 1 | imageTag: "9.6.2" 2 | 3 | # postgresPassword: 4 | postgresDatabase: fabric_tls_ca 5 | 6 | persistence: 7 | enabled: true 8 | size: 1Gi 9 | -------------------------------------------------------------------------------- /examples/qa-tls/nephos_config.yaml: -------------------------------------------------------------------------------- 1 | core: 2 | # Comment out to make it work on your cluster 3 | cluster: minikube 4 | # ChartMuseum repository or directory holding charts 5 | chart_repo: stable 6 | # Directory where we hold configtx.yaml 7 | dir_config: ./examples/qa-tls/config 8 | # Directory where we hold: 9 | # 1) cryptographic material 10 | # 2) genesis block and 11 | # 3) channel transaction 12 | dir_crypto: ./examples/qa-tls/crypto 13 | # Directory where the Helm Chart values reside 14 | dir_values: ./examples/qa-tls/helm_values 15 | cas: 16 | ca: 17 | namespace: cas 18 | # If testing locally on Minikube, we use our own self-signed certificate's PEM 19 | tls_cert: ./examples/ca-nephos-local.pem 20 | # Alternatively, if testing on a cluster with proper DNS and cert-manager... 21 | # tls_cert: ./nephos/extras/Lets_Encrypt_Authority_X3.pem 22 | ca-tls: 23 | namespace: cas-tls 24 | tls_cert: ./examples/ca-tls-nephos-local.pem 25 | ordering: 26 | secret_genesis: hlf--genesis 27 | tls: 28 | enable: true 29 | tls_ca: ca-tls 30 | msps: 31 | AlphaMSP: 32 | ca: ca 33 | name: AlphaMSP 34 | namespace: alpha 35 | org_admin: alphaadmin 36 | # org_passwd: # Set implicitly 37 | orderers: 38 | domain: alpha.svc.cluster.local 39 | nodes: 40 | ord1: {} 41 | BetaMSP: 42 | ca: ca 43 | name: BetaMSP 44 | namespace: beta 45 | org_admin: betaadmin 46 | # org_passwd: # Set implicitly 47 | orderers: {} 48 | peers: 49 | domain: beta.svc.cluster.local 50 | nodes: 51 | beta-peer1: {} 52 | channels: 53 | foochannel: 54 | msps: 55 | - BetaMSP 56 | channel_name: foochannel 57 | channel_profile: "FooChannel" 58 | secret_channel: hlf--foochannel 59 | # This is only used when we implement a Composer network 60 | composer: 61 | name: hlc 62 | secret_bna: hlc--bna 63 | secret_connection: hlc--connection 64 | # You can specify a particular version of a chart for each chart used, or use the latest by default 65 | versions: 66 | postgresql: 67 | hlf-ca: 68 | kafka: 69 | hlf-ord: 70 | hlf-couchdb: 71 | hlf-peer: 72 | hl-composer: 73 | 74 | -------------------------------------------------------------------------------- /examples/qa/config/configtx.yaml: -------------------------------------------------------------------------------- 1 | # Copyright IBM Corp. All Rights Reserved. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | 6 | ################################################################################ 7 | # 8 | # Section: Organizations 9 | # 10 | # - This section defines the different organizational identities which will 11 | # be referenced later in the configuration. 12 | # 13 | ################################################################################ 14 | Organizations: 15 | 16 | # SampleOrg defines an MSP using the sampleconfig. It should never be used 17 | # in production but may be used as a template for other definitions 18 | - &AlphaOrg 19 | # DefaultOrg defines the organization which is used in the sampleconfig 20 | # of the fabric.git development environment 21 | Name: AlphaOrg 22 | 23 | # ID to load the MSP definition as 24 | ID: AlphaMSP 25 | 26 | # MSPDir is the filesystem path which contains the MSP configuration 27 | MSPDir: ../crypto/AlphaMSP 28 | 29 | # turn off security for the channel 30 | AdminPrincipal: Role.MEMBER 31 | 32 | # Organization controlling both peers and Orderers 33 | - &BetaOrg 34 | Name: BetaOrg 35 | 36 | # ID to load the MSP definition as 37 | ID: BetaMSP 38 | 39 | MSPDir: ../crypto/BetaMSP 40 | 41 | # turn off security for the peer 42 | AdminPrincipal: Role.MEMBER 43 | 44 | AnchorPeers: 45 | # AnchorPeers defines the location of peers that can be used 46 | # for cross org gossip communication. Note, this value is only 47 | # encoded in the genesis block in the Application section context 48 | - Host: beta-peer1-hlf-peer.beta.svc.cluster.local 49 | Port: 7051 50 | 51 | ################################################################################ 52 | # 53 | # SECTION: Orderer 54 | # 55 | # - This section defines the values to encode into a config transaction or 56 | # genesis block for orderer related parameters 57 | # 58 | ################################################################################ 59 | Orderer: &OrdererDefaults 60 | 61 | # Orderer Type: The orderer implementation to start 62 | # Available types are "solo" and "kafka" 63 | OrdererType: solo 64 | 65 | Addresses: 66 | - ord1-hlf-ord.alpha.svc.cluster.local:7050 67 | 68 | # Batch Timeout: The amount of time to wait before creating a batch 69 | BatchTimeout: 2s 70 | 71 | # Batch Size: Controls the number of messages batched into a block 72 | BatchSize: 73 | 74 | # Max Message Count: The maximum number of messages to permit in a batch 75 | MaxMessageCount: 10 76 | 77 | # Absolute Max Bytes: The absolute maximum number of bytes allowed for 78 | # the serialized messages in a batch. 79 | AbsoluteMaxBytes: 98 MB 80 | 81 | # Preferred Max Bytes: The preferred maximum number of bytes allowed for 82 | # the serialized messages in a batch. A message larger than the preferred 83 | # max bytes will result in a batch larger than preferred max bytes. 84 | PreferredMaxBytes: 512 KB 85 | 86 | Kafka: 87 | # Brokers: A list of Kafka brokers to which the orderer connects 88 | # If using K8S, we specify the service exposing the brokers 89 | # NOTE: Use Address/IP:port notation 90 | Brokers: 91 | - kafka-hlf.alpha.svc.cluster.local:9092 92 | 93 | # Organizations is the list of orgs which are defined as participants on 94 | # the orderer side of the network 95 | Organizations: 96 | 97 | ################################################################################ 98 | # 99 | # SECTION: Application 100 | # 101 | # - This section defines the values to encode into a config transaction or 102 | # genesis block for application related parameters 103 | # 104 | ################################################################################ 105 | Application: &ApplicationDefaults 106 | 107 | # Organizations is the list of orgs which are defined as participants on 108 | # the application side of the network 109 | Organizations: 110 | 111 | ################################################################################ 112 | # 113 | # Profile 114 | # 115 | # - Different configuration profiles may be encoded here to be specified 116 | # as parameters to the configtxgen tool 117 | # 118 | ################################################################################ 119 | Profiles: 120 | 121 | OrdererGenesis: 122 | Orderer: 123 | <<: *OrdererDefaults 124 | Organizations: 125 | - *AlphaOrg 126 | Consortiums: 127 | MyConsortium: 128 | Organizations: 129 | - *BetaOrg 130 | FooChannel: 131 | Consortium: MyConsortium 132 | Application: 133 | <<: *ApplicationDefaults 134 | Organizations: 135 | - *BetaOrg 136 | -------------------------------------------------------------------------------- /examples/qa/helm_values/AlphaMSP/hlf-ord/ord1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | ord: 9 | type: Solo 10 | mspID: AlphaMSP 11 | 12 | secrets: 13 | ord: 14 | cert: hlf--ord1-idcert 15 | key: hlf--ord1-idkey 16 | caCert: hlf--alphaadmin-cacert 17 | genesis: hlf--genesis 18 | adminCert: hlf--alphaadmin-idcert 19 | 20 | affinity: 21 | podAntiAffinity: 22 | preferredDuringSchedulingIgnoredDuringExecution: 23 | - weight: 95 24 | podAffinityTerm: 25 | topologyKey: "kubernetes.io/hostname" 26 | labelSelector: 27 | matchLabels: 28 | app: hlf-ord 29 | -------------------------------------------------------------------------------- /examples/qa/helm_values/BetaMSP/hlf-couchdb/cdb-beta-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 0.4.15 3 | 4 | persistence: 5 | size: 1Gi 6 | 7 | affinity: 8 | podAntiAffinity: 9 | preferredDuringSchedulingIgnoredDuringExecution: 10 | - weight: 95 11 | podAffinityTerm: 12 | topologyKey: "kubernetes.io/hostname" 13 | labelSelector: 14 | matchLabels: 15 | app: hlf-couchdb 16 | -------------------------------------------------------------------------------- /examples/qa/helm_values/BetaMSP/hlf-peer/beta-peer1.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | persistence: 5 | accessMode: ReadWriteOnce 6 | size: 1Gi 7 | 8 | peer: 9 | databaseType: CouchDB 10 | couchdbInstance: cdb-beta-peer1 11 | mspID: BetaMSP 12 | 13 | secrets: 14 | peer: 15 | cert: hlf--beta-peer1-idcert 16 | key: hlf--beta-peer1-idkey 17 | caCert: hlf--betaadmin-cacert 18 | channels: 19 | - hlf--foochannel 20 | adminCert: hlf--betaadmin-idcert 21 | adminKey: hlf--betaadmin-idkey 22 | 23 | affinity: 24 | podAntiAffinity: 25 | preferredDuringSchedulingIgnoredDuringExecution: 26 | - weight: 95 27 | podAffinityTerm: 28 | topologyKey: "kubernetes.io/hostname" 29 | labelSelector: 30 | matchLabels: 31 | app: hlf-peer 32 | -------------------------------------------------------------------------------- /examples/qa/helm_values/hl-composer/hlc.yaml: -------------------------------------------------------------------------------- 1 | persistence: 2 | enabled: true 3 | # Required since multiple containers need to access same file system 4 | accessMode: ReadWriteMany 5 | size: 1Gi 6 | # e.g. Custom Azure storage class 7 | # Using mountOptions "0750" for dir_mode/file_mode and "1000" for uid and gid 8 | storageClass: "azurefile0permissive" 9 | 10 | cli: 11 | image: 12 | tag: 0.20.0 13 | secrets: 14 | # This should contain the packaged .bna network file. 15 | blockchainNetwork: hlc--bna 16 | adminCert: hlf--peeradmin-idcert 17 | adminKey: hlf--peeradmin-idkey 18 | hlcConnection: hlc--connection 19 | 20 | rest: 21 | image: 22 | tag: 0.20.0 23 | # Ingress for Composer REST 24 | ingress: 25 | enabled: true 26 | annotations: 27 | kubernetes.io/ingress.class: nginx 28 | certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 29 | path: / 30 | hosts: 31 | - hlc-rest.nephos.aidtech-test.xyz 32 | tls: 33 | - secretName: hlc-rest--tls 34 | hosts: 35 | - hlc-rest.nephos.aidtech-test.xyz 36 | 37 | config: 38 | # Composer REST server API key 39 | #apiKey: 40 | # Card for network connection 41 | composerRestServerCard: peeradmin@test-network 42 | 43 | pg: 44 | image: 45 | tag: 0.20.0 46 | # Ingress for Composer PlayGround 47 | ingress: 48 | enabled: true 49 | annotations: 50 | kubernetes.io/ingress.class: nginx 51 | certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 52 | path: / 53 | hosts: 54 | - hlc-pg.nephos.aidtech-test.xyz 55 | tls: 56 | - secretName: hl-composer-pg--tls 57 | hosts: 58 | - hlc-pg.nephos.aidtech-test.xyz 59 | -------------------------------------------------------------------------------- /examples/qa/helm_values/hlf-ca/ca.yaml: -------------------------------------------------------------------------------- 1 | image: 2 | tag: 1.4.1 3 | 4 | ingress: 5 | enabled: true 6 | annotations: 7 | kubernetes.io/ingress.class: nginx 8 | # TODO: When working locally, we may wish to comment the cluster-issuer 9 | #certmanager.k8s.io/cluster-issuer: "letsencrypt-production" 10 | path: / 11 | hosts: 12 | # TODO: Change this to your Domain Name if not working locally 13 | - ca.nephos.local 14 | tls: 15 | - secretName: ca--tls 16 | hosts: 17 | # TODO: Change this to your Domain Name if not working locally 18 | - ca.nephos.local 19 | 20 | persistence: 21 | accessMode: ReadWriteOnce 22 | size: 1Gi 23 | 24 | caName: ca 25 | 26 | externalDatabase: 27 | type: postgres 28 | host: ca-pg-postgresql 29 | username: postgres 30 | # password: 31 | database: fabric_ca 32 | port: "5432" 33 | 34 | config: 35 | hlfToolsVersion: 1.3.0 36 | csr: 37 | names: 38 | c: IE 39 | st: Dublin 40 | l: 41 | o: "AID:Tech" 42 | ou: Blockchain 43 | affiliations: 44 | aidtech: [] 45 | 46 | affinity: 47 | podAntiAffinity: 48 | preferredDuringSchedulingIgnoredDuringExecution: 49 | - weight: 95 50 | podAffinityTerm: 51 | topologyKey: "kubernetes.io/hostname" 52 | labelSelector: 53 | matchLabels: 54 | app: hlf-ca 55 | podAffinity: 56 | requiredDuringSchedulingIgnoredDuringExecution: 57 | - labelSelector: 58 | matchLabels: 59 | app: postgresql 60 | release: ca-pg 61 | topologyKey: "kubernetes.io/hostname" 62 | -------------------------------------------------------------------------------- /examples/qa/helm_values/postgres-ca/ca-pg.yaml: -------------------------------------------------------------------------------- 1 | imageTag: "9.6.2" 2 | 3 | # postgresPassword: 4 | postgresDatabase: fabric_ca 5 | 6 | persistence: 7 | enabled: true 8 | size: 1Gi 9 | 10 | affinity: 11 | podAntiAffinity: 12 | requiredDuringSchedulingIgnoredDuringExecution: 13 | - topologyKey: "kubernetes.io/hostname" 14 | labelSelector: 15 | matchLabels: 16 | app: postgresql 17 | -------------------------------------------------------------------------------- /examples/qa/nephos_config.yaml: -------------------------------------------------------------------------------- 1 | core: 2 | # Comment out to make it work on your cluster 3 | cluster: minikube 4 | # ChartMuseum repository or directory holding charts 5 | chart_repo: stable 6 | # Directory where we hold configtx.yaml 7 | dir_config: ./examples/qa/config 8 | # Directory where we hold: 9 | # 1) cryptographic material 10 | # 2) genesis block and 11 | # 3) channel transaction 12 | dir_crypto: ./examples/qa/crypto 13 | # Directory where the Helm Chart values reside 14 | dir_values: ./examples/qa/helm_values 15 | cas: 16 | ca: 17 | namespace: cas 18 | # If testing locally on Minikube, we use our own self-signed certificate's PEM 19 | tls_cert: ./examples/ca-nephos-local.pem 20 | # Alternatively, if testing on a cluster with proper DNS and cert-manager... 21 | # tls_cert: ./nephos/extras/Lets_Encrypt_Authority_X3.pem 22 | ordering: 23 | secret_genesis: hlf--genesis 24 | msps: 25 | AlphaMSP: 26 | ca: ca 27 | name: AlphaMSP 28 | namespace: alpha 29 | org_admin: alphaadmin 30 | # org_passwd: # Set implicitly 31 | orderers: 32 | domain: alpha.svc.cluster.local 33 | nodes: 34 | ord1: {} 35 | BetaMSP: 36 | ca: ca 37 | name: BetaMSP 38 | namespace: beta 39 | org_admin: betaadmin 40 | # org_passwd: # Set implicitly 41 | orderers: {} 42 | peers: 43 | domain: beta.svc.cluster.local 44 | nodes: 45 | beta-peer1: {} 46 | channels: 47 | foochannel: 48 | msps: 49 | - BetaMSP 50 | channel_name: foochannel 51 | channel_profile: "FooChannel" 52 | secret_channel: hlf--foochannel 53 | # This is only used when we implement a Composer network 54 | composer: 55 | name: hlc 56 | secret_bna: hlc--bna 57 | secret_connection: hlc--connection 58 | # You can specify a particular version of a chart for each chart used, or use the latest by default 59 | versions: 60 | postgresql: 61 | hlf-ca: 62 | kafka: 63 | hlf-ord: 64 | hlf-couchdb: 65 | hlf-peer: 66 | hl-composer: 67 | 68 | -------------------------------------------------------------------------------- /integration/test_dev.py: -------------------------------------------------------------------------------- 1 | import os 2 | import logging 3 | 4 | from nephos.fabric.settings import load_config, check_cluster 5 | from nephos.helpers.misc import execute 6 | from nephos.runners import runner_fabric 7 | 8 | CURRENT_PATH = os.path.abspath(os.path.split(__file__)[0]) 9 | 10 | 11 | class TestIntegrationDev: 12 | # We will check cluster and flatly refuse to do integration testing unless on 'minikube' 13 | CONTEXT = "minikube" 14 | CONFIG = os.path.join(CURRENT_PATH, "..", "examples", "dev", "nephos_config.yaml") 15 | logging.basicConfig( 16 | level=logging.DEBUG, 17 | format='%(asctime)s %(module)-10s %(levelname)-8s %(message)s' 18 | ) 19 | 20 | def test_integration_dev(self): 21 | # Get options 22 | opts = load_config(self.CONFIG) 23 | 24 | # TODO: There should be a more elegant way of obtaining all the releases 25 | releases = ( 26 | [key for key in opts["cas"].keys()] 27 | + [key + "-pg" for key in opts["cas"].keys()] 28 | + list(opts["msps"]["AlphaMSP"]["orderers"]["nodes"].keys()) 29 | + [ 30 | ("cdb-" + key) 31 | for key in opts["msps"]["BetaMSP"]["peers"]["nodes"].keys() 32 | ] 33 | + [key for key in opts["msps"]["BetaMSP"]["peers"]["nodes"].keys()] 34 | ) 35 | 36 | # Run Fabric script 37 | check_cluster( 38 | self.CONTEXT 39 | ) # Dangerous operation, recheck we have not shifted context 40 | runner_fabric(opts) 41 | 42 | # Delete all deployments from Helm 43 | check_cluster( 44 | self.CONTEXT 45 | ) # Dangerous operation, recheck we have not shifted context 46 | execute(f"helm delete --purge {' '.join(releases)}") 47 | 48 | # Delete the namespaces 49 | check_cluster( 50 | self.CONTEXT 51 | ) # Dangerous operation, recheck we have not shifted context 52 | execute("kubectl delete ns alpha beta") 53 | -------------------------------------------------------------------------------- /integration/test_qa.py: -------------------------------------------------------------------------------- 1 | import os 2 | import logging 3 | 4 | from nephos.fabric.settings import load_config, check_cluster 5 | from nephos.helpers.k8s import ns_create 6 | from nephos.helpers.misc import execute 7 | from nephos.runners import runner_fabric 8 | 9 | CURRENT_PATH = os.path.abspath(os.path.split(__file__)[0]) 10 | 11 | 12 | class TestIntegrationQa: 13 | # We will check cluster and flatly refuse to do integration testing unless on 'minikube' 14 | CONTEXT = "minikube" 15 | CONFIG = os.path.join(CURRENT_PATH, "..", "examples", "qa", "nephos_config.yaml") 16 | TLS_PATH = os.path.join(CURRENT_PATH, "..", "examples", "ca-nephos-local") 17 | logging.basicConfig( 18 | level=logging.DEBUG, 19 | format='%(asctime)s %(module)-10s %(levelname)-8s %(message)s' 20 | ) 21 | 22 | def test_integration_qa(self): 23 | # Get options 24 | opts = load_config(self.CONFIG) 25 | 26 | # Save TLS of each CA in its relevant secret 27 | ns_create("cas") 28 | 29 | # TODO: Eventually we should enable getting path for multiple CAs programatically 30 | execute( 31 | ( 32 | "kubectl -n cas create secret tls ca--tls " 33 | + f"--cert={self.TLS_PATH}.crt " 34 | + f"--key={self.TLS_PATH}.key" 35 | ) 36 | ) 37 | 38 | # TODO: There should be a more elegant way of obtaining all the releases 39 | releases = ( 40 | [key for key in opts["cas"].keys()] 41 | + [key + "-pg" for key in opts["cas"].keys()] 42 | + list(opts["msps"]["AlphaMSP"]["orderers"]["nodes"].keys()) 43 | + [ 44 | ("cdb-" + key) 45 | for key in opts["msps"]["BetaMSP"]["peers"]["nodes"].keys() 46 | ] 47 | + [key for key in opts["msps"]["BetaMSP"]["peers"]["nodes"].keys()] 48 | ) 49 | 50 | # Run Fabric script 51 | check_cluster( 52 | self.CONTEXT 53 | ) # Dangerous operation, recheck we have not shifted context 54 | runner_fabric(opts) 55 | 56 | # Delete all deployments from Helm 57 | check_cluster( 58 | self.CONTEXT 59 | ) # Dangerous operation, recheck we have not shifted context 60 | execute(f"helm delete --purge {' '.join(releases)}") 61 | 62 | # Delete the namespaces 63 | check_cluster( 64 | self.CONTEXT 65 | ) # Dangerous operation, recheck we have not shifted context 66 | execute("kubectl delete ns cas alpha beta") 67 | -------------------------------------------------------------------------------- /nephos/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright [2018] [Alejandro Vicente Grabovetsky via AID:Tech] 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at# 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import composer, fabric, helpers 16 | 17 | __all__ = ["composer", "fabric", "helpers"] 18 | -------------------------------------------------------------------------------- /nephos/composer/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright [2018] [Alejandro Vicente Grabovetsky via AID:Tech] 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at# 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import connection_template, install, upgrade 16 | 17 | __all__ = ["connection_template", "install", "upgrade"] 18 | -------------------------------------------------------------------------------- /nephos/composer/upgrade.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | # Copyright [2018] [Alejandro Vicente Grabovetsky via AID:Tech] 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at# 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | import os 18 | import logging 19 | 20 | from nephos.fabric.settings import get_namespace 21 | from nephos.fabric.utils import get_helm_pod 22 | from nephos.helpers.k8s import secret_create 23 | from nephos.helpers.misc import input_files 24 | 25 | CURRENT_DIR = os.path.abspath(os.path.split(__file__)[0]) 26 | 27 | 28 | def upgrade_network(opts, verbose=False): 29 | """Upgrade Hyperledger Composer network. 30 | 31 | Args: 32 | opts (dict): Nephos options dict. 33 | verbose (bool): Verbosity. False by default. 34 | """ 35 | peer_namespace = get_namespace(opts, opts["peers"]["msp"]) 36 | secret_data = input_files((None,), clean_key=True) 37 | secret_create(secret_data, opts["composer"]["secret_bna"], peer_namespace) 38 | 39 | # Set up the PeerAdmin card 40 | hlc_cli_ex = get_helm_pod(peer_namespace, "hlc", "hl-composer", verbose=verbose) 41 | 42 | bna, _ = hlc_cli_ex.execute("ls /hl_config/blockchain_network") 43 | bna_name, bna_rem = bna.split("_") 44 | bna_version, _ = bna_rem.split(".bna") 45 | peer_msp = opts["peers"]["msp"] 46 | bna_admin = opts["msps"][peer_msp]["org_admin"] 47 | 48 | res, _ = hlc_cli_ex.execute(f"composer network ping --card {bna_admin}@{bna_name}") 49 | 50 | curr_version = (res.split("Business network version: ")[1]).split()[0] 51 | logging.info(curr_version) 52 | 53 | if curr_version != bna_version: 54 | hlc_cli_ex.execute( 55 | ( 56 | "composer network install --card PeerAdmin@hlfv1 " 57 | + f"--archiveFile /hl_config/blockchain_network/{bna}" 58 | ) 59 | ) 60 | hlc_cli_ex.execute( 61 | ( 62 | "composer network upgrade " 63 | + "--card PeerAdmin@hlfv1 " 64 | + f"--networkName {bna_name} --networkVersion {bna_version}" 65 | ) 66 | ) 67 | res, _ = hlc_cli_ex.execute( 68 | f"composer network ping --card {bna_admin}@{bna_name}" 69 | ) 70 | curr_version = (res.split("Business network version: ")[1]).split()[0] 71 | logging.info(f"Upgraded to {curr_version}") 72 | -------------------------------------------------------------------------------- /nephos/extras/Lets_Encrypt_Authority_X3.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ 3 | MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT 4 | DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow 5 | SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT 6 | GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC 7 | AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF 8 | q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 9 | SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 10 | Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA 11 | a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj 12 | /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T 13 | AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG 14 | CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv 15 | bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k 16 | c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw 17 | VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC 18 | ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz 19 | MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu 20 | Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF 21 | AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo 22 | uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ 23 | wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu 24 | X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG 25 | PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 26 | KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== 27 | -----END CERTIFICATE----- 28 | -------------------------------------------------------------------------------- /nephos/extras/helm-rbac.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: tiller 5 | namespace: kube-system 6 | --- 7 | apiVersion: rbac.authorization.k8s.io/v1beta1 8 | kind: ClusterRoleBinding 9 | metadata: 10 | name: tiller 11 | roleRef: 12 | apiGroup: rbac.authorization.k8s.io 13 | kind: ClusterRole 14 | name: cluster-admin 15 | subjects: 16 | - kind: ServiceAccount 17 | name: tiller 18 | namespace: kube-system 19 | -------------------------------------------------------------------------------- /nephos/fabric/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright [2018] [Alejandro Vicente Grabovetsky via AID:Tech] 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at# 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from . import ca, crypto, ord, peer, settings, utils 16 | 17 | __all__ = ["ca", "crypto", "ord", "peer", "settings", "utils"] 18 | -------------------------------------------------------------------------------- /nephos/fabric/ord.py: -------------------------------------------------------------------------------- 1 | # Copyright [2018] [Alejandro Vicente Grabovetsky via AID:Tech] 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at# 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from time import sleep 16 | 17 | from nephos.fabric.utils import ( 18 | get_helm_pod, 19 | get_orderers, 20 | get_kafka_configs, 21 | get_msps, 22 | is_orderer_msp, 23 | ) 24 | from nephos.fabric.settings import get_namespace, get_version 25 | from nephos.helpers.helm import helm_check, helm_extra_vars, helm_install, helm_upgrade 26 | from nephos.helpers.misc import execute 27 | 28 | 29 | def check_ord(namespace, release): 30 | """Check if Orderer is running. 31 | 32 | Args: 33 | namespace (str): Namespace where Orderer is located. 34 | release (str): Name of Orderer Helm release. 35 | 36 | Returns: 37 | bool: True once Orderer is correctly running. 38 | """ 39 | pod_exec = get_helm_pod(namespace=namespace, release=release, app="hlf-ord") 40 | res = pod_exec.logs(1000) 41 | if "fetching metadata for all topics from broker" in res: 42 | return True 43 | while True: 44 | if "Starting orderer" in res: 45 | return True 46 | else: 47 | sleep(15) 48 | res = pod_exec.logs(1000) 49 | 50 | 51 | # TODO: We need a similar check to see if Peer uses client TLS as well 52 | def check_ord_tls(opts, ord_msp, ord_name): 53 | """Check TLS status of Orderer. 54 | 55 | Args: 56 | opts (dict): Nephos options dict. 57 | ord_msp (str): orderer msp of the orderer we wish to check the tls 58 | ord_name (str): orderer name we wish to check the tls 59 | Returns: 60 | bool: True if TLS is enabled, False if TLS is disabled. 61 | """ 62 | ord_namespace = get_namespace(opts, msp=ord_msp) 63 | ord_tls, _ = execute( 64 | ( 65 | f"kubectl get cm -n {ord_namespace} " 66 | + f'{ord_name}-hlf-ord--ord -o jsonpath="{{.data.ORDERER_GENERAL_TLS_ENABLED}}"' 67 | ) 68 | ) 69 | return ord_tls == "true" 70 | 71 | 72 | def setup_ord(opts, upgrade=False): 73 | """Setup Orderer on K8S. 74 | 75 | Args: 76 | opts (dict): Nephos options dict. 77 | upgrade (bool): Do we upgrade the deployment? False by default. 78 | """ 79 | # Kafka 80 | if "kafka" in opts["ordering"]: 81 | # Kafka upgrade is risky, so we disallow it by default 82 | version = get_version(opts, "kafka") 83 | kafka_config = get_kafka_configs(opts=opts) 84 | ord_namespace = get_namespace(opts, msp=kafka_config["msp"]) 85 | config_yaml = f"{opts['core']['dir_values']}/{kafka_config['msp']}/kafka/{kafka_config['name']}.yaml" 86 | extra_vars = helm_extra_vars(version=version, config_yaml=config_yaml) 87 | helm_install( 88 | "incubator", 89 | "kafka", 90 | kafka_config["name"], 91 | ord_namespace, 92 | extra_vars=extra_vars, 93 | ) 94 | helm_check( 95 | "kafka", 96 | kafka_config["name"], 97 | ord_namespace, 98 | pod_num=kafka_config["pod_num"], 99 | ) 100 | 101 | for msp in get_msps(opts=opts): 102 | if not is_orderer_msp(opts=opts, msp=msp): 103 | continue 104 | ord_namespace = get_namespace(opts, msp=msp) 105 | version = get_version(opts, "hlf-ord") 106 | for release in get_orderers(opts=opts, msp=msp): 107 | # HL-Ord 108 | config_yaml = f'{opts["core"]["dir_values"]}/{msp}/hlf-ord/{release}.yaml' 109 | extra_vars = helm_extra_vars(version=version, config_yaml=config_yaml) 110 | if not upgrade: 111 | helm_install( 112 | opts["core"]["chart_repo"], 113 | "hlf-ord", 114 | release, 115 | ord_namespace, 116 | extra_vars=extra_vars, 117 | ) 118 | else: 119 | helm_upgrade( 120 | opts["core"]["chart_repo"], 121 | "hlf-ord", 122 | release, 123 | extra_vars=extra_vars, 124 | ) 125 | helm_check("hlf-ord", release, ord_namespace) 126 | # Check that Orderer is running 127 | check_ord(ord_namespace, release) 128 | -------------------------------------------------------------------------------- /nephos/fabric/settings.py: -------------------------------------------------------------------------------- 1 | # Copyright [2018] [Alejandro Vicente Grabovetsky via AID:Tech] 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at# 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from collections import OrderedDict 16 | from os import path 17 | 18 | import yaml 19 | 20 | from nephos.helpers.k8s import context_get 21 | from nephos.fabric.utils import get_msps 22 | 23 | 24 | # YAML module will load data using an OrderedDict 25 | def dict_constructor(loader, node): 26 | return OrderedDict(loader.construct_pairs(node)) 27 | 28 | 29 | def dict_representer(dumper, data): 30 | return dumper.represent_dict(data.items()) 31 | 32 | 33 | yaml.add_representer(OrderedDict, dict_representer) 34 | yaml.add_constructor(yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, dict_constructor) 35 | 36 | 37 | def check_cluster(cluster_name): 38 | """Check that we are using the correct K8S cluster. 39 | 40 | Args: 41 | cluster_name (str): Name of K8S cluster. 42 | """ 43 | context = context_get() 44 | if context["context"]["cluster"] != cluster_name: 45 | message = ( 46 | f"We expect to use cluster {cluster_name}, but are instead using cluster {context['context']['cluster']}", 47 | ) 48 | raise ValueError(message) 49 | 50 | 51 | def get_namespace(opts, msp=None, ca=None): 52 | """Get relevant namespace where MSP or CA should be located. 53 | 54 | Args: 55 | opts (dict): Nephos options dict. 56 | msp (str): Name of Membership Service Provider (MSP). 57 | ca (str): Name of Certificate Authority (CA). 58 | 59 | Returns: 60 | str: Namespace relating to either an MSP or a CA. 61 | """ 62 | if msp is not None: 63 | if msp in list(get_msps(opts=opts)): 64 | if "namespace" in opts["msps"][msp]: 65 | # Specific MSP-based namespace 66 | return opts["msps"][msp]["namespace"] 67 | else: 68 | raise KeyError(f'Settings dict does not contain MSP "{msp}"') 69 | elif ca is not None: 70 | if "cas" in opts and ca in opts["cas"]: 71 | ca_values = opts["cas"][ca] 72 | else: 73 | raise KeyError(f'Settings dict does not contain CA "{ca}"') 74 | if "namespace" in ca_values: 75 | # Specific MSP-based namespace 76 | return ca_values["namespace"] 77 | # Default case is to return core namespace 78 | return opts["core"]["namespace"] 79 | 80 | 81 | def get_version(opts, app): 82 | """Get version of a specific app 83 | 84 | Args: 85 | opts (dict): Nephos options dict. 86 | app (str): Helm application name. 87 | 88 | Returns: 89 | str: Desired version of Helm app, if specified. Defaults to None. 90 | """ 91 | if "versions" in opts and app in opts["versions"]: 92 | return opts["versions"][app] 93 | else: 94 | return None 95 | 96 | 97 | def load_config(settings_file): 98 | """Load configuration from Nephos options/settings YAML file. 99 | 100 | Args: 101 | settings_file (str): Name of YAML file containing Nephos options/settings. 102 | 103 | Returns: 104 | dict: Nephos options/settings. 105 | """ 106 | with open(settings_file) as f: 107 | data = yaml.safe_load(f) 108 | if "cluster" in data["core"]: 109 | check_cluster(data["core"]["cluster"]) 110 | if path.isdir(data["core"]["chart_repo"]): 111 | # TODO: This abspath/expanduser combo can be refactored to another function 112 | data["core"]["chart_repo"] = path.abspath( 113 | path.expanduser(data["core"]["chart_repo"]) 114 | ) 115 | data["core"]["dir_config"] = path.abspath( 116 | path.expanduser(data["core"]["dir_config"]) 117 | ) 118 | data["core"]["dir_crypto"] = path.abspath( 119 | path.expanduser(data["core"]["dir_crypto"]) 120 | ) 121 | data["core"]["dir_values"] = path.abspath( 122 | path.expanduser(data["core"]["dir_values"]) 123 | ) 124 | return data 125 | -------------------------------------------------------------------------------- /nephos/helpers/__init__.py: -------------------------------------------------------------------------------- 1 | from . import helm, k8s, misc 2 | 3 | __all__ = ["helm", "k8s", "misc"] 4 | -------------------------------------------------------------------------------- /nephos/helpers/executer.py: -------------------------------------------------------------------------------- 1 | from nephos.helpers.misc import execute 2 | 3 | # Class to execute K8S commands 4 | # TODO: We might wish to set the container at the execution level? 5 | class Executer: 6 | def __init__(self, pod, namespace, container=""): 7 | """Executer creates a K8S pod object capable of: 8 | 1) Execute commands, 9 | 2) Return logs. 10 | 11 | Args: 12 | pod (str): Pod to bind to. 13 | namespace (str): Name of namespace. 14 | container (str): Container to bind to. 15 | """ 16 | extra = "" 17 | if container: 18 | extra += f"--container {container} " 19 | self.pod = pod 20 | self.prefix_exec = f"kubectl exec {pod} -n {namespace} {extra}-- " 21 | 22 | self.prefix_logs = f"kubectl logs {pod} -n {namespace} {extra}" 23 | 24 | # TODO: api.connect_get_namespaced_pod_exec (to do exec using Python API programmatically) 25 | def execute(self, command): 26 | """Execute a command in pod. 27 | 28 | Args: 29 | command (str): Command to execute. 30 | 31 | Returns: 32 | tuple: 2-tuple of execution info: 33 | 1) result of the command, if successful, None if not; 34 | 2) and error, if command failed, None if not. 35 | 36 | """ 37 | result, error = execute(self.prefix_exec + command) 38 | return result, error 39 | 40 | def logs(self, tail=-1, since_time=None): 41 | """Get logs from pod. 42 | 43 | Args: 44 | tail (int): How many lines of logs to obtain? 45 | 46 | Returns: 47 | str: Logs contained in pod. 48 | """ 49 | command = f"--tail={tail}" 50 | if since_time: 51 | command += f" --since-time='{since_time}'" 52 | result, _ = execute(self.prefix_logs + command) 53 | return result 54 | -------------------------------------------------------------------------------- /nephos/runners.py: -------------------------------------------------------------------------------- 1 | # Copyright [2018] [Alejandro Vicente Grabovetsky via AID:Tech] 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at# 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | import logging 15 | 16 | from nephos.fabric.ca import setup_ca 17 | from nephos.fabric.crypto import admin_msp, genesis_block, channel_tx, setup_nodes 18 | from nephos.fabric.ord import setup_ord 19 | from nephos.fabric.peer import setup_peer, create_channel 20 | from nephos.composer.install import deploy_composer, install_network, setup_admin 21 | from nephos.composer.upgrade import upgrade_network 22 | from nephos.fabric.utils import get_msps 23 | 24 | 25 | def runner_ca(opts, upgrade=False): 26 | """Deploy CAs. 27 | 28 | Args: 29 | opts (dict): Nephos options dict. 30 | upgrade (bool): Do we upgrade the deployment? False by default. 31 | 32 | """ 33 | if opts["cas"]: 34 | setup_ca(opts, upgrade=upgrade) 35 | else: 36 | logging.warning("No CAs defined in Nephos settings, ignoring CA setup") 37 | 38 | 39 | def runner_composer(opts, upgrade=False): 40 | """Deploy Hyperledger Composer. 41 | 42 | Args: 43 | opts (dict): Nephos options dict. 44 | upgrade (bool): Do we upgrade the deployment? False by default. 45 | 46 | """ 47 | deploy_composer(opts, upgrade=upgrade) 48 | setup_admin(opts) 49 | install_network(opts) 50 | 51 | 52 | def runner_composer_up(opts): 53 | """Upgrade Hyperledger Composer network (experimental). 54 | 55 | Args: 56 | opts (dict): Nephos options dict. 57 | 58 | """ 59 | upgrade_network(opts) 60 | 61 | 62 | def runner_crypto(opts): 63 | """Create Crypto-material by either using CAs or save Cryptogen material. 64 | 65 | Args: 66 | opts (dict): Nephos options dict. 67 | 68 | """ 69 | # Set up Admin MSPs 70 | for msp in get_msps(opts=opts): 71 | admin_msp(opts, msp) 72 | # Genesis & Channel 73 | genesis_block(opts) 74 | # TODO: We currently only support a single channel 75 | channel_tx(opts) 76 | # Setup node MSPs 77 | setup_nodes(opts) 78 | 79 | 80 | def runner_deploy(opts, upgrade=False): 81 | """Deploy end-to-end deployment of Hyperledger Fabric and Composer. 82 | 83 | Args: 84 | opts (dict): Nephos options dict. 85 | upgrade (bool): Do we upgrade the deployment? False by default. 86 | 87 | """ 88 | # Fabric 89 | runner_fabric(opts, upgrade=upgrade) 90 | # Composer 91 | runner_composer(opts, upgrade=upgrade) 92 | 93 | 94 | def runner_fabric(opts, upgrade=False): 95 | """Deploy Hyperledger Fabric, including CAs/Cryptogen, Orderers and Peers. 96 | 97 | Args: 98 | opts (dict): Nephos options dict. 99 | upgrade (bool): Do we upgrade the deployment? False by default. 100 | 101 | """ 102 | # Setup CA 103 | runner_ca(opts, upgrade=upgrade) 104 | # Crypto material 105 | runner_crypto(opts) 106 | # Orderers 107 | runner_orderer(opts, upgrade=upgrade) 108 | # Peers 109 | runner_peer(opts, upgrade=upgrade) 110 | 111 | 112 | def runner_orderer(opts, upgrade=False): 113 | """Deploy Hyperledger Fabric Orderers. 114 | 115 | Args: 116 | opts (dict): Nephos options dict. 117 | upgrade (bool): Do we upgrade the deployment? False by default. 118 | 119 | """ 120 | setup_ord(opts, upgrade=upgrade) 121 | 122 | 123 | def runner_peer(opts, upgrade=False): 124 | """Deploy Hyperledger Fabric Peers. 125 | 126 | Args: 127 | opts (dict): Nephos options dict. 128 | upgrade (bool): Do we upgrade the deployment? False by default. 129 | 130 | """ 131 | setup_peer(opts, upgrade=upgrade) 132 | create_channel(opts) 133 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | adal==1.2.2 2 | alabaster==0.7.12 3 | appdirs==1.4.3 4 | asn1crypto==1.2.0 5 | atomicwrites==1.3.0 6 | attrs==19.3.0 7 | Babel==2.7.0 8 | bandit==1.6.2 9 | black==19.3b0 10 | bleach==3.1.4 11 | blessings==1.7 12 | cachetools==3.1.1 13 | certifi==2019.9.11 14 | cffi==1.14.0 15 | chardet==3.0.4 16 | Click==7.0 17 | coverage==4.5.4 18 | cryptography==2.8 19 | docutils==0.15.2 20 | gitdb2==2.0.6 21 | GitPython==3.0.4 22 | google-auth==1.7.1 23 | idna==2.8 24 | imagesize==1.1.0 25 | Jinja2==2.10.3 26 | kubernetes==10.0.1 27 | m2r==0.2.1 28 | MarkupSafe==1.1.1 29 | mistune==0.8.4 30 | more-itertools==8.2.0 31 | oauthlib==3.1.0 32 | packaging==19.2 33 | pbr==5.4.3 34 | pkginfo==1.5.0.1 35 | pluggy==0.13.0 36 | pockets==0.8 37 | py==1.8.0 38 | pyasn1==0.4.7 39 | pyasn1-modules==0.2.7 40 | pycparser==2.19 41 | Pygments==2.3.1 42 | PyJWT==1.7.1 43 | pyparsing==2.4.5 44 | pytest==5.3.2 45 | pytest-cov==2.8.1 46 | python-dateutil==2.8.1 47 | pytz==2019.3 48 | PyYAML==5.1.2 49 | readme-renderer==24.0 50 | requests==2.22.0 51 | requests-oauthlib==1.2.0 52 | requests-toolbelt==0.9.1 53 | rsa==4.0 54 | six==1.13.0 55 | smmap2==2.0.5 56 | snowballstemmer==2.0.0 57 | Sphinx==2.2.1 58 | sphinx-rtd-theme==0.4.3 59 | sphinxcontrib-websupport==1.1.2 60 | stevedore==1.31.0 61 | toml==0.10.0 62 | tqdm==4.38.0 63 | twine==2.0.0 64 | urllib3==1.25.6 65 | webencodings==0.5.1 66 | websocket-client==0.56.0 67 | -------------------------------------------------------------------------------- /sonar-project.properties: -------------------------------------------------------------------------------- 1 | # Must be unique in a given SonarQube instance 2 | sonar.projectKey=hyperledger-labs_nephos 3 | # Name and version displayed in the SonarQube UI. 4 | sonar.projectName=Hyperledger Labs Nephos 5 | sonar.projectVersion=1.0 6 | 7 | # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. 8 | # Optional if sonar.modules is set. 9 | sonar.sources=. 10 | sonar.tests=. 11 | sonar.test.inclusions=**/*test*/** 12 | sonar.exclusions=venv/**,**/*test*/**,setup.py,docs/**,*integration*/** 13 | sonar.python.coverage.reportPath=./coverage.xml 14 | 15 | # Encoding of the source code. By default, the system encoding 16 | #sonar.sourceEncoding=UTF-8 17 | -------------------------------------------------------------------------------- /tests/composer/test_connection_template.py: -------------------------------------------------------------------------------- 1 | from unittest.mock import patch 2 | 3 | from nephos.composer.connection_template import define_orderers, define_peers, json_ct 4 | 5 | 6 | class TestDefineOrderers: 7 | def test_define_orderers(self): 8 | res = define_orderers( 9 | ["ord0", "ord1"], ["ord0.local-cluster", "ord1.local-cluster"] 10 | ) 11 | assert res == { 12 | "ord0": {"url": "grpc://ord0.local-cluster:7050"}, 13 | "ord1": {"url": "grpc://ord1.local-cluster:7050"}, 14 | } 15 | 16 | def test_define_orderers_domain(self): 17 | res = define_orderers( 18 | ["ord0", "ord1"], 19 | ["ord0.local-cluster", "ord1.local-cluster"], 20 | domain="a-domain.com", 21 | ) 22 | assert res == { 23 | "ord0.a-domain.com": {"url": "grpc://ord0.local-cluster:7050"}, 24 | "ord1.a-domain.com": {"url": "grpc://ord1.local-cluster:7050"}, 25 | } 26 | 27 | 28 | class TestDefinePeers: 29 | def test_define_peers(self): 30 | res = define_peers(["peer0"], ["peer0.local-cluster"], "an-org") 31 | assert res == ( 32 | { 33 | "peer0": { 34 | "chaincodeQuery": True, 35 | "endorsingPeer": True, 36 | "eventSource": True, 37 | "ledgerQuery": True, 38 | } 39 | }, 40 | { 41 | "peer0": { 42 | "url": "grpc://peer0.local-cluster:7051", 43 | "eventUrl": "grpc://peer0.local-cluster:7053", 44 | } 45 | }, 46 | ) 47 | 48 | def test_define_peers_domain(self): 49 | res = define_peers( 50 | ["peer0"], ["peer0.local-cluster"], "an-org", domain="a-domain.com" 51 | ) 52 | assert res == ( 53 | { 54 | "peer0.an-org.a-domain.com": { 55 | "chaincodeQuery": True, 56 | "endorsingPeer": True, 57 | "eventSource": True, 58 | "ledgerQuery": True, 59 | } 60 | }, 61 | { 62 | "peer0.an-org.a-domain.com": { 63 | "url": "grpc://peer0.local-cluster:7051", 64 | "eventUrl": "grpc://peer0.local-cluster:7053", 65 | } 66 | }, 67 | ) 68 | 69 | 70 | # TODO: This command is much too complicated (simplify and derive from hlf_config.yaml 71 | class TestJsonCt: 72 | OPTS = { 73 | "msps": { 74 | "ord_MSP": {"namespace": "ord-namespace"}, 75 | "peer_MSP": {"namespace": "peer-namespace"}, 76 | }, 77 | "orderers": {"msp": "ord_MSP", "names": ["ord0"]}, 78 | "peers": {"msp": "peer_MSP", "names": ["peer0"]}, 79 | } 80 | 81 | @patch("nephos.composer.connection_template.define_peers") 82 | @patch("nephos.composer.connection_template.define_orderers") 83 | def test_json_ct(self, mock_define_orderers, mock_define_peers): 84 | mock_define_peers.side_effect = [ 85 | ( 86 | { 87 | "peer0.an-org.a-domain.com": { 88 | "chaincodeQuery": True, 89 | "endorsingPeer": True, 90 | "eventSource": True, 91 | "ledgerQuery": True, 92 | } 93 | }, 94 | { 95 | "peer0.an-org.a-domain.com": { 96 | "url": "grpc://peer0-hlf-peer.peer-namespace.svc.cluster.local:7051", 97 | "eventUrl": "grpc://peer0-hlf-peer.peer-namespace.svc.cluster.local:7053", 98 | } 99 | }, 100 | ) 101 | ] 102 | mock_define_orderers.side_effect = [ 103 | { 104 | "ord0.a-domain.com": { 105 | "url": "grpc://ord0-hlf-ord.orderer-namespace.svc.cluster.local:7050" 106 | } 107 | } 108 | ] 109 | res = json_ct( 110 | self.OPTS, 111 | "a-ca", 112 | "a-ca.a-domain.com", 113 | "an-org", 114 | "a-domain.com", 115 | "AnMSP", 116 | "a-channel", 117 | ) 118 | mock_define_peers.assert_called_once_with( 119 | ["peer0"], 120 | ["peer0-hlf-peer.peer-namespace.svc.cluster.local"], 121 | "an-org", 122 | "a-domain.com", 123 | ) 124 | mock_define_orderers.assert_called_once_with( 125 | ["ord0"], ["ord0-hlf-ord.ord-namespace.svc.cluster.local"], "a-domain.com" 126 | ) 127 | assert isinstance(res, str) 128 | -------------------------------------------------------------------------------- /tests/composer/test_upgrade.py: -------------------------------------------------------------------------------- 1 | from unittest.mock import call, patch, Mock 2 | 3 | from nephos.composer.upgrade import upgrade_network 4 | 5 | 6 | class TestUpgradeNetwork: 7 | OPTS = { 8 | "cas": {"peer-ca": {}}, 9 | "composer": {"secret_bna": "bna-secret"}, 10 | "msps": { 11 | "peer_MSP": { 12 | "ca": "peer-ca", 13 | "namespace": "peer-ns", 14 | "org_admin": "an-admin", 15 | } 16 | }, 17 | "peers": {"msp": "peer_MSP"}, 18 | } 19 | 20 | @patch("nephos.composer.upgrade.secret_create") 21 | @patch("nephos.composer.upgrade.input_files") 22 | @patch("nephos.composer.upgrade.logging") 23 | @patch("nephos.composer.upgrade.get_helm_pod") 24 | def test_upgrade_network( 25 | self, mock_get_pod, mock_log, mock_input_files, mock_secret_create 26 | ): 27 | mock_pod_ex = Mock() 28 | mock_pod_ex.execute.side_effect = [ 29 | ("a-network_a-version.bna", None), 30 | ("Business network version: another-version", None), 31 | ("Network install", None), # network install 32 | ("Network upgrade", None), # network upgrade 33 | ("Business network version: a-version", None), 34 | ] 35 | mock_get_pod.side_effect = [mock_pod_ex] 36 | mock_input_files.side_effect = [{"key": "data"}] 37 | upgrade_network(self.OPTS) 38 | mock_input_files.assert_called_once_with((None,), clean_key=True) 39 | mock_secret_create.assert_called_once_with( 40 | {"key": "data"}, "bna-secret", "peer-ns" 41 | ) 42 | mock_get_pod.assert_called_once_with( 43 | "peer-ns", "hlc", "hl-composer", verbose=False 44 | ) 45 | mock_pod_ex.execute.assert_has_calls( 46 | [ 47 | call("ls /hl_config/blockchain_network"), 48 | call("composer network ping --card an-admin@a-network"), 49 | call( 50 | "composer network install --card PeerAdmin@hlfv1 " 51 | + "--archiveFile /hl_config/blockchain_network/a-network_a-version.bna" 52 | ), 53 | call( 54 | "composer network upgrade --card PeerAdmin@hlfv1 " 55 | + "--networkName a-network --networkVersion a-version" 56 | ), 57 | call("composer network ping --card an-admin@a-network"), 58 | ] 59 | ) 60 | mock_log.info.assert_has_calls( 61 | [call("another-version"), call("Upgraded to a-version")] 62 | ) 63 | 64 | @patch("nephos.composer.upgrade.secret_create") 65 | @patch("nephos.composer.upgrade.input_files") 66 | @patch("nephos.composer.upgrade.logging") 67 | @patch("nephos.composer.upgrade.get_helm_pod") 68 | def test_upgrade_network_again( 69 | self, mock_get_pod, mock_log, mock_input_files, mock_secret_create 70 | ): 71 | mock_pod_ex = Mock() 72 | mock_pod_ex.execute.side_effect = [ 73 | ("a-network_a-version.bna", None), 74 | ("Business network version: a-version", None), 75 | ] 76 | mock_get_pod.side_effect = [mock_pod_ex] 77 | mock_input_files.side_effect = [{"key": "data"}] 78 | upgrade_network(self.OPTS, verbose=True) 79 | mock_input_files.assert_called_once_with((None,), clean_key=True) 80 | mock_secret_create.assert_called_once_with( 81 | {"key": "data"}, "bna-secret", "peer-ns" 82 | ) 83 | mock_get_pod.assert_called_once_with( 84 | "peer-ns", "hlc", "hl-composer", verbose=True 85 | ) 86 | mock_pod_ex.execute.assert_has_calls( 87 | [ 88 | call("ls /hl_config/blockchain_network"), 89 | call("composer network ping --card an-admin@a-network"), 90 | ] 91 | ) 92 | mock_log.info.assert_has_calls([call("a-version")]) 93 | -------------------------------------------------------------------------------- /tests/helpers/test_executer.py: -------------------------------------------------------------------------------- 1 | from collections import namedtuple 2 | from unittest.mock import call, patch, MagicMock 3 | 4 | from kubernetes.client.rest import ApiException 5 | import pytest 6 | 7 | from nephos.helpers.executer import Executer 8 | 9 | class TestExecuter: 10 | def test_executer_init(self): 11 | executer = Executer("a-pod", "a-namespace") 12 | assert executer.pod == "a-pod" 13 | assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace -- " 14 | 15 | def test_executer_init_container(self): 16 | executer = Executer("a-pod", "a-namespace", container="a_container") 17 | assert executer.pod == "a-pod" 18 | assert ( 19 | executer.prefix_exec 20 | == "kubectl exec a-pod -n a-namespace --container a_container -- " 21 | ) 22 | 23 | @patch("nephos.helpers.executer.execute") 24 | def test_executer_execute(self, mock_execute): 25 | mock_execute.side_effect = [("result", None)] 26 | executer = Executer("a_pod", "a-namespace") 27 | executer.execute("a_command") 28 | mock_execute.assert_called_once_with( 29 | "kubectl exec a_pod -n a-namespace -- a_command" 30 | ) 31 | 32 | @patch("nephos.helpers.executer.execute") 33 | def test_executer_logs(self, mock_execute): 34 | mock_execute.side_effect = [("result", None)] 35 | executer = Executer("a_pod", "a-namespace") 36 | executer.logs() 37 | mock_execute.assert_called_once_with( 38 | "kubectl logs a_pod -n a-namespace --tail=-1" 39 | ) 40 | 41 | @patch("nephos.helpers.executer.execute") 42 | def test_executer_logs_tail(self, mock_execute): 43 | mock_execute.side_effect = [("result", None)] 44 | executer = Executer("a_pod", "a-namespace", container="a_container") 45 | executer.logs(tail=10) 46 | mock_execute.assert_called_once_with( 47 | "kubectl logs a_pod -n a-namespace --container a_container --tail=10" 48 | ) 49 | 50 | @patch("nephos.helpers.executer.execute") 51 | def test_executer_logs_sincetime(self, mock_execute): 52 | mock_execute.side_effect = [("result", None)] 53 | executer = Executer("a_pod", "a-namespace") 54 | executer.logs(since_time="1970-01-01T00:00:00Z") 55 | mock_execute.assert_called_once_with( 56 | "kubectl logs a_pod -n a-namespace --tail=-1 --since-time='1970-01-01T00:00:00Z'" 57 | ) 58 | -------------------------------------------------------------------------------- /tests/test_deploy.py: -------------------------------------------------------------------------------- 1 | from unittest.mock import call, patch 2 | 3 | from click.testing import CliRunner 4 | 5 | from nephos.deploy import cli 6 | 7 | RUNNER = CliRunner() 8 | 9 | 10 | def test_cli(): 11 | result = RUNNER.invoke(cli) 12 | assert result.exit_code == 0 13 | assert "Nephos helps you install Hyperledger Fabric on Kubernetes" in result.output 14 | 15 | 16 | @patch("nephos.deploy.runner_ca") 17 | @patch("nephos.deploy.load_config") 18 | def test_cert_auth(mock_load_config, mock_runner_ca): 19 | mock_load_config.side_effect = ["some-opts"] 20 | result = RUNNER.invoke(cli, ["--settings_file", "nephos_config.yaml", "cert-auth"]) 21 | mock_load_config.assert_called_once_with("nephos_config.yaml") 22 | mock_runner_ca.assert_called_once_with("some-opts", upgrade=False) 23 | assert result.exit_code == 0 24 | 25 | 26 | @patch("nephos.deploy.runner_composer") 27 | @patch("nephos.deploy.load_config") 28 | def test_composer(mock_load_config, mock_runner_composer): 29 | mock_load_config.side_effect = ["some-opts"] 30 | result = RUNNER.invoke(cli, ["--settings_file", "nephos_config.yaml", "composer"]) 31 | mock_load_config.assert_called_once_with("nephos_config.yaml") 32 | mock_runner_composer.assert_called_once_with("some-opts", upgrade=False) 33 | assert result.exit_code == 0 34 | 35 | 36 | @patch("nephos.deploy.runner_composer_up") 37 | @patch("nephos.deploy.load_config") 38 | def test_composer_up(mock_load_config, mock_runner_composer_up): 39 | mock_load_config.side_effect = ["some-opts"] 40 | result = RUNNER.invoke( 41 | cli, ["--settings_file", "nephos_config.yaml", "composer-up"] 42 | ) 43 | mock_load_config.assert_called_once_with("nephos_config.yaml") 44 | mock_runner_composer_up.assert_called_once_with("some-opts") 45 | assert result.exit_code == 0 46 | 47 | 48 | @patch("nephos.deploy.runner_crypto") 49 | @patch("nephos.deploy.load_config") 50 | def test_crypto(mock_load_config, mock_runner_crypto): 51 | mock_load_config.side_effect = ["some-opts"] 52 | result = RUNNER.invoke(cli, ["--settings_file", "nephos_config.yaml", "crypto"]) 53 | mock_load_config.assert_called_once_with("nephos_config.yaml") 54 | mock_runner_crypto.assert_called_once_with("some-opts") 55 | assert result.exit_code == 0 56 | 57 | 58 | @patch("nephos.deploy.runner_deploy") 59 | @patch("nephos.deploy.load_config") 60 | def test_deploy(mock_load_config, mock_runner_deploy): 61 | mock_load_config.side_effect = ["some-opts"] 62 | result = RUNNER.invoke(cli, ["--settings_file", "nephos_config.yaml", "deploy"]) 63 | mock_load_config.assert_called_once_with("nephos_config.yaml") 64 | mock_runner_deploy.assert_called_once_with("some-opts", upgrade=False) 65 | assert result.exit_code == 0 66 | 67 | 68 | @patch("nephos.deploy.runner_fabric") 69 | @patch("nephos.deploy.load_config") 70 | def test_fabric(mock_load_config, mock_runner_fabric): 71 | mock_load_config.side_effect = ["some-opts"] 72 | result = RUNNER.invoke(cli, ["--settings_file", "nephos_config.yaml", "fabric"]) 73 | mock_load_config.assert_called_once_with("nephos_config.yaml") 74 | mock_runner_fabric.assert_called_once_with("some-opts", upgrade=False) 75 | assert result.exit_code == 0 76 | 77 | 78 | @patch("nephos.deploy.runner_orderer") 79 | @patch("nephos.deploy.load_config") 80 | def test_orderer(mock_load_config, mock_runner_orderer): 81 | mock_load_config.side_effect = ["some-opts"] 82 | result = RUNNER.invoke(cli, ["--settings_file", "nephos_config.yaml", "orderer"]) 83 | mock_load_config.assert_called_once_with("nephos_config.yaml") 84 | mock_runner_orderer.assert_called_once_with("some-opts", upgrade=False) 85 | assert result.exit_code == 0 86 | 87 | 88 | @patch("nephos.deploy.runner_peer") 89 | @patch("nephos.deploy.load_config") 90 | def test_peer(mock_load_config, mock_runner_peer): 91 | mock_load_config.side_effect = ["some-opts"] 92 | result = RUNNER.invoke(cli, ["--settings_file", "nephos_config.yaml", "peer"]) 93 | mock_load_config.assert_called_once_with("nephos_config.yaml") 94 | mock_runner_peer.assert_called_once_with("some-opts", upgrade=False) 95 | assert result.exit_code == 0 96 | 97 | 98 | class TestSettings: 99 | @patch("nephos.deploy.pretty_print") 100 | @patch("nephos.deploy.logging") 101 | @patch("nephos.deploy.load_config") 102 | def test_settings(self, mock_load_config, mock_log, mock_pretty_print): 103 | mock_load_config.side_effect = [{"key": "value"}] 104 | result = RUNNER.invoke( 105 | cli, ["-v", "--settings_file", "nephos_config.yaml", "settings"] 106 | ) 107 | mock_load_config.assert_called_once_with("nephos_config.yaml") 108 | mock_log.info.assert_called_once_with("Settings successfully loaded...\n") 109 | mock_pretty_print.assert_called_once_with('{\n "key": "value"\n}') 110 | assert result.exit_code == 0 111 | -------------------------------------------------------------------------------- /travis_success.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | codecov --token=${CODECOV_TOKEN} 4 | 5 | NEPHOS_VERSION=$(cat setup.py | grep 'VERSION =' | awk '{print $3}') 6 | echo "Nephos version is $NEPHOS_VERSION" 7 | 8 | PACKAGE_PYPI=$(curl -s https://pypi.org/pypi/nephos/json | jq '.releases | keys[]' | grep ${NEPHOS_VERSION}) 9 | echo "On PyPI we have $PACKAGE_PYPI" 10 | 11 | if [[ ${PACKAGE_PYPI} ]] 12 | then 13 | echo "Package has already been uploaded to PyPI" 14 | elif [[ "$TRAVIS_PULL_REQUEST" == "true" ]] 15 | then 16 | echo "TRAVIS_PULL_REQUEST is 'true'" 17 | elif [[ ${TWINE_USERNAME} && ${TWINE_PASSWORD} ]] 18 | then 19 | python setup.py upload 20 | else 21 | echo "TWINE_USERNAME and/or TWINE_PASSWORD not available" 22 | fi 23 | 24 | if [[ "$TRAVIS_PULL_REQUEST" == "true" ]] 25 | then 26 | # Cosmic Ray (Mutation testing) 27 | pip install cosmic_ray 28 | cosmic-ray -v INFO init cosmic_ray_config.yaml my_session.sqlite 29 | cosmic-ray -v INFO exec my_session.sqlite 30 | cr-report my_session.sqlite | grep 'complete:' 31 | cr-report my_session.sqlite | grep 'survival rate:' 32 | fi 33 | --------------------------------------------------------------------------------