A utility to generate k8s configs for a Tezos blockchain
Project description
mkchain
Helper program to generate values for the Tezos chain Helm chart
Prerequisites
To run mkchain
, you must either have docker or pytezos installed.
Installing Docker
To be consistent with other documentation in this project, we describe how to install docker with minikube. We need to install:
- [docker](https://docs.docker.com/get-docker/),
- [minikube](https://minikube.sigs.k8s.io/docs/),
- [helm](https://helm.sh/),
- and `python3`.
Start minikube and configure your shell environment to use minikube's Docker daemon:
minikube start
eval $(minikube docker-env)
Installing pytezos
This is documented at: https://pytezos.org/quick_start.html#requirements
Install mkchain
mkdir mkchain && cd mkchain
python3 -m venv .venv
. .venv/bin/activate
pip install wheel && pip install mkchain
Set unbuffered IO for python:
export PYTHONUNBUFFERED=x
Generate Helm Values
Set as an environment variable the name you would like to give to your chain:
export CHAIN_NAME=my-chain
Your chain is uniquely defined by a set of values such as bootstrap account keys, chain id, timestamp...
To generate these values run:
mkchain $CHAIN_NAME
This command will create a yaml file in your current working directory: <$CHAIN_NAME>_values.yaml
mkchain parameters
You can explicitly specify some values by:
- passing CLI parameters to
mkchain
- directly modifying the values yaml file generated by
mkchain
- passing arguments to helm install or helm upgrade commands using the
--set
flag, which will selectively override the current yaml values
YAML Key | mkchain argument | Description | Default |
---|---|---|---|
-h | mkchain help message | ||
-v | mkchain version | ||
--number-of-bakers | Number of baking nodes in the cluster | 1 | |
--number-of-nodes | Number of non-baking nodes in the cluster | 0 | |
bootstrap_peers | --bootstrap-peers | Peer ips to connect to | [] |
expected_proof_of_work | --expected-proof-of-work | Node identity generation difficulty | 0 |
images.octez | --octez-docker-image | Version of the Octez docker image to run | tezos/tezos:v17.3 |
--use-docker (--no...) | Use (or don't use) docker to generate keys rather than pytezos | autodetect |
Create Tezos Chain
Make sure you have the Tezos Helm chart repo:
helm repo add oxheadalpha https://oxheadalpha.github.io/tezos-helm-charts
Then install the Tezos Helm chart:
helm install $CHAIN_NAME oxheadalpha/tezos-chain \
--values ./${CHAIN_NAME}_values.yaml \
--namespace oxheadalpha --create-namespace
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file mkchain-6.25.0-py3-none-any.whl
.
File metadata
- Download URL: mkchain-6.25.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 358509db12d7709aee42f9b6aacd6550a0d1f69c974253cbfab0d458892377b0 |
|
MD5 | 1f63f50e3c0433e8e0555c66f8e5c64a |
|
BLAKE2b-256 | 45256de30f3c47a9bfde728e76a47df58177436f7f20932a135bea2e84a0b8f0 |