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:
proxnixproxnix-secretsproxnix-publishproxnix-doctorproxnix-tuiproxnix-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 virtualenvdist/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:
proxnixproxnix-tui
The split commands remain available too:
proxnix-publishproxnix-secretsproxnix-doctorproxnix-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:
sopssshrsync
The commands read the same workstation config as the existing shell-based workflow:
~/.config/proxnix/config
Expected settings include:
PROXNIX_SITE_DIRPROXNIX_MASTER_IDENTITYPROXNIX_HOSTSPROXNIX_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, andrsyncas external system tools. - Secret-store mutation and SSH key handling are implemented in Python, with
sopsretained at the encryption boundary for wire-format compatibility. - Release tags are expected to match
[project].versioninpyproject.toml. ProxnixManageris intended to ship separately from a Homebrew tap; see../docs/operations/proxnix-manager.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26765b8f50ea131cdfadaae6d790032f4cec0834401bf312b12e21f251990dec
|
|
| MD5 |
f8dce88ae11d4269f36856988d9b3553
|
|
| BLAKE2b-256 |
09599a25816d88b1787ea2b1d5b276470eecb7a7d6759be07c3b1eb0dc50198d
|
Provenance
The following attestation bundles were made for proxnix_workstation-0.1.0.tar.gz:
Publisher:
pypi-publish.yml on denMaier/proxnix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proxnix_workstation-0.1.0.tar.gz -
Subject digest:
26765b8f50ea131cdfadaae6d790032f4cec0834401bf312b12e21f251990dec - Sigstore transparency entry: 1340386395
- Sigstore integration time:
-
Permalink:
denMaier/proxnix@be9f309b149d42521c32273649114a0fb828b3b5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/denMaier
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@be9f309b149d42521c32273649114a0fb828b3b5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file proxnix_workstation-0.1.0-py3-none-any.whl.
File metadata
- Download URL: proxnix_workstation-0.1.0-py3-none-any.whl
- Upload date:
- Size: 60.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8508bb68c5ab8e9c33be205fb0c078b6c440afb1afd78802778207c7f06ad1de
|
|
| MD5 |
bad87ef90812c320d5e2207a6df72e38
|
|
| BLAKE2b-256 |
9182319d0a145f159c335c4026387cfc6a659b627a9b479da2e480f9d9fd230b
|
Provenance
The following attestation bundles were made for proxnix_workstation-0.1.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on denMaier/proxnix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proxnix_workstation-0.1.0-py3-none-any.whl -
Subject digest:
8508bb68c5ab8e9c33be205fb0c078b6c440afb1afd78802778207c7f06ad1de - Sigstore transparency entry: 1340386445
- Sigstore integration time:
-
Permalink:
denMaier/proxnix@be9f309b149d42521c32273649114a0fb828b3b5 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/denMaier
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@be9f309b149d42521c32273649114a0fb828b3b5 -
Trigger Event:
push
-
Statement type: