Skip to content

Commit 2dcf3f0

Browse files
committed
Set default external Let's Encrypt cert server
Currently, unless users set either external or internal cert server by themselves, enabling Let's Encrypt with ``enable_letsencrypt`` does nothing. This change makes the external certificate get managed by Let's Encrypt by default when Let's Encrypt is enabled. The server address is default Let's Encrypt ACME server [1] which was the former default before change [2]. [1] https://acme-v02.api.letsencrypt.org/directory [2] https://review.opendev.org/c/openstack/kolla-ansible/+/925971 Closes-bug: #2120451 Change-Id: I10e800aede5966e030ed8e661e2eb45b126ff678 Signed-off-by: Seunghun Lee <[email protected]> (cherry picked from commit 15dc0d0)
1 parent 0571550 commit 2dcf3f0

File tree

3 files changed

+34
-14
lines changed

3 files changed

+34
-14
lines changed

ansible/group_vars/all.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ kuryr_port: "23750"
503503

504504
letsencrypt_webserver_port: "8081"
505505
letsencrypt_managed_certs: "{{ '' if not enable_letsencrypt | bool else ('internal' if letsencrypt_internal_cert_server != '' and kolla_same_external_internal_vip | bool else ('internal,external' if letsencrypt_internal_cert_server != '' and letsencrypt_external_cert_server != '' else ('internal' if letsencrypt_internal_cert_server != '' else ('external' if letsencrypt_external_cert_server != '' and not kolla_same_external_internal_vip | bool else '')))) }}"
506-
letsencrypt_external_cert_server: ""
506+
letsencrypt_external_cert_server: "https://acme-v02.api.letsencrypt.org/directory"
507507
letsencrypt_internal_cert_server: ""
508508

509509
magnum_internal_fqdn: "{{ kolla_internal_fqdn }}"

doc/source/admin/tls.rst

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -316,19 +316,26 @@ to the HAProxy containers using SSH.
316316
with HAProxy.
317317

318318
You can configure separate ACME servers for internal and external
319-
certificate requests.
320-
321-
.. code-block:: yaml
322-
323-
letsencrypt_external_cert_server: "<ACME server URL for external cert>"
324-
letsencrypt_internal_cert_server: "<ACME server URL for internal cert>"
325-
326-
.. note::
327-
328-
The ``letsencrypt_external_cert_server`` has a default value of
329-
``https://acme-v02.api.letsencrypt.org/directory``. Ensure that
330-
``letsencrypt_internal_cert_server`` is reachable from the controller
331-
if you configure it for internal certificate requests.
319+
certificate requests by setting server URL on
320+
``letsencrypt_internal_cert_server`` and
321+
``letsencrypt_external_cert_server`` respectively.
322+
The default is external certificate ACME server set to
323+
``https://acme-v02.api.letsencrypt.org/directory``.
324+
325+
.. list-table:: Let's Encrypt management
326+
:widths: 28 72
327+
:header-rows: 1
328+
329+
* - Desired outcome
330+
- Settings
331+
* - External only (default)
332+
- Enable Let's Encrypt; no further changes.
333+
* - External + internal
334+
- Set ``letsencrypt_internal_cert_server`` and ensure it is reachable
335+
from the controller.
336+
* - Internal only
337+
- Set ``letsencrypt_external_cert_server: ""`` and set
338+
``letsencrypt_internal_cert_server``.
332339

333340
.. _admin-tls-generating-a-private-ca:
334341

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
fixes:
3+
- |
4+
Restore the default Let's Encrypt ACME server for external certificates
5+
so that enabling ``enable_letsencrypt`` works out of the box again
6+
without explicitly setting ``letsencrypt_external_cert_server``. The
7+
default is ``https://acme-v02.api.letsencrypt.org/directory``.
8+
upgrade:
9+
- |
10+
Deployments using a file-based external certificate and Let's Encrypt for
11+
the internal certificate (separate VIPs) default to managing the external
12+
certificate with Let's Encrypt. To retain a file-based external
13+
certificate, set ``letsencrypt_external_cert_server: ""``.

0 commit comments

Comments
 (0)