Skip to content

🛠️ Get private key from a path, environment variables, or a `*.pem` file in the current working directory

License

Notifications You must be signed in to change notification settings

stainless-api/get-private-key

 
 

Repository files navigation

@probot/get-private-key

Get private key from a file path, environment variables, or a *.pem file in the current working directory

@latest Build Status

Finds a private key through various user-(un)specified methods. Order of precedence:

  1. Explicit file path option
  2. PRIVATE_KEY environment variable or explicit env.PRIVATE_KEY option. The private key can optionally be base64 encoded.
  3. PRIVATE_KEY_PATH environment variable or explicit env.PRIVATE_KEY_PATH option
  4. Any file w/ .pem extension in current working dir

Usage

Browsers

@probot/get-private-key is not compatible with browser usage

Node

Install with npm install @probot/get-private-key

const { Probot } = require("probot");
const { getPrivateKey } = require("@probot/get-private-key");
const probot = new Probot({
  appId: 123,
  privateKey: getPrivateKey(),
});

Options

name type description
options.filepath string

Pass a path to a *.pem file. A relative path will be resolved to the current working directory (which you can set with the cwd option)

const privateKey = getPrivateKey({
  filepath: "private-key.pem",
});
options.cwd string

Defaults to process.cwd(). Used to resolve the filepath option and used as folder to find *.pem files.

const privateKey = getPrivateKey({
  cwd: "/app/current",
});
options.env object

Defaults to process.env. Pass env.PRIVATE_KEY or env.PRIVATE_KEY_PATH to workaround reading environment variables

const privateKey = getPrivateKey({
  env: {
    PRIVATE_KEY: "-----BEGIN RSA PRIVATE KEY-----\n...",
  },
});

LICENSE

ISC

About

🛠️ Get private key from a path, environment variables, or a `*.pem` file in the current working directory

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 80.6%
  • JavaScript 19.4%