summaryrefslogtreecommitdiff
path: root/python-akc-mamba.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-akc-mamba.spec')
-rw-r--r--python-akc-mamba.spec465
1 files changed, 465 insertions, 0 deletions
diff --git a/python-akc-mamba.spec b/python-akc-mamba.spec
new file mode 100644
index 0000000..11ae27f
--- /dev/null
+++ b/python-akc-mamba.spec
@@ -0,0 +1,465 @@
+%global _empty_manifest_terminate_build 0
+Name: python-akc-mamba
+Version: 2.1.1
+Release: 1
+Summary: A production ready, complete experience in deploying a Hyperledger Fabric
+License: MIT License
+URL: https://github.com/Akachain/akc-mamba
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ff/10/00bdfba8aedf7a53aa7c7d91f0a358cbed5df4b701b5df772c0b02ea4c5c/akc-mamba-2.1.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-Click
+Requires: python3-kubernetes
+Requires: python3-six
+Requires: python3-dotenv
+Requires: python3-gitdb2
+Requires: python3-GitPython
+
+%description
+# AKC-MAMBA manuals
+
+## I. Installation Instructions
+
+### 1. Prerequisites
+Before you begin, you should confirm that you have installed all the prerequisites below on the platform where you will be running AKC-Mamba.
+#### a. Install pip3
+If you have not installed `pip3`, use the following command to install:
+
+```bash
+curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
+python3 get-pip.py --user
+```
+For checking version :
+```bash
+pip3 --version
+```
+
+### 2. Install AKC-Mamba
+#### a. Install AKC-Mamba from pip package
+
+You can use the following command:
+```python
+pip3 install akc-mamba
+```
+After install successfuly, you can get help by command:
+
+```bash
+mamba --help
+```
+
+#### b. Install and run from source code
+
+Install required Python3 modules with
+
+```bash
+pip3 install -r requirements.txt
+```
+
+Use akc-mamba using python3 command:
+```bash
+python3 mamba.py --help
+```
+
+### 3. Deploy and bootstrap network with CLI
+#### a. Prepare environment
+We now can use the Mamba tool to prepare required helm and k8s components
+
+```bash
+mamba environment
+```
+
+After running this command, the program will ask you to fill in some of the most necessary information of creating a blockchain network:
+- `Cluster name`: The name of the cluster network you created in step [Setup an AWS EKS cluster](../README.md). Default: `cluster-mamba-example`
+- `Kubenetes type`: Currently `akc-mamba` is supporting kubenetes of two types: `eks` and `minikube`. The default is `eks`
+- `EFS infomation`: After you have entered the `Kubenetes type`,` mamba` will automatically search your k8s network for information about `efs`. If you have `EFS` installed before, the system will automatically update the config file located at `~/.akachain/akc-mamba/mamba/config/.env`. If not, you need to fill in the information `EFS SERVER` based on the installation step [Setup a Network File System](../README.md). If the k8s type is `minikube` then you do not need to enter this information.
+- Important Note: You can check and update configuration parameters in `~/.akachain/akc-mamba/mamba/config/.env`, the file content is pretty much self-explained.
+#### b. Deploy and bootstrap network
+
+ ```python
+ mamba start
+ ```
+
+ The `mamba start` command executes a series of sub commands that installs various network components. For more information on each command for individual components, please refer to help section
+
+ ```python
+ mamba --help
+ ```
+
+ To terminate the network, just run
+
+ ```python
+ mamba terminate
+ ```
+
+## II. Development Guide
+
+### 1. Project structure
+
+Mamba makes use of [Click_](http://click.palletsprojects.com/en/7.x/), an elegant python package for creating command line interfaces. The project structure is depicted in the tree below.
+
+```bash
+.
+├── command_group_1
+│ ├── commands.py
+│ ├── __init__.py
+│
+├── utils
+│ ├── __init__.py
+│ ├── kube.py
+├── settings
+│ ├── settings.py
+├── mamba.py
+
+```
+
+There are 4 main components:
+
+- mamba.py : The bootstrap instance module of Mamba
+- settings : Contains global variables that are shared accross all sub modules
+- command_group : Each command group is separated into its own directory.
+- utils : helper functions that must be initialized via settings.py
+
+### 2. Coding Convention
+
+Please follow [PEP8](https://www.python.org/dev/peps/pep-0008/) - Style guide for Python Code.
+
+Another example can be found [here](https://gist.github.com/RichardBronosky/454964087739a449da04)
+
+There are several notes that are different with other languages
+
+```text
+Function names should be lowercase, with words separated by underscores as necessary to improve readability.
+
+Camel case is for class name
+```
+
+### 3. Logging instruction
+
+A snake must know how hiss ... or sometimes rattle.
+
+Normally we can just use echo to print out message during execution
+However:
+
+- It is mandatory to `hiss` when there is error.
+- also, `rattle` is needed when a snake meet something ... at the beginning or at the end of an execution.
+
+For more information about logging, please follow the standard convention in `mamba/utils/hiss.py`
+
+
+
+%package -n python3-akc-mamba
+Summary: A production ready, complete experience in deploying a Hyperledger Fabric
+Provides: python-akc-mamba
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-akc-mamba
+# AKC-MAMBA manuals
+
+## I. Installation Instructions
+
+### 1. Prerequisites
+Before you begin, you should confirm that you have installed all the prerequisites below on the platform where you will be running AKC-Mamba.
+#### a. Install pip3
+If you have not installed `pip3`, use the following command to install:
+
+```bash
+curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
+python3 get-pip.py --user
+```
+For checking version :
+```bash
+pip3 --version
+```
+
+### 2. Install AKC-Mamba
+#### a. Install AKC-Mamba from pip package
+
+You can use the following command:
+```python
+pip3 install akc-mamba
+```
+After install successfuly, you can get help by command:
+
+```bash
+mamba --help
+```
+
+#### b. Install and run from source code
+
+Install required Python3 modules with
+
+```bash
+pip3 install -r requirements.txt
+```
+
+Use akc-mamba using python3 command:
+```bash
+python3 mamba.py --help
+```
+
+### 3. Deploy and bootstrap network with CLI
+#### a. Prepare environment
+We now can use the Mamba tool to prepare required helm and k8s components
+
+```bash
+mamba environment
+```
+
+After running this command, the program will ask you to fill in some of the most necessary information of creating a blockchain network:
+- `Cluster name`: The name of the cluster network you created in step [Setup an AWS EKS cluster](../README.md). Default: `cluster-mamba-example`
+- `Kubenetes type`: Currently `akc-mamba` is supporting kubenetes of two types: `eks` and `minikube`. The default is `eks`
+- `EFS infomation`: After you have entered the `Kubenetes type`,` mamba` will automatically search your k8s network for information about `efs`. If you have `EFS` installed before, the system will automatically update the config file located at `~/.akachain/akc-mamba/mamba/config/.env`. If not, you need to fill in the information `EFS SERVER` based on the installation step [Setup a Network File System](../README.md). If the k8s type is `minikube` then you do not need to enter this information.
+- Important Note: You can check and update configuration parameters in `~/.akachain/akc-mamba/mamba/config/.env`, the file content is pretty much self-explained.
+#### b. Deploy and bootstrap network
+
+ ```python
+ mamba start
+ ```
+
+ The `mamba start` command executes a series of sub commands that installs various network components. For more information on each command for individual components, please refer to help section
+
+ ```python
+ mamba --help
+ ```
+
+ To terminate the network, just run
+
+ ```python
+ mamba terminate
+ ```
+
+## II. Development Guide
+
+### 1. Project structure
+
+Mamba makes use of [Click_](http://click.palletsprojects.com/en/7.x/), an elegant python package for creating command line interfaces. The project structure is depicted in the tree below.
+
+```bash
+.
+├── command_group_1
+│ ├── commands.py
+│ ├── __init__.py
+│
+├── utils
+│ ├── __init__.py
+│ ├── kube.py
+├── settings
+│ ├── settings.py
+├── mamba.py
+
+```
+
+There are 4 main components:
+
+- mamba.py : The bootstrap instance module of Mamba
+- settings : Contains global variables that are shared accross all sub modules
+- command_group : Each command group is separated into its own directory.
+- utils : helper functions that must be initialized via settings.py
+
+### 2. Coding Convention
+
+Please follow [PEP8](https://www.python.org/dev/peps/pep-0008/) - Style guide for Python Code.
+
+Another example can be found [here](https://gist.github.com/RichardBronosky/454964087739a449da04)
+
+There are several notes that are different with other languages
+
+```text
+Function names should be lowercase, with words separated by underscores as necessary to improve readability.
+
+Camel case is for class name
+```
+
+### 3. Logging instruction
+
+A snake must know how hiss ... or sometimes rattle.
+
+Normally we can just use echo to print out message during execution
+However:
+
+- It is mandatory to `hiss` when there is error.
+- also, `rattle` is needed when a snake meet something ... at the beginning or at the end of an execution.
+
+For more information about logging, please follow the standard convention in `mamba/utils/hiss.py`
+
+
+
+%package help
+Summary: Development documents and examples for akc-mamba
+Provides: python3-akc-mamba-doc
+%description help
+# AKC-MAMBA manuals
+
+## I. Installation Instructions
+
+### 1. Prerequisites
+Before you begin, you should confirm that you have installed all the prerequisites below on the platform where you will be running AKC-Mamba.
+#### a. Install pip3
+If you have not installed `pip3`, use the following command to install:
+
+```bash
+curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
+python3 get-pip.py --user
+```
+For checking version :
+```bash
+pip3 --version
+```
+
+### 2. Install AKC-Mamba
+#### a. Install AKC-Mamba from pip package
+
+You can use the following command:
+```python
+pip3 install akc-mamba
+```
+After install successfuly, you can get help by command:
+
+```bash
+mamba --help
+```
+
+#### b. Install and run from source code
+
+Install required Python3 modules with
+
+```bash
+pip3 install -r requirements.txt
+```
+
+Use akc-mamba using python3 command:
+```bash
+python3 mamba.py --help
+```
+
+### 3. Deploy and bootstrap network with CLI
+#### a. Prepare environment
+We now can use the Mamba tool to prepare required helm and k8s components
+
+```bash
+mamba environment
+```
+
+After running this command, the program will ask you to fill in some of the most necessary information of creating a blockchain network:
+- `Cluster name`: The name of the cluster network you created in step [Setup an AWS EKS cluster](../README.md). Default: `cluster-mamba-example`
+- `Kubenetes type`: Currently `akc-mamba` is supporting kubenetes of two types: `eks` and `minikube`. The default is `eks`
+- `EFS infomation`: After you have entered the `Kubenetes type`,` mamba` will automatically search your k8s network for information about `efs`. If you have `EFS` installed before, the system will automatically update the config file located at `~/.akachain/akc-mamba/mamba/config/.env`. If not, you need to fill in the information `EFS SERVER` based on the installation step [Setup a Network File System](../README.md). If the k8s type is `minikube` then you do not need to enter this information.
+- Important Note: You can check and update configuration parameters in `~/.akachain/akc-mamba/mamba/config/.env`, the file content is pretty much self-explained.
+#### b. Deploy and bootstrap network
+
+ ```python
+ mamba start
+ ```
+
+ The `mamba start` command executes a series of sub commands that installs various network components. For more information on each command for individual components, please refer to help section
+
+ ```python
+ mamba --help
+ ```
+
+ To terminate the network, just run
+
+ ```python
+ mamba terminate
+ ```
+
+## II. Development Guide
+
+### 1. Project structure
+
+Mamba makes use of [Click_](http://click.palletsprojects.com/en/7.x/), an elegant python package for creating command line interfaces. The project structure is depicted in the tree below.
+
+```bash
+.
+├── command_group_1
+│ ├── commands.py
+│ ├── __init__.py
+│
+├── utils
+│ ├── __init__.py
+│ ├── kube.py
+├── settings
+│ ├── settings.py
+├── mamba.py
+
+```
+
+There are 4 main components:
+
+- mamba.py : The bootstrap instance module of Mamba
+- settings : Contains global variables that are shared accross all sub modules
+- command_group : Each command group is separated into its own directory.
+- utils : helper functions that must be initialized via settings.py
+
+### 2. Coding Convention
+
+Please follow [PEP8](https://www.python.org/dev/peps/pep-0008/) - Style guide for Python Code.
+
+Another example can be found [here](https://gist.github.com/RichardBronosky/454964087739a449da04)
+
+There are several notes that are different with other languages
+
+```text
+Function names should be lowercase, with words separated by underscores as necessary to improve readability.
+
+Camel case is for class name
+```
+
+### 3. Logging instruction
+
+A snake must know how hiss ... or sometimes rattle.
+
+Normally we can just use echo to print out message during execution
+However:
+
+- It is mandatory to `hiss` when there is error.
+- also, `rattle` is needed when a snake meet something ... at the beginning or at the end of an execution.
+
+For more information about logging, please follow the standard convention in `mamba/utils/hiss.py`
+
+
+
+%prep
+%autosetup -n akc-mamba-2.1.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-akc-mamba -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.1-1
+- Package Spec generated