Giter Site home page Giter Site logo

score42 / rancher-letsencrypt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from janeczku/rancher-letsencrypt

0.0 2.0 0.0 1.6 MB

:cow: Rancher service that obtains and manages free SSL certificates from the Let's Encrypt CA

License: MIT License

Makefile 6.48% Go 91.40% Shell 2.13%

rancher-letsencrypt's Introduction

Rancher + Let's Encrypt = Awesome Sauce

Let's Encrypt Certificate Manager for Rancher

Latest Version Circle CI Docker Pulls License

A Rancher service that obtains free SSL/TLS certificates from the Let's Encrypt CA, adds them to Rancher's certificate store and manages renewal and propagation of updated certificates to load balancers.

Requirements

  • Rancher Server >= v0.63.0
  • Existing account with one of the supported DNS providers:
    • AWS Route 53
    • CloudFlare
    • DigitalOcean
    • DNSimple
    • Dyn
    • Vultr
    • Ovh

How to use

This application is distributed via the Rancher Community Catalog.

Enable the Community Catalog under Admin => Settings in the Rancher UI. Then locate the Let's Encrypt template in the Catalog section of the UI and follow the instructions.

Accessing certificates and private keys from other services

The created SSL certificate is stored in Rancher for usage in load balancers.
If you want to use it from other services (e.g. a Nginx container) you can opt to save the certificate and private key to a host path, named volume or Convoy storage volume. You can then mount the volume or host path to other containers and access the files as follows:
<path_on_host or volume name>/<certificate name>/fullchain.pem
<path_on_host or volume name>/<certificate name>/privkey.pem
where <certificate name> is the name you specified in the UI forced to this set of characters: [a-zA-Z0-9-_.].

Provider specific usage

AWS Route 53

The following IAM policy describes the minimum permissions required to run rancher-letsencrypt using AWS Route 53 for domain authorization.
Replace <HOSTED_ZONE_ID> with the ID of the hosted zone that encloses the domain(s) for which you are going to obtain certificates. You may use a wildcard (*) in place of the ID to make this policy work with all of the hosted zones associated with an AWS account.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "route53:GetChange",
                "route53:ListHostedZonesByName"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "route53:ChangeResourceRecordSets"
            ],
            "Resource": [
                "arn:aws:route53:::hostedzone/<HOSTED_ZONE_ID>"
            ]
        }
    ]
}

OVH

You need to create your credential on the following URL: https://eu.api.ovh.com/createToken/ Then submit the form as following:

  • Account ID: Your OVH account ID
  • Password: Your password
  • Script name: letsencrypt
  • Script description: Letsencrypt for Rancher
  • Validity: Unlimited
  • Rights:
    • GET /domain/zone/*
    • POST /domain/zone/*
    • DELETE /domain/zone/*

Then get your key and store them.

To finish, when you start this container add the following environment variable:

  • PROVIDER: Ovh
  • OVH_APPLICATION_KEY: your key generated in previous step
  • OVH_APPLICATION_SECRET: your secret generated in previous step
  • OVH_CONSUMER_KEY: your consumer key generated in previous step

Building the image

make build && make image

Contributions

PR's welcome!

rancher-letsencrypt's People

Contributors

janeczku avatar rschmukler avatar willseward avatar bcyrill avatar

Watchers

James Cloos avatar Renaud R. avatar

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.