aboutsummaryrefslogtreecommitdiff
path: root/docker/haproxy/haproxy-ssh/Dockerfile.j2
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka1-42/+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>
2024-12-18[letsencrypt] Rename script for updating certificatesMichal Arbet1-1/+1
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-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-01-08Stop removing missing /run/nologin in RPM imagesPierre Riteau1-4/+0
This code was valid for centos:8 and centos:stream8, but is not required for centos:stream9 or rockylinux:9 which do not include this file. Change-Id: I50f78d73afe0944dd91998ab9799fa2f36cc46a3
2023-09-18Rework letsencryptMichal Arbet1-0/+4
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
2022-05-30Replace Certbot with Lego for Let's Encrypt containergeneralfuzz1-0/+40
Replaces Certbot with Lego for certificate retrieval and renewal. Lego includes support for DNS ACME Challenges. Adds ssh-client to LetsEncrypt and ssh-server to HAProxy to allow both the transfer of Let's Encrypt certificates to the HAProxy container and to enable live updating of HAProxy certifices using the HAProxy API exposed on the local HAProxy socket. Implements: blueprint letsencrypt-https Change-Id: I737e1ce5bfc37d0703879c8272a9e915084c5ca6