Skip to main content

ophix-confs

One place to define a config snippet once — YAML, JSON, XML, INI, TOML, .env, or raw — instead of copy-pasting it across every host that needs it.

If your server configs have drifted apart because each host's copy got hand-edited independently, with no single source of truth for what's actually deployed where, ophix-confs gives you one place to define each snippet and let clients pull their own copy on demand over HTTPS. Content is validated against its declared format before it's ever stored, so a broken YAML file or malformed INI can't make it into the fleet in the first place.

Access is granted per client, per configuration, and any grant can be revoked instantly without touching the configuration itself.


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 ophixconfserver-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:

./ophixconfserver-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

  • ConfigFormat model — supported formats with validator and CodeMirror mode metadata
  • Configuration model — named config snippet with format, content, and enabled flag
  • ClientConfiguration join model — per-client permissions (enabled, can_update, can_delete, can_share)
  • Format validation on ingestion — syntax is checked before storing
  • GET/POST/PUT/DELETE /api/configs/<name>/ API endpoints
  • Raw content returned with the correct Content-Type header
  • CodeMirror syntax highlighting in the Django admin, switching mode automatically to match each Configuration's format
  • Django admin with inline ClientConfiguration 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
ENABLE_ARTIFACT_DELETE False Allow clients to delete configurations they own
SHOW_CONFIG_FORMATS_MODEL False Show the Configuration Formats model in admin

Client

Fleet clients use ophix-conf-client to authenticate and fetch configuration snippets.


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_confs,ophix_docs

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

Metadata

Release files for ophix-confs 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-confs 2026.10.11.1
File Size Uploaded
ophix_confs-2026.10.11.1.tar.gz 37.4 kB Details

Built distribution (wheel)

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

Total release size: 83.0 kB

Release files / ophix_confs-2026.10.11.1.tar.gz

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

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

Download URL ophix_confs-2026.10.11.1-py3-none-any.whl
Size 45.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6d39d381b7cdda700b39886da0b6c0527a98e15b9d5ceb3d39f2b1f7b7484db5
BLAKE2b-256 checksum
How to use checksums
bcd6a99ddc4e6c5e78ab03faa9df4e377353839c70f1618939bed5c10fd37274
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