Docker template generator
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Chris Smith 00aa0e6254 Don't fail startup if things don't resolve. 5 gadus atpakaļ
certs Add auth label 5 gadus atpakaļ
docker Logging tweaks 5 gadus atpakaļ
model Deploy certs 5 gadus atpakaļ
templates Don't fail startup if things don't resolve. 5 gadus atpakaļ
.gitignore Initial import 5 gadus atpakaļ
.pre-commit-config.yaml Use new docker and lego code 5 gadus atpakaļ
Dockerfile Use new docker and lego code 5 gadus atpakaļ
LICENCE Add licence 5 gadus atpakaļ
README.adoc Move config to env vars. 5 gadus atpakaļ
docker.go Deploy certs 5 gadus atpakaļ
dotege.go Deploy certs 5 gadus atpakaļ
go.mod Use new docker and lego code 5 gadus atpakaļ
go.sum Use new docker and lego code 5 gadus atpakaļ
lego.go Cleanup, redeploy, deal with expired certs 5 gadus atpakaļ
template_generator.go Deploy certs 5 gadus atpakaļ

README.adoc

== Dotege

=== Configuration

Dotege is configured using environment variables:

`DOTEGE_CERT_DESTINATION`::
The folder where certificates will be placed. Defaults to `/data/certs`.

`DOTEGE_DNS_PROVIDER`::
The DNS provider to use. Must be one https://go-acme.github.io/lego/dns/[supported by Lego].
The DNS provider will also be configured using environmental variables, as documented by
the Lego project. Required.

`DOTEGE_ACME_CACHE_FILE`::
The path to a JSON file to store ACME credentials and certificates. This file will
contain the private keys for all certificates generated by Dotege, so must not
be accessible to other users or processes. Defaults to `/data/config/certs.json`.

`DOTEGE_ACME_EMAIL`::
The e-mail address to provide to the ACME service for updates, renewal reminders, etc.
Required.

`DOTEGE_ACME_ENDPOINT`::
The ACME server to request certificates from. Defaults to the Let's Encrypt production
server at https://acme-v02.api.letsencrypt.org/directory. For staging, this can be set
to https://acme-staging-v02.api.letsencrypt.org/directory.

`DOTEGE_ACME_KEY_TYPE`::
The key type to use for private keys when generating a certificate using ACME. Valid
values are:
+
* `P256` for EC256
* `P384` for EC384
* `2048` for RSA-2048
* `4096` for RSA-4096
* `8192` for RSA-8192
+
The default value is `P384`.

`DOTEGE_TEMPLATE_DESTINATION`::
Location to write the templated configuration file to. Defaults to `/data/output/haproxy.cfg`.

`DOTEGE_TEMPLATE_SOURCE`::
Path to a template to use to generate configuration. Defaults to `./templates/haproxy.cfg.tpl`,
which is a bundled basic template for generating HAProxy configurations.

=== Docker labels

Dotege operates by parsing labels applied to docker containers. It understands the following:

`com.chameth.auth`::
Specifies the name of an auth group (which must be defined appropriately in the template file)
that users are required to be in to access the container.

`com.chameth.proxy`::
The port on which the container is listening for requests.

`com.chameth.vhost`::
Comma- or space-delimited list of hostnames that the container will handle requests for.
Certificates will have the first host as the subject, and any additional hosts will be
alternate names. Certificates are only reused if all hostnames match.