qubership-external-cred-provision
Command-line tool for EnvGene that provisions external credentials into secret stores from a declarative YAML context file.
EnvGene generates the context during Effective Set calculation. This CLI reads that file, connects to the configured stores, and creates or verifies secrets according to each entry's strategy. It supports dry-run mode for CI validation without writes.
Features
- Provisions credentials into HashiCorp Vault, OpenBao, Azure Key Vault, Google Cloud Secret Manager, and AWS Secrets Manager
- Idempotent strategies: verify presence, create when absent, or overwrite
- Generates secret values when a field is marked with the reserved
_generateValuemarker - Dry-run mode for pre-flight checks before apply
- Structured logging to console and log files
Requirements
- Python 3.12
- Network access to the target secret stores
- Store authentication via process environment variables (see configuration)
- Runtime dependency on
qubership-pipelines-common-libraryfor secret-store integration
Installation
pip install qubership-external-cred-provision
The installed command is external-cred-provision (shorter than the PyPI package name).
Quick start
Apply provisioning from a context file:
external-cred-provision path/to/external-credentials.yaml
Validate without writing to any store:
external-cred-provision --dry-run path/to/external-credentials.yaml
Set console log verbosity (full diagnostic log is always written to full.log):
external-cred-provision --log-level INFO path/to/external-credentials.yaml
Command-line options
| Flag | Default | Meaning |
|---|---|---|
--dry-run |
off | Run checks only; no writes to secret stores |
--log-level |
DEBUG | Console and module.log verbosity |
Positional argument <context-path> is required. It must point to a YAML file that defines a
top-level credentials map.
Supported secret stores
Store type is inferred from each credential's VALS reference scheme:
| VALS scheme prefix | Store |
|---|---|
ref+vault:// |
HashiCorp Vault |
ref+openbao:// |
OpenBao |
ref+azurekeyvault:// |
Azure Key Vault |
ref+gcpsecrets:// |
Google Cloud Secret Manager |
ref+awssecrets:// |
AWS Secrets Manager |
Provisioning strategies
| Strategy | Secret exists | Secret absent |
|---|---|---|
fail_if_absent |
skip | fail |
create_if_absent |
skip | create |
overwrite |
overwrite | create |
Entries with fail_if_absent omit data because the CLI performs no write. Write strategies
require a data field (map or scalar, depending on the store).
Minimal context example
credentials:
app-cred:
vals: "ref+vault://kv/path/to/app-cred"
strategy: create_if_absent
data:
username: app_user
password: _generateValue
monitoring-token:
vals: "ref+vault://kv/path/to/monitoring-token"
strategy: fail_if_absent
Configuration
Authentication and store settings are read from environment variables. Variable names depend on
store type and optional secret_store_id query parameters in each VALS reference.
See the External Credentials provisioning CLI reference for the full variable list, input schema, value-generation rules, and runtime behaviour.
Broader EnvGene external-credentials design (context generation, Effective Set integration):
External Credentials Management
License
Apache License 2.0. See the LICENSE file in the EnvGene repository.
Metadata
Release files for qubership-external-cred-provision 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qubership_external_cred_provision-1.0.3.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qubership_external_cred_provision-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.4 kB
Release files / qubership_external_cred_provision-1.0.3.tar.gz
| Download URL | qubership_external_cred_provision-1.0.3.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3deb93e7e714301554834b394949645d8349b59b54620532302c2c4a896e0dbd
|
|
BLAKE2b-256 checksum How to use checksums |
f86c0032c36119335bd3ba5ba00a31864960762310725fde71fc2471936a67b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.12.15 Linux/6.17.0-1022-azure
|
Release files / qubership_external_cred_provision-1.0.3-py3-none-any.whl
| Download URL | qubership_external_cred_provision-1.0.3-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5c0b306d02caa9d227abf2e3def42bb5969a3b327a170162acdc70bb5cf1b1d3
|
|
BLAKE2b-256 checksum How to use checksums |
ed2d77ae0b750e11b193ab85b063c45afb99093cf417fa3e0eca8ef7fb0238cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.12.15 Linux/6.17.0-1022-azure
|