diff options
| author | Michal Nasiadka <mnasiadka@gmail.com> | 2026-07-06 15:26:00 +0200 |
|---|---|---|
| committer | Michal Nasiadka <mnasiadka@gmail.com> | 2026-07-06 19:59:40 +0000 |
| commit | db35ac8d793506bc43b62e7e39d27a75de1043ed (patch) | |
| tree | feec28d13a43490f5fd4260374144a1abfc20331 /kolla/docker/letsencrypt/letsencrypt-base | |
| parent | 1ae1850557e3b99902f73b32c9005618537a1f2d (diff) | |
| download | kolla-db35ac8d793506bc43b62e7e39d27a75de1043ed.tar.gz kolla-db35ac8d793506bc43b62e7e39d27a75de1043ed.zip | |
Migrate to pyproject.toml
[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>
Diffstat (limited to 'kolla/docker/letsencrypt/letsencrypt-base')
| -rw-r--r-- | kolla/docker/letsencrypt/letsencrypt-base/Dockerfile.j2 | 14 | ||||
| -rw-r--r-- | kolla/docker/letsencrypt/letsencrypt-base/extend_start.sh | 69 |
2 files changed, 83 insertions, 0 deletions
diff --git a/kolla/docker/letsencrypt/letsencrypt-base/Dockerfile.j2 b/kolla/docker/letsencrypt/letsencrypt-base/Dockerfile.j2 new file mode 100644 index 000000000..8e9e60db9 --- /dev/null +++ b/kolla/docker/letsencrypt/letsencrypt-base/Dockerfile.j2 @@ -0,0 +1,14 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" +{% endblock %} + +{% block letsencrypt_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start + +{{ macros.kolla_patch_sources() }} + +{% block letsencrypt_base_footer %}{% endblock %} diff --git a/kolla/docker/letsencrypt/letsencrypt-base/extend_start.sh b/kolla/docker/letsencrypt/letsencrypt-base/extend_start.sh new file mode 100644 index 000000000..0300f0b44 --- /dev/null +++ b/kolla/docker/letsencrypt/letsencrypt-base/extend_start.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +# Logs + +if [[ ! -d "/var/log/kolla/letsencrypt" ]]; then + mkdir -p /var/log/kolla/letsencrypt +fi +if [[ $(stat -c %a /var/log/kolla/letsencrypt) != "755" ]]; then + chmod 755 /var/log/kolla/letsencrypt +fi + +# Structure for lego and webserver + +FOLDERS_LEGO="/etc/letsencrypt /etc/letsencrypt/lego /etc/letsencrypt/lego/internal /etc/letsencrypt/lego/external" +FOLDERS_WEBSERVER="/etc/letsencrypt/http-01 /etc/letsencrypt/http-01/.well-known /etc/letsencrypt/http-01/.well-known/acme-challenge" + +if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then + USER="www-data" + GROUP="www-data" + USERGROUP_WEBSERVER="${USER}:${GROUP}" + USERGROUP="haproxy:haproxy" +else + USER="apache" + GROUP="apache" + USERGROUP_WEBSERVER="${USER}:${GROUP}" + USERGROUP="haproxy:haproxy" +fi + +for folder in ${FOLDERS_LEGO}; do + if [[ ! -d "${folder}" ]]; then + mkdir -p ${folder} + fi + + if [[ $(stat -c %U:%G ${folder}) != "${USERGROUP}" ]]; then + if getent passwd ${USER} 2 > /dev/null; then + chown ${USERGROUP} ${folder} + fi + fi + + if [[ "${folder}" == "/etc/letsencrypt" ]]; then + if [[ $(stat -c %a ${folder}) != "751" ]]; then + chmod 751 ${folder} + fi + else + if [[ $(stat -c %a ${folder}) != "755" ]]; then + chmod 755 ${folder} + fi + fi +done + +for folder in ${FOLDERS_WEBSERVER}; do + if [[ ! -d "${folder}" ]]; then + mkdir -p ${folder} + fi + + if [[ $(stat -c %U:%G ${folder}) != "${USERGROUP_WEBSERVER}" ]]; then + if getent passwd ${USER} 2 > /dev/null; then + chown ${USERGROUP_WEBSERVER} ${folder} + fi + fi + + if [[ $(stat -c %a ${folder}) != "755" ]]; then + chmod 755 ${folder} + fi +done + +if [ -e /usr/local/bin/kolla_letsencrypt_extend_start ]; then + . /usr/local/bin/kolla_letsencrypt_extend_start +fi |
