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 --schema-source cluster --namespace telephony init

The CLI discovers KubeVoIP API details from CRDs. By default it fetches the latest published KubeVoIP platform release and caches the CRD schema locally. You can also use a local CRD file or the CRDs installed in a Kubernetes cluster.

Examples

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

kubevoip --schema-source cluster --namespace telephony init

Use an existing PostgreSQL database instead:

printf '%s' "$POSTGRES_PASSWORD" | kubevoip --schema-source cluster --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 --schema-source cluster --namespace telephony network-profile create public
kubevoip --schema-source cluster --namespace telephony media-relay create main --network-profile public
kubevoip --schema-source cluster --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.3.tar.gz (90.0 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.3-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kubevoip-0.1.3.tar.gz
  • Upload date:
  • Size: 90.0 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.3.tar.gz
Algorithm Hash digest
SHA256 9f84f1b54dd7981cb7fe6ead53b9ea1a5a9a31a300a4874b7ee2d42804b63a9c
MD5 bcd1a655db81ee187bf164cfd0fe309b
BLAKE2b-256 85b009048f14a274f843dd332057578e52f88bec9b8d1b8b3e84328c3e433f6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kubevoip-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 16.9 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1daacad7a5f0ac53fe5eff0c46d5b2899b1b3bb03a5d7329b99242439661c734
MD5 e880886b9e36bced208eba04567fe3ce
BLAKE2b-256 50aa9a42f1e24dc609207701f60a0bce5ee0f5e6c7b884bd92f4ec98a98a27b9

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