Metadata-Version: 2.1
Name: kayalab
Version: 0.7.30
Summary: UI to create virtual machines and install HPE Ezmeral products.
License: MIT
Author: Erdinc Kaya
Author-email: erdincka@msn.com
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: aiofiles (==23.2.1)
Requires-Dist: aiohttp (==3.9.3)
Requires-Dist: aiosignal (==1.3.1)
Requires-Dist: annotated-types (==0.6.0)
Requires-Dist: anyio (==4.3.0)
Requires-Dist: async-timeout (==4.0.3)
Requires-Dist: attrs (==23.2.0)
Requires-Dist: bcrypt (==4.1.2)
Requires-Dist: bidict (==0.23.1)
Requires-Dist: bottle (==0.12.25)
Requires-Dist: certifi (==2024.2.2)
Requires-Dist: cffi (==1.16.0)
Requires-Dist: cfgv (==3.4.0)
Requires-Dist: charset-normalizer (==3.3.2)
Requires-Dist: click (==8.1.7)
Requires-Dist: cryptography (==42.0.5)
Requires-Dist: distlib (==0.3.8)
Requires-Dist: docutils (==0.19)
Requires-Dist: exceptiongroup (==1.2.0)
Requires-Dist: fastapi (==0.109.2)
Requires-Dist: filelock (==3.13.3)
Requires-Dist: frozenlist (==1.4.1)
Requires-Dist: h11 (==0.14.0)
Requires-Dist: httpcore (==1.0.5)
Requires-Dist: httptools (==0.6.1)
Requires-Dist: httpx (==0.27.0)
Requires-Dist: identify (==2.5.35)
Requires-Dist: idna (==3.6)
Requires-Dist: ifaddr (==0.2.0)
Requires-Dist: importlib-resources (==6.4.0)
Requires-Dist: itsdangerous (==2.1.2)
Requires-Dist: jinja2 (==3.1.3)
Requires-Dist: libvirt-python (==10.2.0)
Requires-Dist: markupsafe (==2.1.5)
Requires-Dist: multidict (==6.0.5)
Requires-Dist: nicegui (>=1.4.20,<2.0.0)
Requires-Dist: nodeenv (==1.8.0)
Requires-Dist: orjson (==3.10.0)
Requires-Dist: paramiko (==3.4.0)
Requires-Dist: paramiko-expect (==0.3.5)
Requires-Dist: platformdirs (==4.2.0)
Requires-Dist: pre-commit (==3.7.0)
Requires-Dist: proxmoxer (==2.0.1)
Requires-Dist: proxy-tools (==0.1.0)
Requires-Dist: pscript (==0.7.7)
Requires-Dist: pycdlib (==1.14.0)
Requires-Dist: pycparser (==2.22)
Requires-Dist: pydantic (==2.6.4)
Requires-Dist: pydantic-core (==2.16.3)
Requires-Dist: pygments (==2.17.2)
Requires-Dist: pynacl (==1.5.0)
Requires-Dist: pyobjc-core (==10.2)
Requires-Dist: pyobjc-framework-cocoa (==10.2)
Requires-Dist: pyobjc-framework-security (==10.2)
Requires-Dist: pyobjc-framework-webkit (==10.2)
Requires-Dist: python-dotenv (==1.0.1)
Requires-Dist: python-engineio (==4.9.0)
Requires-Dist: python-multipart (==0.0.9)
Requires-Dist: python-socketio (==5.11.2)
Requires-Dist: pywebview (==5.0.5)
Requires-Dist: pyyaml (==6.0.1)
Requires-Dist: requests (==2.31.0)
Requires-Dist: simple-websocket (==1.0.0)
Requires-Dist: sniffio (==1.3.1)
Requires-Dist: starlette (==0.36.3)
Requires-Dist: typing-extensions (==4.11.0)
Requires-Dist: urllib3 (==2.2.1)
Requires-Dist: uvicorn (==0.29.0)
Requires-Dist: uvloop (==0.19.0)
Requires-Dist: vbuild (==0.8.2)
Requires-Dist: virtualenv (==20.25.1)
Requires-Dist: watchfiles (==0.21.0)
Requires-Dist: websockets (==12.0)
Requires-Dist: wsproto (==1.2.0)
Requires-Dist: yarl (==1.9.4)
Requires-Dist: zipp (==3.18.1)
Description-Content-Type: text/markdown

# Ezlab UI

UI to create virtual machines and install HPE Ezmeral products.

## Usage

It supports install operations for Virtual Machines on Proxmox VE and Libvirt/KVM.
VMware used to work but their cloud-init (vm-customisations) is too complex to handle for me, so I left it there.


### Template VMs

Ensure you followed the steps in [README](README.md) file to create templates on your host platform.


### Configure Utility

Use Settings menu to save environment details. Use placeholder text to see correct/expected format.

Leave empty if not used (ie, proxy, local repository...)

### VMs Menu

Login to hypervisor

New VM:

Select correct template, if bridge name doesn't pop up, close the dialog (`ESC`) and re-open.

Select the pre-defined configuration:

    UA Control Plane    | 2 VMs | 4 cores | 32GB Memory
    UA Workers          | 3 VMs | 32 cores | 128GB Memory
    DF Single Node      | 1 VM | 8 cores | 64GB Memory
    DF 5-Node Cluster   | 5 VMs | 8 cores | 32GB Memory
    Generic (Client)    | 1 VM | 1 cores | 2GB Memory

### Ezmeral Menu

Only Data Fabric for now.

#### Install Ezmeral Data Fabric

Version 7.6.1 with EEP 9.2.1 will be installed on as many hosts provided. Installer will be installed on the first node and system will automatically distribute services across other nodes. Single node installation is also possible.

Core components (fileserver, DB, Kafka/Streams, s3server, Drill, HBase, Hive) and monitoring tools (Grafana, OpenTSDB...) will be installed. Subject to change to optimize installation time & complexity.

##### Configure Step

Prepare for Data Fabric installation. Set up proxy, ulimit etc for your environment. Run in `dry mode` (in Settings) to get a bash script for preparations.

Add nodes to prepare multiple nodes.

##### Install Step

Create Data Fabric cluster on the provided nodes.

##### Cross-Cluster Step

Will be working soon!

##### Connect Step

Will download secure files from the server and install/configure the client for the cluster.

## NOTES

If API servers (ProxmoxVE and/or vSphere) are using self-signed certificates, insecure connection warnings will mess up your screen. You can avoid this using environment variable (this is not recommended due to security concerns):

`export PYTHONWARNINGS="ignore:Unverified HTTPS request"`

## TODO

[ ] Proper documentation and code clean up

[ ] Test on standalone ESX host

[X] Test airgap

