Skip to content
This repository has been archived by the owner on Feb 22, 2022. It is now read-only.

[stable/traefik] Updated acme storage location to be configurable #16464

Merged
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion stable/traefik/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
apiVersion: v1
name: traefik
version: 1.77.1
version: 1.78.0
appVersion: 1.7.14

description: A Traefik based Kubernetes ingress controller with Let's Encrypt support
keywords:
- traefik
Expand Down
1 change: 1 addition & 0 deletions stable/traefik/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ The following table lists the configurable parameters of the Traefik chart and t
| `acme.persistence.existingClaim` | An Existing PVC name | `nil` |
| `acme.persistence.size` | Minimum size of the volume requested | `1Gi` |
| `kvprovider.storeAcme` | Store acme certificates in KV Provider (needed for [HA](https://docs.traefik.io/configuration/acme/#as-a-key-value-store-entry)) | `false` |
| `kvprovider.acmeStorageLocation` | Path for storing acme data | `traefik/acme/account` |
| `kvprovider.importAcme` | Import acme certificates from acme.json of a mounted pvc (see: acme.persistence.existingClaim) | `false` |
| `kvprovider.$name.endpoint` | Endpoint of the provider like \<kv-provider-fqdn>:\<port> | None |
| `kvprovider.$name.watch` | Wether traefik should watch for changes | `true` |
Expand Down
2 changes: 1 addition & 1 deletion stable/traefik/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ data:
KeyType = {{ .Values.acme.keyType | quote }}
email = {{ .Values.acme.email | quote }}
{{- if .Values.kvprovider.storeAcme }}
storage = "traefik/acme/account"
storage = "{{ .Values.kvprovider.acmeStorageLocation }}"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does this interact with kvprovider.$name.prefix?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not 100% sure what you mean by "interact", but in my personal case I do not have them set to the same value. For example, if I set kvprovider.acmeStorageLocation to traefik "foo" and the kvprovider.consul.prefix to "bar" I seem to achieve the expected results. Specifically the certs are stored in "bar" and all the configuration information for the traefik controller is stored with the prefix "foo".

If you set them to the same value it will likely cause problems, however.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha. Seems legit to me.

{{- if .Values.kvprovider.importAcme }}
storageFile = "/acme/acme.json"
{{- end }}
Expand Down
1 change: 1 addition & 0 deletions stable/traefik/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ kvprovider:

## storeAcme has to be enabled to support HA Support using acme, but at least one kvprovider is needed
storeAcme: false
acmeStorageLocation: traefik/acme/account
importAcme: false

# etcd:
Expand Down