aboutsummaryrefslogtreecommitdiff
path: root/docker/letsencrypt/letsencrypt-lego
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka3-360/+0
[tool.setuptools.data-files] does not support recursive directory installation. The old setup.cfg [files] worked because PBR's FilesConfig.expand_globs() used os.walk() to expand docker/*, but this hook is not triggered by the pbr.build PEP-517 backend. Move docker/ into kolla/ and use [tool.setuptools.package-data] instead. Update kolla_worker._get_images_dir() to check the kolla package directory first so both editable and regular installs work. Change-Id: I4fc452c03740ef22ebbb4e8d0d86c4f4783e2d09 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-06-24kolla-build: fix build-date LABEL invalidating Docker layer cacheMichal Nasiadka1-1/+1
The build-date label was rendered into a LABEL instruction on line 3 of every Dockerfile template, immediately after FROM. Because Docker invalidates the cache for a changed instruction and all subsequent layers, a date change caused a full rebuild of every image on each new calendar day, even when nothing else had changed. Fix this by removing build-date from the Dockerfile templates and applying it as a --label argument at build time via image.labels. Labels passed on the build command line are not part of the Dockerfile cache key, so the date is still recorded in the image metadata without affecting layer caching. Change-Id: I8ef0d85bab1a999a4d09f7cbf0c088ca00fdcf77 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-04-24Allow specification of a key typeJay Jahns1-3/+9
Letsencrypt allows using a specific key type for certificates. If the user has an internal letsencrypt mechanism, such as Vault Acme, then they have to provide a specific key type as the default is not supported. This change will allow a user to specify a key type and use the lego default in the event that they don't specify it. Partial-Bug: 2087860 Change-Id: I83e618a861b4d51b6a7893f79c50fdfc35228891
2024-12-18[letsencrypt] Rename script for updating certificatesMichal Arbet1-2/+2
This patch renames the update-haproxy-cert script to update-loadbalancer-cert to make the name more generic. The change is necessary because support for ProxySQL will be introduced in the next patch, requiring a name that reflects broader applicability. To keep the diff in the following patch clean and easier to review, this patch focuses exclusively on the rename. Change-Id: I15f9b5cf3976f4298cdc7da4530f2d7d09614e88
2024-12-11Fix EAB support in letsencryptMichal Arbet1-10/+12
This patch fixes recently merged [1] patch. - Original patch added params function args eab, hmac, key_id, but then EXTERNAL_ACCOUNT_BINDING_OPTS var is passed into obtain_or_renew_certificate which can't work - This patch correctly set EXTERNAL_ACCOUNT_BINDING, HMAC, KEY_ID defaults and then call obtain_or_renew_certificate function with them. This will ensure that arguments are always set, so we can write if condtional correctly and process. [1] https://review.opendev.org/c/openstack/kolla/+/916617 Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/933924 Change-Id: I406ff10edec9dc94b1a3de005080e149ee3ab3f2
2024-12-05Add Let's Encrypt EAB supportPiotr Parczewski1-3/+29
Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/935656 Change-Id: I0b20d82a0061062f8aa9dfe179b1d02708ad610e
2024-11-15Add mechanism for patching files in containersMichal Arbet1-0/+2
This patch adds a way to patch files in a Docker image built by Kolla. This is very useful for several reasons, specifically: - Custom modifications - The stable branch of some library has a fix but no pip package has been released - Eliminates the need to package your own pip packages - Eliminates the need to invent your own versioning to prevent upstream versioning - Eliminates the need to manage a pip server - In other words, it eliminates the need to get a wheel into the image and install it manually using any method not previously mentioned It is also highly desirable because, although Kolla can replace the source for a service with a custom URL for a tarball or its own Git repo, it cannot do this for dependencies pulled from pip. I would also like to point out that this is a feature with its own code path and works only if the user "inserts" a patch into the folder patches/docker-image/something.patch and creates an analogous series file for patch source code. Simply said, this code will never interfere with the upstream build process since this feature is not intended for use in upstream. It is rather meant for downstream users who know what they are doing. Now they just have an option to patch their images. Everything works on all layers of the Docker image and stores a report of applied patches which can then be seen in /etc. This mechanism is similar as debian patch quilt. Change-Id: I61d0790c5d4d070b7ea9e8c99c0a76ff5d22bf9d
2024-02-21Move curl sources to sources.pyMichal Nasiadka1-14/+3
Move most curl sources to sources.py, so it can be automatically updated in future. This also makes overriding the versions/locations/sha256 easier. Change-Id: Ib3497fe96162ae190e5c113cacaaa3ef8334f590
2024-02-02Merge "[follow-up] Use full binary path when invoking ip"Zuul1-1/+1
2024-01-31Merge "Use full binary path when invoking ip"Zuul1-1/+1
2024-01-31[follow-up] Use full binary path when invoking ipMichal Arbet1-1/+1
Patch [1] fixed invoking of ip command in one script but forgot to fix on another place in another script. This patch is follow-up path and fix the same issue in those script. [1] https://review.opendev.org/c/openstack/kolla/+/906516 Change-Id: I5e41a550e438fb3e4008a9e6b8df35c4775c5c30
2024-01-24Use full binary path when invoking ipPiotr Parczewski1-1/+1
Closes-bug: #2051111 Change-Id: I2a4df6121236379d88d0d7f2f7a888feab273003
2024-01-20trivial: fix typos in let's encrypt status logsPiotr Parczewski1-1/+1
Change-Id: Icb158d296989ba7c99ba108e7697ca71176f07db
2023-11-07Fix letsencrypt-lego loggingMichal Arbet2-17/+42
This patch fixes formatting of letsencrypt, so it will be easier to parse via fluent. Change-Id: I8a403e14819df4351e28d53c676571a3ad0c14be
2023-09-18Rework letsencryptMichal Arbet3-0/+310
This patch is adding "API layer" to letsencrypt images which is represented by set of scripts inside. This scripts are called by kolla-ansible orchestration. Change-Id: I61b70fb4e12ba03b96e79004e735d2ead0f52319