Vkube Command Tool For User
Install && Use
pip install vkube
vkube config -w GHCRToken/DockerhubToken=xxx
vkube deploy -f xxx/VKubefile.yaml
Run CLI Locally
Install virtualenv to run the CLI tool locally:
pip3 install virtualenv
Create virtual environment:
cd vkube-cli && virtualenv venv
Activate virtual environment:
source venv/bin/activate
Install CLI:
pip install -e .
vkube deploy -f xxx.yaml
vkube config -w GHCRToken=xxx
Deactivate virtual environment:
deactivate
Install CLI Globally from Source Code
Navigate to the repository root:
cd /path_to_project #directory containing setup.py
pip3 install -e . # may need to manually create ~/.vkube/config.yaml
or
pip3 install . # auto generates ~/.vkube/config.yaml
Install CLI with isolated dependencies:
pip3 install --user pipx
export PATH="$HOME/.local/bin:$PATH"
pipx install ~/path_to_project
pipx install --editable ~/path_to_project
Using vkube-cli
After installing locally, from the root path ("xxx/vkube-cli"):
- Add DockerhubToken or GHCRToken:
vkube config -w DockerhubToken=dckr_pat_xxxx
vkube config -w GHCRToken=ghcr_xxx
2.Configure VKubefile.yaml
3.Deploy using:
vkube deploy -f ./VKubefile.yaml #can deploy from any directory by specifying VKubefile.yaml path
Export Dependencies
pip freeze > requirements.txt
Notes
When configuring VKubefile.yaml, the build image context is "." (current directory where command is executed):
vkube deploy -f .VKubefile.yaml
For example, if running from vkube_cli directory, the build context is vkube_cli. Using COPY app.py /app in Dockerfile will fail if app.py doesn't exist in vkube_cli.
Known Issues
1. Docker Not Running
If Docker isn't running, you'll see:
Error: Unable to connect to Docker. Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
2. Image Push Failures
Network issues may prevent image pushing:
Pushing image encountering error: [{'status': 'The push refers to repository [docker.io/yourusername/myapp]'}, {'errorDetail': {'message': 'Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout'}, 'error': 'Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout'}]
Release CLI to PyPI
Build Package
Ensure setuptools, wheel and twine are installed:
pip install setuptools wheel twine
Build package from project root:
python setup.py sdist bdist_wheel
This creates a dist/ directory containing .tar.gz and .whl files for PyPI upload.
Generate Version Number from Git Tags
Install:
pip install setuptools_scm
Use specific tag to release:
git fetch --tags
git checkout v1.0.0 # switch to v1.0.0 tag
Upload to PyPI
twine upload dist/* -u __token__ -p <your-pypi-api-token>
Release files for vkube 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vkube-2.0.1.tar.gz | 36.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vkube-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:75.1 kB
Release files / vkube-2.0.1.tar.gz
| Download URL | vkube-2.0.1.tar.gz |
|---|---|
| Size | 36.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
33a1aa65c4369f4457469ae4703796cc9ba7395cae8bf9a287bf993c38e7807f
|
|
BLAKE2b-256 checksum How to use checksums |
0710c9bf629ddaa34e2d52bab8baee876325f5f5d425829706c3699e7f21a5cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / vkube-2.0.1-py3-none-any.whl
| Download URL | vkube-2.0.1-py3-none-any.whl |
|---|---|
| Size | 38.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6df955b625a31ab89313c5d71c8a04590f5ba089c6ad82c8b143b5aef51383fa
|
|
BLAKE2b-256 checksum How to use checksums |
537da408ba8a24a0a10dada55925c13f334bbd7e547ae6d89743ffecd4fed7a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|