Skip to main content

ophix-creds

One place to store fleet secrets, instead of one more copy in every server's .env file.

If your deploy scripts and server configs have ended up with database passwords, API keys, and other secrets copied onto every host that happens to need them, ophix-creds gives your fleet one central place to store them instead. Clients fetch a named secret on demand over HTTPS — authenticated with a per-client token and IP check — and hold it in memory only; nothing is written to disk or cached locally on the client side.

Access is granted per client, per credential: a client can be given read, update, delete, or no access at all to any given secret, and any grant can be revoked instantly without touching the credential itself. Secrets are encrypted at rest on the server.


Installation

See installation.md for the full step-by-step guide — service user, TLS setup, the guided installer, and getting the service running under nginx and systemd.


Routine upgrades

The guided installer generates ophixcredserver-update.sh (Step 4 in installation.md) — a single script that checks for and installs package updates, then runs migrate, collectstatic, generate_config --append (picks up any new .env settings automatically), refreshes documentation, and refreshes the Plugin Versions table. Run it as the service user, not root:

./ophixcredserver-update.sh

It finishes by printing a reminder to restart the service — it doesn't restart it for you. If you ever move the venv or change INSTALL_DIR, re-run ophix-manage create_update_script first to regenerate the script with the new paths.


What this plugin provides

  • Credential model — named JSON secret with enabled flag
  • ClientCredential join model — per-client permissions (enabled, can_update, can_delete, can_share)
  • GET/POST/PUT/DELETE /api/credentials/<name>/ API endpoints
  • Django admin with inline ClientCredential management and linked-artifact columns
  • Access audit logging via ophix.core.audit
  • Built-in documentation (loaded by update_docs if ophix-docs is installed)

Configuration (.env)

Variable Default Purpose
CRED_ENCRYPTION_KEY (generated) Fernet key used to encrypt secrets at rest — generated by configure_install
ENABLE_ARTIFACT_DELETE False Allow clients to delete credentials they own

Client

Fleet clients use ophix-cred-client to authenticate and fetch credentials.


Documentation

If ophix-docs is installed, documentation is loaded automatically during run_install. To load or refresh docs manually after an upgrade:

ophix-manage update_docs --include-app-docs ophix.core,ophix_creds,ophix_docs

See ophix-docs for the full list of documentation management commands.

Metadata

Release files for ophix-creds 2026.10.11.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ophix-creds 2026.10.11.1
File Size Uploaded
ophix_creds-2026.10.11.1.tar.gz 34.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ophix-creds 2026.10.11.1
File Interpreter ABI Platform
ophix_creds-2026.10.11.1-py3-none-any.whl Python 3 none any Details

Total release size: 75.4 kB

Release files / ophix_creds-2026.10.11.1.tar.gz

Download URL ophix_creds-2026.10.11.1.tar.gz
Size 34.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0161f2a16fad79297c5bec688e63747c0a2ece5e53dc95d3b533f48a488ad1be
BLAKE2b-256 checksum
How to use checksums
f9acb7a940f2f9ced2a277b279d1d5970e5a7b3f4b054444f4c37490f70301d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / ophix_creds-2026.10.11.1-py3-none-any.whl

Download URL ophix_creds-2026.10.11.1-py3-none-any.whl
Size 41.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0374032522da55da6ac4baa280414fc37f014bc52a5dcaafd783666de7a9fd3d
BLAKE2b-256 checksum
How to use checksums
93511c189dc76117f4dacfb17f0eeeee54505e85f9ae615648a1eba486a52cfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

2026.10.11.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page