npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gcp-secret-env

v3.0.2

Published

A simple tool to convert a google secret manager to an environment variable (in .env file or other)

Readme

gcp-secret-env

🌍 Language Selection | Sélection de la Langue

🇬🇧 English | 🇫🇷 Français


Description

gcp-secret-env is a simple CLI utility to retrieve secrets from Google Cloud Secret Manager and set them as environment variables or in JSON format (by default in a .env file, but you can specify another file).

It can be used both in a local development environment and in your CI/CD pipelines.


Prerequisites

Before using gcp-secret-env, make sure you have:

  1. Google Cloud SDK installed.
  2. The necessary permissions to access Secret Manager.
  3. Valid Google Cloud credentials.

To authenticate with Google Cloud, run the following command:

$ gcloud auth application-default login

By default, the tool will look for credentials in the GOOGLE_APPLICATION_CREDENTIALS environment variable or in the file ~/.config/gcloud/application_default_credentials.json. If no valid credentials are found, an alert will be displayed.


Usage

Set credentials for a specific project

If you have multiple projects and want to use specific credentials, use the -spc (Set Project Credentials) flag:

$ npx gcp-secret-env -spc <project-name>

or

$ npx gcp-secret-env -spc=<project-name>

Select a specific project

To use project-specific credentials, use the -upc (Use Project Credentials) flag:

$ npx gcp-secret-env -upc <project-name>

If the specified project does not exist, an error will be displayed.


Retrieve the latest version of a secret

You need the project ID and the secret name:

$ npx gcp-secret-env -id <project-id> -name <secret-name>

With project-specific credentials:

$ npx gcp-secret-env -id <project-id> -name <secret-name> -upc <project-name>

Retrieve a specific version of a secret

$ npx gcp-secret-env -id <project-id> -name <secret-name> -version <version>

Create a new version of a secret from a .env file

$ npx gcp-secret-env -id <project-id> -name <secret-name> -save

Specify a custom file or path

Use the -file flag to define a specific file containing the secrets:

$ npx gcp-secret-env -id <project-id> -name <secret-name> -file <file-path>

or

$ npx gcp-secret-env -id <project-id> -name <secret-name> -file=<file-path>

If no file is specified, .env will be used by default.


Use JSON format

Use the -json flag to retrieve or send secrets in JSON format:

$ npx gcp-secret-env -id <project-id> -name <secret-name> -json

Disable a secret version

To disable a specific version of a secret:

  • Disable the latest version:
$ npx gcp-secret-env -id <project-id> -name <secret-name> -disable latest
  • Disable the previous version:
$ npx gcp-secret-env -id <project-id> -name <secret-name> -disable -1
  • Disable a specific version (e.g., version 3):
$ npx gcp-secret-env -id <project-id> -name <secret-name> -disable 3

Destroy a secret version

Use -destroy to delete a specific secret version:

  • Destroy the latest version:
$ npx gcp-secret-env -id <project-id> -name <secret-name> -destroy latest
  • Destroy the previous version:
$ npx gcp-secret-env -id <project-id> -name <secret-name> -destroy -1
  • Destroy a specific version (e.g., version 3):
$ npx gcp-secret-env -id <project-id> -name <secret-name> -destroy 3

Combine multiple actions

You can combine multiple flags (-save, -disable, -destroy) for efficient secret management.

Example: create a new version of a secret, disable the previous version, and delete the one before that:

$ npx gcp-secret-env -id <project-id> -name <secret-name> -save -disable -1 -destroy -2

Additional Notes

  • All flags that accept a value can be used with or without =.
  • The order of the flags does not matter, but the value must always follow the corresponding flag.
  • If you use project-specific credentials, ensure they are correctly configured.


Description

gcp-secret-env est un utilitaire CLI simple permettant de récupérer des secrets depuis Google Cloud Secret Manager et de les définir comme variables d'environnement ou en format JSON (par défaut dans un fichier .env, mais un autre fichier peut être spécifié).

Il peut être utilisé aussi bien dans un environnement de développement local que dans des pipelines CI/CD.


Prérequis

Avant d'utiliser gcp-secret-env, assurez-vous d'avoir :

  1. Google Cloud SDK installé.
  2. Les permissions nécessaires pour accéder à Secret Manager.
  3. Des identifiants Google Cloud valides.

Pour vous authentifier avec Google Cloud, exécutez la commande suivante :

$ gcloud auth application-default login

Par défaut, l'outil recherchera les identifiants dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS ou dans le fichier ~/.config/gcloud/application_default_credentials.json. Si aucun identifiant valide n'est trouvé, une alerte sera affichée.


Utilisation

Définir des identifiants pour un projet spécifique

Si vous avez plusieurs projets et souhaitez utiliser des identifiants spécifiques, utilisez le drapeau -spc (Set Project Credentials) :

$ npx gcp-secret-env -spc <nom-du-projet>

ou

$ npx gcp-secret-env -spc=<nom-du-projet>

Sélectionner un projet spécifique

Pour utiliser des identifiants propres à un projet, utilisez le drapeau -upc (Use Project Credentials) :

$ npx gcp-secret-env -upc <nom-du-projet>

Si le projet spécifié n'existe pas, une erreur sera affichée.


Récupérer la dernière version d'un secret

Vous avez besoin de l'ID du projet et du nom du secret :

$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret>

Avec des identifiants spécifiques à un projet :

$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -upc <nom-du-projet>

Récupérer une version spécifique d'un secret

$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -version <version>

Créer une nouvelle version d'un secret à partir d'un fichier .env

$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -save

Spécifier un fichier ou chemin personnalisé

Utilisez le drapeau -file pour définir un fichier contenant les secrets :

$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -file <chemin-du-fichier>

ou

$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -file=<chemin-du-fichier>

Si aucun fichier n'est spécifié, .env sera utilisé par défaut.


Utiliser le format JSON

Utilisez le drapeau -json pour récupérer ou envoyer des secrets en format JSON :

$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -json

Désactiver une version de secret

Pour désactiver une version spécifique d'un secret :

  • Désactiver la dernière version :
$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -disable latest
  • Désactiver la version précédente :
$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -disable -1
  • Désactiver une version spécifique (ex: version 3) :
$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -disable 3

Détruire une version de secret

Utilisez -destroy pour supprimer une version spécifique d'un secret :

  • Détruire la dernière version :
$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -destroy latest
  • Détruire la version précédente :
$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -destroy -1
  • Détruire une version spécifique (ex: version 3) :
$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -destroy 3

Combiner plusieurs actions

Vous pouvez combiner plusieurs drapeaux (-save, -disable, -destroy) pour une gestion efficace des secrets.

Exemple : créer une nouvelle version d'un secret, désactiver la version précédente et supprimer celle d'avant :

$ npx gcp-secret-env -id <id-du-projet> -name <nom-du-secret> -save -disable -1 -destroy -2

Notes supplémentaires

  • Tous les drapeaux qui acceptent une valeur peuvent être utilisés avec ou sans =.
  • L'ordre des drapeaux n'a pas d'importance, mais la valeur doit toujours suivre le drapeau correspondant.
  • Si vous utilisez des identifiants spécifiques à un projet, assurez-vous qu'ils sont correctement configurés.