Skip to main content

Command-line interface for KubeVoIP Kubernetes resources.

Project description

KubeVoIP CLI

Command-line tools for working with KubeVoIP Kubernetes resources.

The package is published as kubevoip and exposes the kubevoip command:

uvx kubevoip --help
uvx kubevoip api-resources
uvx kubevoip --namespace telephony init

The CLI discovers KubeVoIP API details from CRDs. By default it uses the installed cluster CRDs for live commands such as init, get, and apply, and uses the latest published KubeVoIP release for offline commands such as manifest and explain. You can override this with --schema-source latest|cluster|file.

Examples

Create a small platform with demo PostgreSQL and two SIP users:

kubevoip --namespace telephony init

Use an existing PostgreSQL database instead:

printf '%s' "$POSTGRES_PASSWORD" | kubevoip --namespace telephony init \
  --database existing \
  --postgres-host "$POSTGRES_HOST" \
  --postgres-db kubevoip \
  --postgres-user kubevoip \
  --postgres-password-stdin

Generate a manifest:

kubevoip manifest sipuser --name alice --namespace telephony

Create individual platform resources. Friendly create commands apply by default after a Kubernetes server-side dry-run:

kubevoip --namespace telephony network-profile create public
kubevoip --namespace telephony media-relay create main --network-profile public
kubevoip --namespace telephony gateway create main \
  --database-secret postgres-app \
  --network-profile public \
  --media-relay main
kubevoip user create alice \
  --extension 100 \
  --gateway main \
  --dial-policy internal-external \
  --auth-username alice \
  --caller-id "Alice <100>" \
  --password-secret alice-sip \
  --namespace telephony

Print GitOps-friendly YAML instead:

kubevoip user create alice \
  --extension 100 \
  --gateway main \
  --dial-policy internal-external \
  --auth-username alice \
  --password-secret alice-sip \
  --namespace telephony \
  --dry-run -o yaml

Update a user's extension without re-entering the rest of the SIPUser spec. The CLI reads the live resource, merges the changed fields, then applies the result:

kubevoip user update alice \
  --extension 101 \
  --caller-id "Alice <101>" \
  --namespace telephony

Create a SIP user Secret without putting the value in shell history:

printf '%s' "$SIP_PASSWORD" | kubevoip secret sip-user alice-sip \
  --namespace telephony \
  --from-stdin

Development

uv sync --extra dev
uv run ruff check .
uv run pytest
uv run kubevoip --help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kubevoip-0.1.4.tar.gz (90.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kubevoip-0.1.4-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file kubevoip-0.1.4.tar.gz.

File metadata

  • Download URL: kubevoip-0.1.4.tar.gz
  • Upload date:
  • Size: 90.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kubevoip-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e5904e1d860bb3709a8c84081577fb4f7dd56b413f29831cd75663538b5c9efd
MD5 79e57bd5c2bfc8ff6290bd08d394b975
BLAKE2b-256 0aef6b3737d1d5fb69e641b9415f5342c88fb7b79dfb102998f74680fd369227

See more details on using hashes here.

File details

Details for the file kubevoip-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: kubevoip-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kubevoip-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ee9889c727ad3ce1c5c7be562ff4a24219882ebb27d0b027f71684f51132e59c
MD5 87372e3601e51b15949fa82d83050f95
BLAKE2b-256 8bbce99f9a9d5b6025b4378d56932a6cad32ec3b9588aabaeccb0594efb46f7a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page