Skip to main content

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 _generateValue marker
  • 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-library for 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)

Source distribution for qubership-external-cred-provision 1.0.3
File Size Uploaded
qubership_external_cred_provision-1.0.3.tar.gz 7.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qubership-external-cred-provision 1.0.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

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