nephos.fabric package

Submodules

nephos.fabric.ca module

nephos.fabric.ca.ca_chart(opts, release, upgrade=False, verbose=False)[source]

Deploy CA Helm chart to K8S.

Parameters:
  • opts (dict) – Nephos options dict.
  • release (str) – Name of the Helm Chart release.
  • upgrade (bool) – Do we upgrade the deployment? False by default.
  • verbose (bool) – Verbosity. False by default.
nephos.fabric.ca.ca_enroll(pod_exec)[source]

Enroll CA.

Enroll the Certificate Authority (CA) identity within the running CA pod. This is a necessary step for the CA to function.

Parameters:pod_exec – A pod executor instance bound to the CA.
nephos.fabric.ca.check_ca(ingress_host, cacert=None, verbose=False)[source]

Check that the CA Ingress is responsive.

Parameters:
  • ingress_host (str) – Ingress host for the CA.
  • cacert (str) – Path of the CA cert.
  • verbose (bool) – Verbosity. False by default.
nephos.fabric.ca.setup_ca(opts, upgrade=False, verbose=False)[source]

Setup CA.

Setup involves enrolling the CA admin, checking the Ingress is responsive.

Parameters:
  • opts (dict) – Nephos options dict.
  • upgrade (bool) – Do we upgrade the deployment? False by default.
  • verbose (bool) – Verbosity. False by default.

nephos.fabric.crypto module

class nephos.fabric.crypto.CryptoInfo(secret_type, subfolder, key, required)

Bases: tuple

key

Alias for field number 2

required

Alias for field number 3

secret_type

Alias for field number 0

subfolder

Alias for field number 1

nephos.fabric.crypto.admin_creds(opts, msp_name, verbose=False)[source]

Get admin credentials and save them to Nephos options dict.

Parameters:
  • opts (dict) – Nephos options dict.
  • msp_name (str) – Name of Membership Service Provider.
  • verbose (bool) –
nephos.fabric.crypto.admin_msp(opts, msp_name, verbose=False)[source]

Setup the admin MSP, by getting/setting credentials and creating/saving crypto-material.

Parameters:
  • opts (dict) – Nephos options dict.
  • msp_name (str) – Name of Membership Service Provider.
  • verbose (bool) –
nephos.fabric.crypto.cacerts_to_secrets(namespace, msp_path, user, verbose=False)[source]

Convert CA certificate to K8S secrets.

Parameters:
  • namespace (str) – Namespace where secret will live.
  • msp_path (str) – Path to the Membership Service Provider crypto-material.
  • username (str) – Username for identity.
  • verbose (bool) –
nephos.fabric.crypto.channel_tx(opts, verbose=False)[source]

Create and save Channel Transaction to K8S.

Parameters:
  • opts (dict) – Nephos options dict.
  • verbose (bool) –
nephos.fabric.crypto.check_id(ca_namespace, ca, username, verbose=False)[source]
Parameters:
  • ca_namespace (str) – K8S namespace where CA is located.
  • ca (str) – K8S release name of CA.
  • username (str) – Username for identity.
  • verbose (bool) –
Returns:

Does the ID exist?

Return type:

bool

nephos.fabric.crypto.copy_secret(from_dir, to_dir)[source]

Copy single secret file from one directory to another.

Parameters:
  • from_dir (str) – Source directory where file resides.
  • to_dir (str) – Destination directory for file.
nephos.fabric.crypto.create_admin(opts, msp_name, verbose=False)[source]

Create an admin identity.

Parameters:
  • opts (dict) – Nephos options dict.
  • msp_name (str) – Name of Membership Service Provider.
  • verbose (bool) –
nephos.fabric.crypto.enroll_id(opts, ca, username, password, verbose=False)[source]

Enroll an ID with a Fabric Certificate Authority

Parameters:
  • opts (dict) – Nephos options dict.
  • ca (str) – K8S release name of CA.
  • username (str) – Username for identity.
  • password (str) – Password for identity.
  • verbose (bool) –
Returns:

Path of the MSP directory where cryptographic data is saved.

Return type:

str

nephos.fabric.crypto.genesis_block(opts, verbose=False)[source]

