diff --git a/deployment/docker/job/Dockerfile b/deployment/docker/job/Dockerfile index ec542a84be..31f98bd317 100644 --- a/deployment/docker/job/Dockerfile +++ b/deployment/docker/job/Dockerfile @@ -21,13 +21,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ unzip \ && rm -rf /var/lib/apt/lists/* - +# passlib 1.7.4 cannot load its bcrypt backend on bcrypt 5+ (#4180) RUN pip3 install --no-cache-dir --break-system-packages \ "ansible-core>=2.16,<2.18" \ "ansible==${ANSIBLE_VERSION}" \ jmespath \ netaddr \ - passlib + passlib \ + 'bcrypt>=4,<5' RUN set -eux; \ for bin in sh cat chmod rm ls echo ssh ssh-agent ssh-add setsid git ansible-playbook python3; do \ diff --git a/deployment/docker/runner/Dockerfile b/deployment/docker/runner/Dockerfile index dec9c56af6..18165dc7c4 100644 --- a/deployment/docker/runner/Dockerfile +++ b/deployment/docker/runner/Dockerfile @@ -85,11 +85,12 @@ ARG ANSIBLE_VERSION=13.5.0 ENV ANSIBLE_VERSION=${ANSIBLE_VERSION} ARG ANSIBLE_VENV_PATH=/opt/semaphore/apps/ansible/${ANSIBLE_VERSION}/venv +# passlib 1.7.4 cannot load its bcrypt backend on bcrypt 5+ (#4180) RUN apk add --no-cache -U python3-dev build-base openssl-dev libffi-dev cargo && \ mkdir -p ${ANSIBLE_VENV_PATH} && \ python3 -m venv ${ANSIBLE_VENV_PATH} --system-site-packages && \ source ${ANSIBLE_VENV_PATH}/bin/activate && \ - pip3 install --upgrade pip ansible==${ANSIBLE_VERSION} boto3 botocore requests pywinrm passlib && \ + pip3 install --upgrade pip ansible==${ANSIBLE_VERSION} boto3 botocore requests pywinrm passlib 'bcrypt>=4,<5' && \ apk del python3-dev build-base openssl-dev libffi-dev cargo && \ rm -rf /var/cache/apk/* && \ find ${ANSIBLE_VENV_PATH} -iname __pycache__ | xargs rm -rf && \ diff --git a/deployment/docker/server/Dockerfile b/deployment/docker/server/Dockerfile index 6235d495f0..bb4b1ec882 100644 --- a/deployment/docker/server/Dockerfile +++ b/deployment/docker/server/Dockerfile @@ -86,11 +86,12 @@ RUN chown -R semaphore:0 /usr/local/bin/server-wrapper && \ WORKDIR /home/semaphore +# passlib 1.7.4 cannot load its bcrypt backend on bcrypt 5+ (#4180) RUN apk add --no-cache -U python3-dev build-base openssl-dev libffi-dev cargo && \ mkdir -p ${ANSIBLE_VENV_PATH} && \ python3 -m venv ${ANSIBLE_VENV_PATH} --system-site-packages && \ source ${ANSIBLE_VENV_PATH}/bin/activate && \ - pip3 install --upgrade pip ansible==${ANSIBLE_VERSION} boto3 botocore requests pywinrm passlib paramiko && \ + pip3 install --upgrade pip ansible==${ANSIBLE_VERSION} boto3 botocore requests pywinrm passlib 'bcrypt>=4,<5' paramiko && \ apk del python3-dev build-base openssl-dev libffi-dev cargo && \ rm -rf /var/cache/apk/* && \ find ${ANSIBLE_VENV_PATH} -iname __pycache__ | xargs rm -rf && \