Giter VIP home page Giter VIP logo

acmevault's Introduction

acmevault

Go Report Card test-workflow release-workflow golangci-lint-workflow

Features

๐Ÿ” Issues certificates from any ACME provider, such as Let's Encrypt
โฐ Automatically renews certificates before they expire
๐Ÿ”Œ Stores all data inside Vault and thus decouples from clients

Why would I need this?

Problem Statement

Rolling out TLS encryption shouldn't need to be pitched anymore (even for internal services). Using the DNS01 ACME challenge is proven and allows issuing certs non-public routable machines. On the other hand, you need to have access to either highly-privileged/narrowly-scoped credentials of your DNS provider to solve these DNS01 challenges.

In the case of Route53, if you don't want to end up creating dozens of hosted zones, one for each of your subdomains, you're at risk of leaking highly-privileged IAM credentials.

Acmevault requests short-lived IAM credentials for Route53 and uses them to perform DNS01 challenges for the configured domains and writes the issued X509 certificates to Hashicorp Vault's K/V secret store - only readable by the appropriate AppRole.

Its client mode reads the respective written certificates from Vault and installs them to a preconfigured location, optionally invoking post-installation hooks.

Overview

Overview

Installation

Docker / Podman

$ git clone https://github.com/soerenschneider/acmevault
$ cd acmevault
$ docker run -v $(pwd)/contrib:/config ghcr.io/soerenschneider/acmevault -conf /config/server.json

Binaries

Download a prebuilt binary from the releases section for your system.

From Source

As a prerequisite, you need to have Golang SDK installed. Then you can install acmevault from source by invoking:

$ go install github.com/soerenschneider/acmevault@latest

Configuration

See the configuration section for examples and configuration reference.

Observability

See the metrics section for an overview of exposed metrics.

Changelog

See the full changelog here

acmevault's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar soerenschneider avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

acmevault's Issues

Store certificates in pki rather than kv?

Hi.

Nice to see a actively maintained acme vault plugin, I've been using https://github.com/remilapeyre/vault-acme which is unfortunately not being actively developed.

I was wondering if you had explored the possibility of storing the certificates in a pki secrets engine instead of kv?
That would open up new possibilities such as using vault as a internal acme server which would then proxy letsencrypt certificates by using the acme with the pki secrets engine that was introduced in vault 1.14 https://developer.hashicorp.com/vault/tutorials/secrets-management/pki-acme-caddy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.