Skip to main content

Workstation CLI and TUI tooling for proxnix relay-cache publishing and secrets management

Project description

proxnix-workstation

proxnix-workstation packages the workstation-side proxnix tools as a normal Python distribution that can be published to PyPI and installed with pip.

It requires Python 3.12 or newer.

It installs these user-facing commands:

  • proxnix
  • proxnix-secrets
  • proxnix-publish
  • proxnix-doctor
  • proxnix-tui
  • proxnix-lxc-exercise

proxnix is the preferred entrypoint. The split commands remain available as compatibility aliases.

Layout

workstation/
├── apps/          native UI projects
├── bin/           repo-local command wrappers for development
├── legacy/        shell-era compatibility helpers
├── nix/           Nix package and module definitions
├── packaging/     release artifact builders
├── src/           publishable Python package source
├── pyproject.toml
└── flake.nix

If you are working from the repository rather than an installed package, use the wrappers under workstation/bin/.

Generated local-only paths:

  • .venv/ for a development virtualenv
  • dist/ for built Python artifacts
  • .tmp-workstation-packaging/ for packaging scratch space

Install

pip install proxnix-workstation

That installs both the workstation CLI and the terminal UI:

  • proxnix
  • proxnix-tui

The split commands remain available too:

  • proxnix-publish
  • proxnix-secrets
  • proxnix-doctor
  • proxnix-lxc-exercise

Or with the repo helper:

./ci/install-workstation.sh

If you want repo-local tooling instead of touching the global Python environment:

./ci/bootstrap-workstation-venv.sh

That prepares workstation/.venv plus the wrappers under workstation/bin/.

Python dependencies are bundled through the package, but these external tools must still be available on the machine:

  • sops
  • ssh
  • rsync

The commands read the same workstation config as the existing shell-based workflow:

~/.config/proxnix/config

Expected settings include:

  • PROXNIX_SITE_DIR
  • PROXNIX_MASTER_IDENTITY
  • PROXNIX_HOSTS
  • PROXNIX_SSH_IDENTITY (optional)

Examples

proxnix secrets set 120 db_password
proxnix publish
proxnix doctor --site-only
proxnix tui
proxnix exercise lxc --host root@node1 --base-vmid 940

Build

Build source and wheel distributions from the workstation/ directory:

uv build

Artifacts are written to:

workstation/dist/

Publish

Tagged releases publish the package from Forgejo Actions.

For a local manual publish to PyPI:

python3 -m pip install --user --upgrade twine
python3 -m twine upload dist/*

Notes

  • The package intentionally keeps sops, ssh, and rsync as external system tools.
  • Secret-store mutation and SSH key handling are implemented in Python, with sops retained at the encryption boundary for wire-format compatibility.
  • Release tags are expected to match [project].version in pyproject.toml.
  • ProxnixManager is intended to ship separately from a Homebrew tap; see ../docs/operations/proxnix-manager.md.

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

proxnix_workstation-0.1.0.tar.gz (57.5 kB view details)

Uploaded Source

Built Distribution

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

proxnix_workstation-0.1.0-py3-none-any.whl (60.2 kB view details)

Uploaded Python 3

File details

Details for the file proxnix_workstation-0.1.0.tar.gz.

File metadata

  • Download URL: proxnix_workstation-0.1.0.tar.gz
  • Upload date:
  • Size: 57.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for proxnix_workstation-0.1.0.tar.gz
Algorithm Hash digest
SHA256 26765b8f50ea131cdfadaae6d790032f4cec0834401bf312b12e21f251990dec
MD5 f8dce88ae11d4269f36856988d9b3553
BLAKE2b-256 09599a25816d88b1787ea2b1d5b276470eecb7a7d6759be07c3b1eb0dc50198d

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxnix_workstation-0.1.0.tar.gz:

Publisher: pypi-publish.yml on denMaier/proxnix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file proxnix_workstation-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for proxnix_workstation-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8508bb68c5ab8e9c33be205fb0c078b6c440afb1afd78802778207c7f06ad1de
MD5 bad87ef90812c320d5e2207a6df72e38
BLAKE2b-256 9182319d0a145f159c335c4026387cfc6a659b627a9b479da2e480f9d9fd230b

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxnix_workstation-0.1.0-py3-none-any.whl:

Publisher: pypi-publish.yml on denMaier/proxnix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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