Create and save Genesis Block to K8S.

Parameters:
  • opts (dict) – Nephos options dict.
  • verbose (bool) –
nephos.fabric.crypto.id_to_secrets(namespace, msp_path, username, verbose=False)[source]

Convert Identity certificate and key to K8S secrets.

Parameters:
  • namespace (str) – Namespace where secret will live.
  • msp_path (str) – Path to the Membership Service Provider crypto-material.
  • username (str) – Username for identity.
  • verbose (bool) –
nephos.fabric.crypto.item_to_secret(namespace, msp_path, username, item, verbose=False)[source]

Save a single MSP crypto-material file as a K8S secret.

Parameters:
  • namespace (str) – Namespace where secret will live.
  • msp_path (str) – Path to the Membership Service Provider crypto-material.
  • username (str) – Username for identity.
  • item (CryptoInfo) – Item containing cryptographic material information.
  • verbose (bool) –
nephos.fabric.crypto.msp_secrets(opts, msp_name, verbose=False)[source]

Process MSP and convert it to a set of secrets.

Parameters:
  • opts (dict) – Nephos options dict.
  • msp_name (str) – Name of Membership Service Provider.
  • verbose (bool) –
nephos.fabric.crypto.register_id(ca_namespace, ca, username, password, node_type='client', admin=False, verbose=False)[source]

Register an ID with a Fabric Certificate Authority

Parameters:
  • ca_namespace (str) – K8S namespace where CA is located.
  • ca (str) – K8S release name of CA.
  • username (str) – Username for identity.
  • password (str) – Password for identity.
  • node_type (str) – Node type for identity. “client” by default.
  • admin (bool) – Whether the identity is an admin. False by default.
  • verbose (bool) – Verbosity. False by default.
nephos.fabric.crypto.setup_id(opts, msp_name, release, id_type, verbose=False)[source]

Setup single ID by registering, enrolling, and saving ID to K8S secrets.

Parameters:
  • opts (dict) – Nephos options dict.
  • msp_name (str) – Name of Membership Service Provider.
  • release (str) – Name of release/node.
  • id_type (str) – Type of ID we use.
  • verbose (bool) –
nephos.fabric.crypto.setup_nodes(opts, node_type, verbose=False)[source]

Setup identities for nodes.

Parameters:
  • opts (dict) – Nephos options dict.
  • node_type (str) – Type of node.
  • verbose (bool) –

nephos.fabric.ord module

nephos.fabric.ord.check_ord(namespace, release, verbose=False)[source]

Check if Orderer is running.

Parameters:
  • namespace (str) – Namespace where Orderer is located.
  • release (str) – Name of Orderer Helm release.
  • verbose (bool) – Verbosity. False by default.
Returns:

True once Orderer is correctly running.

Return type:

bool

nephos.fabric.ord.check_ord_tls(opts, verbose=False)[source]

Check TLS status of Orderer.

Parameters:
  • opts (dict) – Nephos options dict.
  • verbose (bool) – Verbosity. False by default.
Returns:

True if TLS is enabled, False if TLS is disabled.

Return type:

bool

nephos.fabric.ord.setup_ord(opts, upgrade=False, verbose=False)[source]

Setup Orderer on K8S.

Parameters:
  • opts (dict) – Nephos options dict.
  • upgrade (bool) – Do we upgrade the deployment? False by default.
  • verbose (bool) – Verbosity. False by default.

nephos.fabric.peer module

nephos.fabric.peer.check_peer(namespace, release, verbose=False)[source]

Check if Peer is running.

Parameters:
  • namespace – Namespace where Peer is located.
  • release – Name of Peer Helm release.
  • verbose (bool) – Verbosity. False by default.
Returns:

True once Peer is correctly running.

Return type:

bool

nephos.fabric.peer.create_channel(opts, verbose=False)[source]

Create Channel for Peer.

Parameters:
  • opts (dict) – Nephos options dict.
  • verbose (bool) – Verbosity. False by default.
nephos.fabric.peer.get_channel_block(peer_ex, ord_name, ord_namespace, channel, cmd_suffix)[source]

Get channel block from Peer.

