Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

aws-secrets-github-sync

Package Overview
Dependencies
Maintainers
0
Versions
382
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aws-secrets-github-sync

Update GitHub repository secrets from an AWS SecretsManager secret

  • 0.1.374
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
269
increased by53.71%
Maintainers
0
Weekly downloads
 
Created
Source

aws-secrets-github-sync

Updates GitHub secrets from AWS Secrets Manager.


Beta: This project is under active development and is not recommended to use in production environments.

This utility reads a secret from AWS Secrets Manager and stores the keys from this secret to GitHub repository secrets.

It is useful to maintain a set of keys across multiple repositories, handle rotation, etc.

Install

This tool is published as an npm module, so it can be either installed locally or globally via:

npm i -g aws-secrets-github-sync

Or any other npm package manager such as yarn, pnpm, etc.

Prerequisites

  • GitHub CLI, logged into your account.
  • AWS credentials configured in your environment

Usage

Store your secret in AWS Secrets Manager

Use the AWS CLI or AWS Console to create a secret in AWS Secrets Manager that includes keys that map to GitHub secret names.

For example, say our AWS Secrets Manager secret looks like this:

{
  "NPM_TOKEN": "<my npm token>",
  "FOOBAR": "<some other secret>"
}

Updating Secrets

Now that you have a secret in AWS Secrets Manager, you can use this tool to read it and store it in your GitHub repository.

This can be either done via a config file or via the command line.

aws-secrets-github-sync -s SECRET [OPTIONS]

Options:

  • --help Show help
  • -s, --secret - The secret ID or ARN of the AWS Secrets Manager secret
  • -k, --keys (array) - The set of keys to update. Can be invoked multiple times (e.g. -k NPM_TOKEN -k FOOBAR). If not specified, all keys from the secret will be stored in the repository.
  • --prune - Will delete any secret keys from the repository that are not in AWS Secrets Manager (and not specified in --keep). If this is not set, old keys will be retained.
  • --keep - Keys to keep instead of pruning (can appear multiple times).
  • --yes - Don't ask for user confirmation before the update.
  • -r, --repo - The GitHub full repository name (e.g. cdklabs/aws-secrets-github-sync). If this is not specified, we will try to resolve the repo from the current git settings.
  • -R, --region - The AWS region to read the secret from. If this is not specified, AWS_REGION will be used. If the secret is an ARN, we will resolve the region from the ARN.
  • --profile - specify AWS credentials profile to use.

You can also specify all options via a configuration file. Here's an example secrets.json:

{
  "secret": "publishing-secrets",
  "region": "us-east-1",
  "prune": true,
  "keys": [
    "NPM_TOKEN",
    "PROJEN_GITHUB_TOKEN"
  ],
}

And then, execute:

aws-secrets-github-sync -C secrets.json

Auditing

All AWS Secrets Manager activity is recorded in AWS CloudTrail. Requests from aws-secrets-github-sync are tagged with a user-agent of aws-secrets-github-sync/$version so it is possible to find them as needed.

Contributing

See our Contribution Guide for more information.

Security

See Security Issue Notification for more information.

License

This project is licensed under the Apache-2.0 License.

FAQs

Package last updated on 03 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc