ophix-conf-client
Python client for ophix-confs configuration servers.
Provides a CLI for operators and an importable library for automation scripts and Tier 2 clients. Fetches named configuration snippets (YAML, JSON, XML, INI, TOML, .env, raw) verbatim from the server.
Installation
pip install ophix-conf-client venv-cmds
venv-cmds is optional but recommended — it provides venv-cmds list to discover all
commands available in the venv and venv-cmds check_updates to check for new releases.
Quick start
# Bootstrap in one step
conf-client quickstart https://confserver.internal my-client
# Fetch a configuration (raw content printed to stdout)
conf-client fetch nginx_upstream
# Fetch with format info header
conf-client fetch nginx_upstream --format-info
# Import a configuration file
conf-client import --input-file nginx.conf --name nginx_upstream --format raw
# Import with format inferred from extension
conf-client import --input-file app_config.yaml --name app_config
# Check all configurations mapped in .conf.env
conf-client check --all
# Diagnose config and connectivity
conf-client doctor
Configuration
Settings are stored in .conf.env (mode 600).
| Variable | Purpose |
|---|---|
CONFSERVER_URL |
Base URL of the configuration server |
CONFSERVER_API_TOKEN |
64-char hex API token (set by register) |
CONFSERVER_CA_CERT |
Path to CA certificate (set by download ca-cert) |
Additional keys in .conf.env are treated as configuration name mappings used by
check --all — each key maps an environment variable name to a configuration name
on the server.
CLI reference
conf-client quickstart <server_url> <client_name> [--deployment-ref ...]
conf-client fetch {--name <n>|--var <VAR>} [--output-file <path>] [--format-info]
conf-client register <name> [deployment_ref]
conf-client update [--deployment-ref ...]
conf-client set {server|ca-cert|token} <value>
conf-client download ca-cert
conf-client import --input-file <file> [--name <n>] [--var <VAR>] [--format <fmt>] [--overwrite]
conf-client check {--all|--var <VAR>|--name <name>} [--verbose]
conf-client info
conf-client rotate-token
conf-client doctor
fetch
| Usage | What happens |
|---|---|
--name <n> |
Fetches the configuration named <n> directly |
--var <VAR> |
Reads the configuration name from <VAR> in .conf.env, then fetches it |
--output-file <path> writes the content directly to a file instead of stdout. Parent directories are created automatically. Use - as the path for explicit stdout. When writing to a file, --format-info prints format and timestamp to stdout separately rather than embedding them in the file.
import
| Usage | What happens |
|---|---|
--name <n> only |
Imports configuration named <n>. No .conf.env changes. |
--var <VAR> only |
Reads the configuration name from <VAR> in .conf.env. Fails if not set. |
--name <n> --var <VAR> |
Imports <n> and writes <VAR>=<n> to .conf.env. Fails if <VAR> is already mapped to a different name. |
Add --overwrite to update an existing configuration.
Python API — Tier 2 clients
from conf_client.core import get_config
# Reads config name from the named env var, fetches from server,
# returns raw content string. Calls sys.exit(1) on failure.
nginx_conf = get_config("NGINX_CONFIG_NAME")
# Write directly to file
with open("/etc/nginx/conf.d/upstream.conf", "w") as f:
f.write(nginx_conf)
Full CRUD:
from conf_client.core import (
fetch_config, # returns (content, format_name, updated_at)
create_config,
update_config,
delete_config,
)
fetch_config returns a (content, format_name, updated_at) tuple rather than a dict,
since the content is raw text. The format name and timestamp come from response headers.
get_config returns the raw content string directly.
Server
This client connects to ophix-confs.
Metadata
Release files for ophix-conf-client 2026.10.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ophix_conf_client-2026.10.6.1.tar.gz | 10.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ophix_conf_client-2026.10.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.8 kB
Release files / ophix_conf_client-2026.10.6.1.tar.gz
| Download URL | ophix_conf_client-2026.10.6.1.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b2bfa29ff6d8b0f607993de99330392d560ba6f60a90d264ad8d3901f65530e
|
|
BLAKE2b-256 checksum How to use checksums |
e7b8387786f2a231b1093f7de52b21007c8454784338391383887e745ba0c5cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / ophix_conf_client-2026.10.6.1-py3-none-any.whl
| Download URL | ophix_conf_client-2026.10.6.1-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5248804042d46766a7302ed0e37b9d8fbae852426a5206c439576140b794610
|
|
BLAKE2b-256 checksum How to use checksums |
9b11d1ac0f8243965bce8c064e60b506ea11b599643d310f5c029f5181c41323
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|