Skip to main content

Python module to implement the the Hashicorp Cloud Platform vault secrets API

Project description

hcp-vault-secrets

Python package to implement the Hashicorp Cloud Platform - Vault Secrets API

Description

Python package to implement the Hashicorp Cloud Platform - Vault Secrets API. In order for the code to function properly, we will need to set a few environment variables to provide authentication against the HCP API such that, we can retrieve the secret values containing sensitive information (i.e passwords, api_tokens, etc..) from various vault secret applications located within a given project. Please refer to the Package Requirements section for more information on the (4) required environment variables

You can find the organizationID and projectID in their respective settings tab in HCP. However, in order to get the clientID and clientSecret, you will need to navigate to the Projects -> <Project Name> -> Access Control (IAM) -> Service Principals tab within your organization. Create a service principal with the Contributer Role and generate keys. This will populate a clientID and clientSecret that the code will use to authenticate to the HCP API

Installation

pip install hcp-vault-secrets

Package Requirements

Packages

pip install requests

Environment Variables

  • clientID: This is the clientID that is associated with the service principal in HashiCorp Cloud Platform.

  • clientSecret: This is the clientSecret that is associated with the service principal in HashiCorp Cloud Platform.

  • organizationID: The HashiCorp Cloud Platform organization ID that owns the Vault Secrets application

  • projectID: The HashiCorp Cloud Platform project ID where the Vault Secrets application is located

Hashicorp Cloud Platform (HCP)

HCP Topology

  • Organization -> Project(s) -> Service(s) [e.g Vault Secrets] -> Application -> Key/Value (secret)

How to use

Create Hashicorp Cloud Platform Instance

# import hcp_vault_secrets package
import hcp_vault_secrets.vaultsecrets as vaultsecrets

# create hcp instance
hcp = vaultsecrets.vaultsecrets()

API ENDPOINTS Implemented

/apps/{app_name}/open/{secret_name}

GET

Path Parameters

name type description required
appName string The name of the vault secrets application where the key is stored True
secretName string The name of the secrets' key you want to retrieve True

EXAMPLES

import hcp_vault_secrets.vaultsecrets as vaultsecrets

# create hcp instance
hcp = vaultsecrets.vaultsecrets()

# get the secret named "token" from the "assisted-installer" vault secrets application
# return type is <str>
token = hcp.getAppSecret(appName="assisted-installer", secretName="token")

# get the secret named "pull_secret" from the "assisted-installer" vault secrets application
# return type is <str>
pull_secret = hcp.getAppSecret(appName="assisted-installer", secretName="pull_secret")

# get the secret named "password" from the "proxmox" vault secrets application (in the same project)
# return type is <str>
prox = hcp.getAppSecret("proxmox", "password")

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hcp_vault_secrets-0.0.5.tar.gz (74.5 kB view details)

Uploaded Source

Built Distribution

hcp_vault_secrets-0.0.5-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file hcp_vault_secrets-0.0.5.tar.gz.

File metadata

  • Download URL: hcp_vault_secrets-0.0.5.tar.gz
  • Upload date:
  • Size: 74.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for hcp_vault_secrets-0.0.5.tar.gz
Algorithm Hash digest
SHA256 0e1341f73e5b59a07ea08bf6caccbdd290a6be30ce251f45bec46acf423d4378
MD5 586854f666a0f045a9d04c2ab8cf1b6e
BLAKE2b-256 af3300f3c9d7e04dff0065d8b47963de4a6e0f849db747c8dec43959b6b08d41

See more details on using hashes here.

File details

Details for the file hcp_vault_secrets-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for hcp_vault_secrets-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 101484dd79fea9165c238e3fac94639ceaed7809efb655fe9285c17219b764b7
MD5 bb6970519ecc36dd7dbf9431e2f2314e
BLAKE2b-256 fed03a5cb103648daad1ad47740c46ac2815d50f94357b80e272ad41db2dd162

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page