Parameters:
  • peer_ex (Executor) – A Pod Executor representing a Peer.
  • ord_name (str) – Name of the orderer we wish to communicate with.
  • ord_namespace (str) – Namespace where the orderer resides.
  • channel (str) – Name of the channel we with to retrieve.
  • cmd_suffix (str) – Suffix to the “peer channel fetch” command.
Returns:

Were we able to fetch the channel?

Return type:

bool

nephos.fabric.peer.peer_channel_suffix(opts, ord_name, verbose=False)[source]

Get command suffix for “peer channel” commands, as they involve speaking with Orderer.

Parameters:
  • opts (dict) – Nephos options dict.
  • ord_name (str) – Orderer we wish to speak to.
  • verbose (bool) – Verbosity. False by default.
Returns:

Command suffix we need to use in “peer channel” commands.

Return type:

str

nephos.fabric.peer.setup_peer(opts, upgrade=False, verbose=False)[source]

Setup Peer on K8S.

Parameters:
  • opts (dict) – Nephos options dict.
  • upgrade (bool) – Do we upgrade the deployment? False by default.
  • verbose (bool) – Verbosity. False by default.

nephos.fabric.settings module

nephos.fabric.settings.check_cluster(cluster_name)[source]

Check that we are using the correct K8S cluster.

Parameters:cluster_name (str) – Name of K8S cluster.
nephos.fabric.settings.dict_constructor(loader, node)[source]
nephos.fabric.settings.dict_representer(dumper, data)[source]
nephos.fabric.settings.get_namespace(opts, msp=None, ca=None)[source]

Get relevant namespace where MSP or CA should be located.

Parameters:
  • opts (dict) – Nephos options dict.
  • msp (str) – Name of Membership Service Provider (MSP).
  • ca (str) – Name of Certificate Authority (CA).
Returns:

Namespace relating to either an MSP or a CA.

Return type:

str

nephos.fabric.settings.get_version(opts, app)[source]

Get version of a specific app

Parameters:
  • opts (dict) – Nephos options dict.
  • app (str) – Helm application name.
Returns:

Desired version of Helm app, if specified. Defaults to None.

Return type:

str

nephos.fabric.settings.load_config(settings_file)[source]

Load configuration from Nephos options/settings YAML file.

Parameters:settings_file (str) – Name of YAML file containing Nephos options/settings.
Returns:Nephos options/settings.
Return type:dict

nephos.fabric.utils module

nephos.fabric.utils.credentials_secret(secret_name, namespace, username, password=None, verbose=False)[source]

Create a CA credentials secret.

Parameters:
  • secret_name (str) – Name of secret.
  • namespace (str) – Namespace for secret to be located.
  • username (str) – Username for credentials secret.
  • password (str) – Password for credentials secret.
  • verbose (bool) – Verbosity. False by default.
Returns:

Secret data including “CA_USERNAME” and “CA_PASSWORD”

Return type:

dict

nephos.fabric.utils.crypto_secret(secret_name, namespace, file_path, key, verbose=False)[source]

Create a crypto-material secret.

Parameters:
  • secret_name (str) – Name of secret.
  • namespace (str) – Namespace for secret to be located.
  • file_path (str) – Path to file we want to store as a secret.
  • key (str) – Key (file) name of secret we want to store as a secret.
  • verbose (bool) – Verbosity. False by default.
nephos.fabric.utils.get_helm_pod(namespace, release, app, item=0, verbose=False)[source]

Get a pod object from K8S.

Parameters:
  • namespace (str) – Namespace where pod is located.
  • release (str) – Release name of pod.
  • app (str) – App type of pod.
  • verbose (bool) – Verbosity. False by default.
Returns:

A pod object able to execute commands and return logs.

Return type:

Executer

nephos.fabric.utils.get_pod(namespace, identifier, item=0, verbose=False)[source]

Get a pod object from K8S.

Parameters:
  • namespace (str) – Namespace where pod is located.
  • identifier (str) – Name of pod, or a label descriptor.
  • verbose (bool) – Verbosity. False by default.
Returns:

A pod object able to execute commands and return logs.

Return type:

Executer

Module contents