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

github.com/secrethub/secrethub-http-proxy

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/secrethub/secrethub-http-proxy

  • v0.1.0
  • Source
  • Go
  • Socket score

Version published
Created
Source

SecretHub

HTTP ProxyBETA

GoDoc CircleCI Go Report Card Version Discord

The SecretHub HTTP Proxy adds a RESTful interface to the SecretHub Client. Apps can this way still use SecretHub, without having to directly include the client as a binary dependency.

You can configure it with a SecretHub credential at start, thereby removing the need of passing it in on every request.

SecretHub is a developer tool to help you keep database passwords, API tokens, and other secrets out of IT automation scripts.

A note on security

The SecretHub HTTP Proxy opens up the configured SecretHub account over HTTP. This moves the responsibility of securing your secrets to the domain of network security, which comes with its own risks. So use this with caution and make sure the credential you pass in only has access to only those secrets it needs.

It is recommended to create a service account, tightly control it with access rules, and use the service credential instead of your own SecretHub account.

secrethub service init my-org/my-repo --permission read --desc my-app

Installation

Binary

Download and extract the latest release of the SecretHub HTTP Proxy. Start it with your SecretHub credential:

./secrethub-http-proxy -C $(cat ~/.secrethub/credential) -p 8080

If upon signup you've chosen to lock your credential with a passphrase, you will get prompted for your passphrase.

Docker

You can also run the proxy as a Docker container. Assuming you have a SecretHub credential stored in the default $HOME/.secrethub location, you can run it with the credential mounted as a volume:

docker run -p 127.0.0.1:8080:8080 --name secrethub -v $HOME/.secrethub:/secrethub secrethub/http-proxy

You can also pass in the credential as an environment variable:

docker run -p 127.0.0.1:8080:8080 --name secrethub -e SECRETHUB_CREDENTIAL=$(cat $HOME/.secrethub/credential) secrethub/http-proxy

If upon signup you've chosen to lock your credential with a passphrase, run the container with -it to get prompted for your passphrase.

docker run -it -p 127.0.0.1:8080:8080 --name secrethub -e SECRETHUB_CREDENTIAL=$(cat $HOME/.secrethub/credential) secrethub/http-proxy

Alternatively, the passphrase can be sourced from the SECRETHUB_CREDENTIAL_PASSPHRASE environment variable.

Usage

With the proxy up and running, you can perform the following HTTP requests:

/v1beta/secrets/raw/:path

Example:

/v1beta/secrets/raw/my-org/my-repo/my-secret
GET

Returns the secret contents as bytes.

POST

Creates or updates a secret. Expects the secret contents as bytes.

DELETE

Deletes the entire secret and its history.

BETA

This project is currently in beta and we'd love your feedback! Check out the issues and feel free to suggest cool ideas, use cases, or improvements.

Because it's still in beta, you can expect to see some changes introduced. Pull requests are very welcome.

Terraform State Backend

For those of you using Terraform, the SecretHub HTTP Proxy can function as a Terraform Backend for your .tfstate. Read more about this on our blog post.

Development

Get the source code:

git clone https://github.com/secrethub/secrethub-http-proxy

To build the binary from source, use:

make build

To build the Docker image from scratch, you can use:

docker build -t secrethub-http-proxy .

FAQs

Package last updated on 30 Apr 2019

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