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.2

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.2
File Size Uploaded
qubership_external_cred_provision-1.0.2.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qubership-external-cred-provision 1.0.2
File Interpreter ABI Platform
qubership_external_cred_provision-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 14.4 kB

Release files / qubership_external_cred_provision-1.0.2.tar.gz

Download URL qubership_external_cred_provision-1.0.2.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c46bcc1b6154ac0496ff2830c3bb7c7e95544fabc012b1afe2ae2271aff0460d
BLAKE2b-256 checksum
How to use checksums
f8ed0c349e34fa5d56ab00280a869c73ac88700175b27e5678ee2e71ce4af503
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.12.13 Linux/6.17.0-1018-azure

Release files / qubership_external_cred_provision-1.0.2-py3-none-any.whl

Download URL qubership_external_cred_provision-1.0.2-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc8fcd08b8fb83645eff483f3c6379e1db3f46d5486a0ed32fac92a680ad9b2a
BLAKE2b-256 checksum
How to use checksums
81ffc61bcc9aad2f4ed07b810b1a443ae0c5c57ee5dd76bae058003caddbd620
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.12.13 Linux/6.17.0-1018-azure

Release history Release notifications | RSS feed

1.0.3

2 release files

This release

1.0.2 This release

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