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.3.tar.gz (74.5 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hcp_vault_secrets-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 d2c5d57ace9e195ede4495ef9e1aefbbd15d22035135272b625e2d5b3d51f5af
MD5 35d6d25f8ab55dcf3aefa0da20857e7b
BLAKE2b-256 6b3776c17b3d527f2665634cb78d2cb3d56a794094428d644020a722bb84a4da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hcp_vault_secrets-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d03274d57f9cb5c405b6abc411f535bcca9eae1d4a53d5022087bcef4429e3b4
MD5 e6747fdb90cfdd9d832a7b26b6f44453
BLAKE2b-256 24c1ae587fa4d13d2c07aee4bdc6ee211811f143919bbc67da30967c36f8d8aa

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