Add Let's Encrypt template
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# Let's Encrypt Certificate Manager
|
||||
|
||||
### About
|
||||
|
||||
The Let's Encrypt Certificate Manager obtains a free (SAN) SSL Certificate from the [Let's Encrypt CA](https://letsencrypt.org/) and adds it to Rancher's certificate store. Once the certificate is created it is scheduled for auto-renewal 14-days before expiration. The renewed certificate is propagated to all applicable load balancer services.
|
||||
|
||||
### Usage
|
||||
|
||||
1. Accept the terms of service.
|
||||
2. Select the API version to use. The Sandbox API should be used for testing purposes.
|
||||
3. Fill in your email address.
|
||||
4. Enter one or more domain names in the 'Domain Names' field.
|
||||
5. Select the DNS provider which manages the DNS zone(s) for all entered domains.
|
||||
5. Fill in the required credentials for the chosen DNS provider.
|
||||
6. Click 'Launch'.
|
||||
|
||||
|
||||
If you want your certificate to be automatically renewed leave the service running. Otherwise you may remove the service once the certificate has appeared in Rancher's certificate store.
|
||||
|
||||
### Suggestions & issue reports
|
||||
|
||||
Please submit suggestions or any issues you find to the [rancher-letsencrypt](https://github.com/janeczku/rancher-letsencrypt) GitHub repo.
|
||||
@@ -0,0 +1,19 @@
|
||||
letsencrypt:
|
||||
image: janeczku/rancher-letsencrypt:v0.2.5
|
||||
environment:
|
||||
EULA: ${EULA}
|
||||
API_VERSION: ${API_VERSION}
|
||||
EMAIL: ${EMAIL}
|
||||
DOMAINS: ${DOMAINS}
|
||||
PUBLIC_KEY_TYPE: ${PUBLIC_KEY_TYPE}
|
||||
RENEWAL_TIME: ${RENEWAL_TIME}
|
||||
PROVIDER: ${PROVIDER}
|
||||
CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL}
|
||||
CLOUDFLARE_KEY: ${CLOUDFLARE_KEY}
|
||||
DO_ACCESS_TOKEN: ${DO_ACCESS_TOKEN}
|
||||
AWS_ACCESS_KEY: ${AWS_ACCESS_KEY}
|
||||
AWS_SECRET_KEY: ${AWS_SECRET_KEY}
|
||||
DEBUG: false
|
||||
labels:
|
||||
io.rancher.container.create_agent: 'true'
|
||||
io.rancher.container.agent.role: 'environment'
|
||||
@@ -0,0 +1,85 @@
|
||||
.catalog:
|
||||
name: "Let's Encrypt"
|
||||
version: 0.2.5
|
||||
description: "Trusted SSL certificates at zero cost"
|
||||
minimum_rancher_version: v0.63.0
|
||||
questions:
|
||||
- variable: "EULA"
|
||||
label: "I Agree to the Let's Encrypt TOS"
|
||||
description: "Read https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf"
|
||||
required: true
|
||||
type: "enum"
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
- variable: "API_VERSION"
|
||||
label: "Let's Encrypt API Version"
|
||||
description: "Select the API version used for issuing the certificate. Use 'Sandbox' for testing only."
|
||||
required: true
|
||||
type: "enum"
|
||||
default: "Production"
|
||||
options:
|
||||
- "Production"
|
||||
- "Sandbox"
|
||||
- variable: "EMAIL"
|
||||
label: "Your Email Address"
|
||||
description: "Enter the email address to be associated with the Let's Encrypt account."
|
||||
required: true
|
||||
type: "string"
|
||||
- variable: "DOMAINS"
|
||||
label: "Domain Names"
|
||||
description: "Comma delimited list of domain names, e.g.: 'devs.example.com, staging.example.com'."
|
||||
required: true
|
||||
type: "string"
|
||||
- variable: "PUBLIC_KEY_TYPE"
|
||||
label: "Public Key Algorithm"
|
||||
description: "Select one of the supported key types."
|
||||
required: true
|
||||
type: "enum"
|
||||
default: RSA-2048
|
||||
options:
|
||||
- RSA-2048
|
||||
- RSA-4096
|
||||
- RSA-8192
|
||||
- ECDSA-256
|
||||
- ECDSA-384
|
||||
- variable: "RENEWAL_TIME"
|
||||
label: "Renewal Time of Day (00-23)"
|
||||
description: "Set the time of day (UTC in hours) at which certificate renewals should run."
|
||||
default: 12
|
||||
required: true
|
||||
type: int
|
||||
- variable: "PROVIDER"
|
||||
label: "DNS Provider"
|
||||
description: "Select the DNS provider used for domain verification."
|
||||
required: true
|
||||
type: "enum"
|
||||
options:
|
||||
- CloudFlare
|
||||
- DigitalOcean
|
||||
- Route53
|
||||
- variable: "AWS_ACCESS_KEY"
|
||||
label: "AWS Access Key"
|
||||
description: "Enter the Access Key for your AWS account."
|
||||
type: "string"
|
||||
required: false
|
||||
- variable: "AWS_SECRET_KEY"
|
||||
label: "AWS Secret Key"
|
||||
description: "Enter the Secret Key for your AWS account."
|
||||
type: "string"
|
||||
required: false
|
||||
- variable: "CLOUDFLARE_EMAIL"
|
||||
label: "CloudFlare Email Address"
|
||||
description: "Enter the email address associated with your CloudFlare account."
|
||||
type: "string"
|
||||
required: false
|
||||
- variable: "CLOUDFLARE_KEY"
|
||||
label: "CloudFlare API Key"
|
||||
description: "Enter the Global API Key for your CloudFlare account."
|
||||
type: "string"
|
||||
required: false
|
||||
- variable: "DO_ACCESS_TOKEN"
|
||||
label: "DigitalOcean API Access Token"
|
||||
description: "Enter the Personal Access Token for your DigitalOcean account."
|
||||
type: "string"
|
||||
required: false
|
||||
Reference in New Issue
Block a user