From 07062402ae79ed552716ac58e0de66a6d6c13260 Mon Sep 17 00:00:00 2001 From: Abderrahim AZIME Date: Wed, 28 Aug 2024 12:50:15 +0200 Subject: [PATCH 01/17] generate Kraken on debian 11 --- docker/build_kraken_deb11.sh | 17 +++++++ docker/debian11/Dockerfile-builder-kraken | 10 ++++ docker/debian11/Dockerfile-kraken | 57 +++++++++++++++++++++++ docker/run_kraken_deb11.sh | 3 ++ source/monitor/monitor_kraken/app.py | 9 +++- 5 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 docker/build_kraken_deb11.sh create mode 100644 docker/debian11/Dockerfile-builder-kraken create mode 100644 docker/debian11/Dockerfile-kraken create mode 100644 docker/run_kraken_deb11.sh diff --git a/docker/build_kraken_deb11.sh b/docker/build_kraken_deb11.sh new file mode 100644 index 0000000000..6d7e6e431b --- /dev/null +++ b/docker/build_kraken_deb11.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +cd /navitia/navitia/ +mkdir -p docker_build && cd docker_build +cmake -DCMAKE_BUILD_TYPE=Release ../source +(cd jormungandr && make -j$(($(grep -c '^processor' /proc/cpuinfo)+1))) +make -j$(($(grep -c '^processor' /proc/cpuinfo)+1)) kraken + +# Build libkeepalive https://libkeepalive.sourceforge.net/ +# libkeepalive is a library to keep tcp connection alive. The reason of doing so is that aws LoadBalancer, to which +# kraken is connected, check the aliveness continuously at regular interval of non-customisable 350s +# (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html). If nothing happens during +# this interval, the connection will be dropped. It takes Kraken, by default, 7200s(/proc/sys/net/ipv4/tcp_keepalive_time) +# to be aware of the disconnection. By using libkeepalive, we can override tcp_keepalive_time, +# which is not customisable via docker-container. +(mkdir -p build_libkeepalive && cp -rf ../docker/libkeepalive-0.3/. build_libkeepalive/ && cd build_libkeepalive/ && make ) + diff --git a/docker/debian11/Dockerfile-builder-kraken b/docker/debian11/Dockerfile-builder-kraken new file mode 100644 index 0000000000..da10cc05eb --- /dev/null +++ b/docker/debian11/Dockerfile-builder-kraken @@ -0,0 +1,10 @@ +FROM 162230498103.dkr.ecr.eu-west-1.amazonaws.com/mutable-debian11_dev:latest + +RUN apt-get install -y git + +RUN git config --global --add safe.directory /navitia/navitia + +COPY docker/build_kraken_deb11.sh /build_navitia.sh +RUN chmod +x /build_navitia.sh + +ENTRYPOINT ["bash", "/build_navitia.sh"] diff --git a/docker/debian11/Dockerfile-kraken b/docker/debian11/Dockerfile-kraken new file mode 100644 index 0000000000..ccf00c2ac6 --- /dev/null +++ b/docker/debian11/Dockerfile-kraken @@ -0,0 +1,57 @@ +FROM debian:bullseye-slim + + +WORKDIR /srv/kraken + + +COPY ./docker/ca-certificates/*.crt /usr/local/share/ca-certificates/ +COPY ./source/monitor /srv/monitor_kraken + +RUN apt-get update --fix-missing \ + && apt-get install -y ca-certificates \ + && update-ca-certificates \ + && apt-get install -y libgoogle-perftools4 \ + python3.9 \ + python3-pip \ + libboost-all-dev \ + libprotobuf-dev \ + liblog4cplus-2.0.5 \ + libzmq3-dev \ + libpqxx-dev \ + netcat \ + && (cd /srv/monitor_kraken && pip3 install --no-cache-dir -r requirements.txt && python3 setup.py install) \ + && apt-get purge -y \ + && apt-get purge -y python3-pip \ + && apt-get autoremove -y + + + + +RUN ln -s /usr/local/lib/python*/dist-packages/monitor_kraken/app.py monitor_kraken + +COPY docker/run_kraken_deb11.sh /srv/kraken/run_kraken.sh + +RUN chmod +x /srv/kraken/run_kraken.sh + +COPY ./docker_build/kraken/kraken /usr/bin/kraken +RUN chmod +x /usr/bin/kraken + + +RUN mkdir /libkeepalive +COPY ./docker_build/build_libkeepalive/libkeepalive.so /libkeepalive/. + +# User timeout = 300 + 30 * 6 = 480s +ENV KEEPIDLE=300 +ENV KEEPCNT=6 +ENV KEEPINTVL=30 +# if you are willing to use settings from os, set KEEPALIVE to off +# ENV KEEPALIVE=Off + +ENV KRAKEN_GENERAL_zmq_socket=tcp://0.0.0.0:30000 +ENV KRAKEN_GENERAL_log_level=INFO +HEALTHCHECK CMD nc -z localhost 30000 || exit 1 +EXPOSE 30000 +EXPOSE 5000 + + +ENTRYPOINT ["bash", "/srv/kraken/run_kraken.sh"] diff --git a/docker/run_kraken_deb11.sh b/docker/run_kraken_deb11.sh new file mode 100644 index 0000000000..51a59f0e7c --- /dev/null +++ b/docker/run_kraken_deb11.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +python3 monitor_kraken & LD_PRELOAD=/libkeepalive/libkeepalive.so /usr/bin/kraken diff --git a/source/monitor/monitor_kraken/app.py b/source/monitor/monitor_kraken/app.py index b70b7da0ed..5b22716daf 100644 --- a/source/monitor/monitor_kraken/app.py +++ b/source/monitor/monitor_kraken/app.py @@ -29,7 +29,6 @@ from flask import Flask, request import json -from ConfigParser import ConfigParser import zmq import os @@ -37,6 +36,12 @@ from monitor_kraken import response_pb2 from monitor_kraken import type_pb2 +# TODO : need to clean that after full migration to python3 +try: + import ConfigParser +except: + import configparser as ConfigParser # type: ignore + app = Flask(__name__) # config used in monitor() for several kraken app.config.from_object('monitor_kraken.default_settings') @@ -217,4 +222,4 @@ def request_kraken_zmq_status(zmq_socket, zmq_timeout_in_ms): if __name__ == '__main__': - app.run(host=os.environ.get("MONITOR_HOST", "127.0.0.1")) + app.run(host=os.environ.get("MONITOR_HOST", "0.0.0.0")) From feab81527f6b830cb5e90a9006c65a1c27e52da8 Mon Sep 17 00:00:00 2001 From: Abderrahim AZIME Date: Wed, 28 Aug 2024 17:59:31 +0200 Subject: [PATCH 02/17] Generate Kraken debian11 --- .../docker_build_kraken_debian11.yml | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 .github/workflows/docker_build_kraken_debian11.yml diff --git a/.github/workflows/docker_build_kraken_debian11.yml b/.github/workflows/docker_build_kraken_debian11.yml new file mode 100644 index 0000000000..c60f281d62 --- /dev/null +++ b/.github/workflows/docker_build_kraken_debian11.yml @@ -0,0 +1,84 @@ +name: Build Navitia Dockers + +on: + pull_request: + push: + branches: + - dev + tags: + - '*' + +jobs: + + common_variables: + name: Common variables + runs-on: [self-hosted, kraken, sandbox] + outputs: + RELEASE_TAG: ${{ steps.choose_navitia_tag.outputs.navitia_tag }} + steps: + - name: force chown to avoid errors + run: sudo chown -R $USER:$USER . + + - name: Generate github private access token + id: ci-core-app-token + uses: getsentry/action-github-app-token@v2.0.0 + with: + app_id: ${{ secrets.CI_CORE_APP_ID }} + private_key: ${{ secrets.CI_CORE_APP_PEM }} + + - name: Checkout navitia + id: checkout_navitia + uses: actions/checkout@v3 + with: + token: ${{ steps.ci-core-app-token.outputs.token }} + # we need entire history for tags + fetch-depth: 0 + + - name: Choose navitia tag + id: choose_navitia_tag + run: | + version=$(git describe --tags) + echo "navitia_tag=$version" >> $GITHUB_OUTPUT + + debian11_kraken_image: + runs-on: [self-hosted, kraken, sandbox] + name: Build debian11 kraken image + needs: common_variables + steps: + - name: force chown to avoid errors + run: sudo chown -R $USER:$USER . + + - name: Git config + run: git config --global --add safe.directory /__w/navitia/navitia + + - name: Generate github private access token + id: ci-core-app-token + uses: getsentry/action-github-app-token@v2.0.0 + with: + app_id: ${{ secrets.CI_CORE_APP_ID }} + private_key: ${{ secrets.CI_CORE_APP_PEM }} + + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + token: ${{ steps.ci-core-app-token.outputs.token }} + + - name: Login to Amazon ECR + uses: aws-actions/amazon-ecr-login@v1 + env: + AWS_REGION: eu-west-1 + with: + registries: "162230498103" + + - name: Create builder docker + run: | + docker build -f docker/debian11/Dockerfile-builder-kraken -t navitia/builder . + + - name: Build packages in master docker + # Will build navitia-*.deb packages in current folder + run: docker run -v `pwd`:/navitia/navitia/ navitia/builder + + - name: Create navitia images + run: | + docker build -t navitia/kraken -f docker/debian11/Dockerfile-kraken . From 97db9f5bdc7ceaf9150616590317601b501414f9 Mon Sep 17 00:00:00 2001 From: Abderrahim AZIME Date: Thu, 29 Aug 2024 09:09:11 +0200 Subject: [PATCH 03/17] Install recent version of CMake --- docker/debian11/Dockerfile-builder-kraken | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docker/debian11/Dockerfile-builder-kraken b/docker/debian11/Dockerfile-builder-kraken index da10cc05eb..f53ce4b412 100644 --- a/docker/debian11/Dockerfile-builder-kraken +++ b/docker/debian11/Dockerfile-builder-kraken @@ -7,4 +7,12 @@ RUN git config --global --add safe.directory /navitia/navitia COPY docker/build_kraken_deb11.sh /build_navitia.sh RUN chmod +x /build_navitia.sh +# install a more recent version of CMake +RUN apt-get remove --yes cmake \ + && cd /tmp \ + && wget https://cmake.org/files/v3.18/cmake-3.18.6-Linux-x86_64.tar.gz \ + && tar xf cmake-3.18.6-Linux-x86_64.tar.gz --strip-components=1 --directory=/usr/local \ + && rm -f cmake-3.18.6-Linux-x86_64.tar.gz \ + && cd - + ENTRYPOINT ["bash", "/build_navitia.sh"] From 1832fa8db8d8d8003f27e73a7a90ab092db78af2 Mon Sep 17 00:00:00 2001 From: Abderrahim AZIME Date: Thu, 29 Aug 2024 09:32:47 +0200 Subject: [PATCH 04/17] install wget --- docker/debian11/Dockerfile-builder-kraken | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/debian11/Dockerfile-builder-kraken b/docker/debian11/Dockerfile-builder-kraken index f53ce4b412..7e1ae9371e 100644 --- a/docker/debian11/Dockerfile-builder-kraken +++ b/docker/debian11/Dockerfile-builder-kraken @@ -1,6 +1,6 @@ FROM 162230498103.dkr.ecr.eu-west-1.amazonaws.com/mutable-debian11_dev:latest -RUN apt-get install -y git +RUN apt-get update && apt-get install -y git wget RUN git config --global --add safe.directory /navitia/navitia From 2241aa9728daabc1f8ed709a75ae6c4449f9464d Mon Sep 17 00:00:00 2001 From: Abderrahim AZIME Date: Thu, 29 Aug 2024 10:07:26 +0200 Subject: [PATCH 05/17] corrections --- .github/workflows/docker_build_kraken_debian11.yml | 5 ++--- docker/build_kraken_deb11.sh | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker_build_kraken_debian11.yml b/.github/workflows/docker_build_kraken_debian11.yml index c60f281d62..f77fbf6bba 100644 --- a/.github/workflows/docker_build_kraken_debian11.yml +++ b/.github/workflows/docker_build_kraken_debian11.yml @@ -75,10 +75,9 @@ jobs: run: | docker build -f docker/debian11/Dockerfile-builder-kraken -t navitia/builder . - - name: Build packages in master docker - # Will build navitia-*.deb packages in current folder + - name: Build Kraken run: docker run -v `pwd`:/navitia/navitia/ navitia/builder - - name: Create navitia images + - name: Create Kraken image run: | docker build -t navitia/kraken -f docker/debian11/Dockerfile-kraken . diff --git a/docker/build_kraken_deb11.sh b/docker/build_kraken_deb11.sh index 6d7e6e431b..db7a4de2f1 100644 --- a/docker/build_kraken_deb11.sh +++ b/docker/build_kraken_deb11.sh @@ -3,8 +3,8 @@ cd /navitia/navitia/ mkdir -p docker_build && cd docker_build cmake -DCMAKE_BUILD_TYPE=Release ../source -(cd jormungandr && make -j$(($(grep -c '^processor' /proc/cpuinfo)+1))) -make -j$(($(grep -c '^processor' /proc/cpuinfo)+1)) kraken +# (cd jormungandr && make -j$(($(grep -c '^processor' /proc/cpuinfo) + 1))) +make -j$(($(grep -c '^processor' /proc/cpuinfo) + 1)) # kraken # Build libkeepalive https://libkeepalive.sourceforge.net/ # libkeepalive is a library to keep tcp connection alive. The reason of doing so is that aws LoadBalancer, to which From 67ebae4c41ba98aa0822fa579b78e5aeb512f1cc Mon Sep 17 00:00:00 2001 From: Abderrahim AZIME Date: Thu, 29 Aug 2024 12:16:08 +0200 Subject: [PATCH 06/17] build kraken only --- docker/build_kraken_deb11.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/build_kraken_deb11.sh b/docker/build_kraken_deb11.sh index db7a4de2f1..e04e2a7926 100644 --- a/docker/build_kraken_deb11.sh +++ b/docker/build_kraken_deb11.sh @@ -3,8 +3,8 @@ cd /navitia/navitia/ mkdir -p docker_build && cd docker_build cmake -DCMAKE_BUILD_TYPE=Release ../source -# (cd jormungandr && make -j$(($(grep -c '^processor' /proc/cpuinfo) + 1))) -make -j$(($(grep -c '^processor' /proc/cpuinfo) + 1)) # kraken +make -j$(($(grep -c '^processor' /proc/cpuinfo)+1)) protobuf_files +make -j$(($(grep -c '^processor' /proc/cpuinfo) + 1)) kraken # Build libkeepalive https://libkeepalive.sourceforge.net/ # libkeepalive is a library to keep tcp connection alive. The reason of doing so is that aws LoadBalancer, to which From 27a72cdb1fca2767158d914f01103fc946d7c08b Mon Sep 17 00:00:00 2001 From: Abderrahim AZIME Date: Thu, 29 Aug 2024 17:59:30 +0200 Subject: [PATCH 07/17] corrections --- .github/workflows/dockers_builder.yml | 9 --------- docker/build_kraken_deb11.sh | 2 +- docker/debian11/Dockerfile-builder-kraken | 8 -------- source/kraken/CMakeLists.txt | 2 +- 4 files changed, 2 insertions(+), 19 deletions(-) diff --git a/.github/workflows/dockers_builder.yml b/.github/workflows/dockers_builder.yml index 49466b09b1..976c29fc46 100644 --- a/.github/workflows/dockers_builder.yml +++ b/.github/workflows/dockers_builder.yml @@ -8,7 +8,6 @@ on: - '*' env: - front_debian8_components: 'tyr-web instances-configurator' backend_debian8_components: 'kraken tyr-beat tyr-worker mock-kraken eitri' @@ -17,7 +16,6 @@ env: PRD_ECR_REGISTRY: "162230498103.dkr.ecr.eu-west-1.amazonaws.com" jobs: - common_variables: name: Common variables runs-on: [self-hosted, corefront, sandbox] @@ -232,9 +230,6 @@ jobs: docker tag navitia/tyr-worker ${tyr_worker_tag} docker push ${tyr_worker_tag} - - - - name: failure notification if: failure() run: | @@ -273,7 +268,6 @@ jobs: submodules: recursive token: ${{ steps.ci-core-app-token.outputs.token }} - - name: Login to Amazon ECR uses: aws-actions/amazon-ecr-login@v1 env: @@ -331,13 +325,11 @@ jobs: rm -rf ./.??* - publish_aws: runs-on: [self-hosted, corefront, sandbox] name: Aws Dispatch (Dev) needs: [debian8_front_images, debian8_back_images, debian11_images, common_variables] steps: - - name: Generate token for aws images id: app-token uses: getsentry/action-github-app-token@v2.0.0 @@ -363,7 +355,6 @@ jobs: event-type: build-trigger client-payload: '{"branch": "release", "tag": "${{ needs.common_variables.outputs.RELEASE_TAG }}"}' - - name: failure notification if: failure() run: | diff --git a/docker/build_kraken_deb11.sh b/docker/build_kraken_deb11.sh index e04e2a7926..97837590e8 100644 --- a/docker/build_kraken_deb11.sh +++ b/docker/build_kraken_deb11.sh @@ -4,7 +4,7 @@ cd /navitia/navitia/ mkdir -p docker_build && cd docker_build cmake -DCMAKE_BUILD_TYPE=Release ../source make -j$(($(grep -c '^processor' /proc/cpuinfo)+1)) protobuf_files -make -j$(($(grep -c '^processor' /proc/cpuinfo) + 1)) kraken +make -j$(($(grep -c '^processor' /proc/cpuinfo)+1)) kraken # Build libkeepalive https://libkeepalive.sourceforge.net/ # libkeepalive is a library to keep tcp connection alive. The reason of doing so is that aws LoadBalancer, to which diff --git a/docker/debian11/Dockerfile-builder-kraken b/docker/debian11/Dockerfile-builder-kraken index 7e1ae9371e..957817b3e8 100644 --- a/docker/debian11/Dockerfile-builder-kraken +++ b/docker/debian11/Dockerfile-builder-kraken @@ -7,12 +7,4 @@ RUN git config --global --add safe.directory /navitia/navitia COPY docker/build_kraken_deb11.sh /build_navitia.sh RUN chmod +x /build_navitia.sh -# install a more recent version of CMake -RUN apt-get remove --yes cmake \ - && cd /tmp \ - && wget https://cmake.org/files/v3.18/cmake-3.18.6-Linux-x86_64.tar.gz \ - && tar xf cmake-3.18.6-Linux-x86_64.tar.gz --strip-components=1 --directory=/usr/local \ - && rm -f cmake-3.18.6-Linux-x86_64.tar.gz \ - && cd - - ENTRYPOINT ["bash", "/build_navitia.sh"] diff --git a/source/kraken/CMakeLists.txt b/source/kraken/CMakeLists.txt index 6a96920024..09a4b850cb 100644 --- a/source/kraken/CMakeLists.txt +++ b/source/kraken/CMakeLists.txt @@ -36,7 +36,7 @@ target_link_libraries(fill_disruption_from_database add_executable(kraken kraken_zmq.cpp) target_link_libraries(kraken workers ${NAVITIA_ALLOCATOR} ${Boost_THREAD_LIBRARY}) -add_dependencies(kraken protobuf_files) +add_dependencies(kraken protobuf_files prometheus-cpp::pull) install(TARGETS kraken DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) From e3f3322b06a0262659998c610d6c3f2cd895dc3d Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Thu, 26 Sep 2024 14:19:04 +0200 Subject: [PATCH 08/17] test CI: downgrade github app token From 70fa1364f13f88033059b70ffe2817f697ee76e0 Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Thu, 26 Sep 2024 15:48:37 +0200 Subject: [PATCH 09/17] feat: update tyr-web --- docker/debian11/Dockerfile-tyr-web | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docker/debian11/Dockerfile-tyr-web b/docker/debian11/Dockerfile-tyr-web index d55cce6153..8cca255f58 100644 --- a/docker/debian11/Dockerfile-tyr-web +++ b/docker/debian11/Dockerfile-tyr-web @@ -13,7 +13,8 @@ RUN apt-get update --fix-missing \ && update-ca-certificates \ && (cd navitiacommon && python3 setup.py install) \ && (cd tyr && python3 setup.py install && pip3 install --no-cache-dir -U -r requirements.txt)\ - && pip3 install --no-cache-dir uwsgi==2.0.21 \ + && pip3 install --no-cache-dir uwsgi==2.0.22 \ + && pip3 install --no-cache-dir -r /usr/share/tyr/requirements.txt \ && rm -rf navitiacommon tyr \ && chmod +x /usr/src/app/run.sh \ && ln -sf /usr/share/tyr/migrations migrations \ @@ -25,8 +26,15 @@ RUN apt-get update --fix-missing \ && apt-get autoremove -y - # Python 'requests' package handle its own CA certificate list - # Let's force it to use the OS's list - ENV REQUESTS_CA_BUNDLE /etc/ssl/certs +# Python 'requests' package handle its own CA certificate list +# Let's force it to use the OS's list +ENV REQUESTS_CA_BUNDLE /etc/ssl/certs + +RUN cp /usr/bin/manage_tyr.py /usr/src/app/manage_tyr.py + +COPY docker/run_tyr_web.sh /usr/src/app/run.sh +RUN chmod +x /usr/src/app/run.sh + +RUN ln -s /usr/share/tyr/migrations migrations ENTRYPOINT ["bash", "/usr/src/app/run.sh" ] From 30dc566562e2efe12b6f98996c74b1b730eb083d Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Fri, 27 Sep 2024 15:57:17 +0200 Subject: [PATCH 10/17] tests: ci: add tyr-worker --- docker/debian11/Dockerfile-kraken | 6 --- docker/debian11/Dockerfile-tyr-beat | 4 +- docker/debian11/Dockerfile-tyr-web | 1 - docker/debian11/Dockerfile-tyr-worker | 69 +++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 9 deletions(-) create mode 100644 docker/debian11/Dockerfile-tyr-worker diff --git a/docker/debian11/Dockerfile-kraken b/docker/debian11/Dockerfile-kraken index ccf00c2ac6..8712d6f2c7 100644 --- a/docker/debian11/Dockerfile-kraken +++ b/docker/debian11/Dockerfile-kraken @@ -1,9 +1,7 @@ FROM debian:bullseye-slim - WORKDIR /srv/kraken - COPY ./docker/ca-certificates/*.crt /usr/local/share/ca-certificates/ COPY ./source/monitor /srv/monitor_kraken @@ -24,9 +22,6 @@ RUN apt-get update --fix-missing \ && apt-get purge -y python3-pip \ && apt-get autoremove -y - - - RUN ln -s /usr/local/lib/python*/dist-packages/monitor_kraken/app.py monitor_kraken COPY docker/run_kraken_deb11.sh /srv/kraken/run_kraken.sh @@ -36,7 +31,6 @@ RUN chmod +x /srv/kraken/run_kraken.sh COPY ./docker_build/kraken/kraken /usr/bin/kraken RUN chmod +x /usr/bin/kraken - RUN mkdir /libkeepalive COPY ./docker_build/build_libkeepalive/libkeepalive.so /libkeepalive/. diff --git a/docker/debian11/Dockerfile-tyr-beat b/docker/debian11/Dockerfile-tyr-beat index 9ea3a6bf3f..3fb1781529 100644 --- a/docker/debian11/Dockerfile-tyr-beat +++ b/docker/debian11/Dockerfile-tyr-beat @@ -12,7 +12,7 @@ COPY ./source/cities /usr/share/navitia/cities COPY ./docker/templates/* /templates/ RUN apt-get update --fix-missing \ - && apt-get install -y libpq5 python3.9-dev python3-pip git ca-certificates postgresql-client gettext-base jq \ + && apt-get install -y --force-yes libpq5 python3.9-dev python3-pip git ca-certificates postgresql-client gettext-base jq \ && update-ca-certificates \ && (cd navitiacommon && python3 setup.py install) \ && (cd tyr && python3 setup.py install && pip3 install --no-cache-dir -U -r requirements.txt)\ @@ -23,4 +23,4 @@ RUN apt-get update --fix-missing \ git \ && apt-get autoremove -y -ENTRYPOINT ["bash", "/usr/share/tyr/run.sh"] +ENTRYPOINT ["bash", "/run.sh"] diff --git a/docker/debian11/Dockerfile-tyr-web b/docker/debian11/Dockerfile-tyr-web index 8cca255f58..fa31bbaaf5 100644 --- a/docker/debian11/Dockerfile-tyr-web +++ b/docker/debian11/Dockerfile-tyr-web @@ -7,7 +7,6 @@ COPY ./source/tyr ./tyr COPY ./docker/ca-certificates/*.crt /usr/local/share/ca-certificates/ COPY ./docker/run_tyr_web.sh /usr/src/app/run.sh - RUN apt-get update --fix-missing \ && apt-get install -y curl libpq5 python3.9-dev python3-pip git ca-certificates libgeos-c1v5 postgresql-client \ && update-ca-certificates \ diff --git a/docker/debian11/Dockerfile-tyr-worker b/docker/debian11/Dockerfile-tyr-worker new file mode 100644 index 0000000000..18dcaf4340 --- /dev/null +++ b/docker/debian11/Dockerfile-tyr-worker @@ -0,0 +1,69 @@ +FROM debian:bullseye-slim + +# Install some binaries from tartare-tools +ENV TARTARE_TOOLS_VERSION="v0.46.0" +ARG GITHUB_TOKEN +RUN git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/hove-io/".insteadOf "ssh://git@github.com/hove-io/" +RUN git clone -b ${TARTARE_TOOLS_VERSION} --depth 1 https://x-access-token:${GITHUB_TOKEN}@github.com/hove-io/tartare-tools + +# rustc 1.80.0 broke the compilation +RUN rustup install 1.79.0 + +RUN cd tartare-tools \ + && cargo +1.79.0 build --release -p enrich-ntfs-with-addresses \ + && cargo +1.79.0 build --release -p split-trip-geometries \ + && cp target/release/enrich-ntfs-with-addresses /usr/bin/ \ + && cp target/release/split-trip-geometries /usr/bin/ \ + && cd .. \ + && rm -rf tartare-tools + +COPY navitia-common_*deb navitia-tyr_*.deb navitia-ed_*.deb navitia-cities_*.deb mimirsbrunn7_jessie-*.deb cosmogony2cities_*.deb mimirsbrunn-config-*.deb ./ + +# install navitia-common package +RUN dpkg -i ./navitia-common_*.deb || exit 0 + +# install navitia-tyr package +RUN dpkg -i ./navitia-tyr_*.deb || exit 0 + +# install navitia-ed package +RUN dpkg -i ./navitia-ed_*.deb || exit 0 + +# install navitia-cities package +RUN dpkg -i ./navitia-cities_*.deb || exit 0 + +# install navitia-mimirsbrunn package +RUN dpkg -i ./mimirsbrunn7_jessie-*.deb \ + # install cosmogony2cities package + ./cosmogony2cities*.deb \ + # install conf mimir package + ./mimirsbrunn-config-*.deb + +RUN apt-get install -f -y --force-yes + +RUN rm navitia-common_*deb \ + navitia-tyr_*.deb \ + navitia-cities_*.deb \ + navitia-ed_*.deb \ + mimirsbrunn-config-*.deb \ + mimirsbrunn7_jessie-*.deb \ + cosmogony2cities_*.deb + +# install tyr requirements +RUN pip install --no-cache-dir -r /usr/share/tyr/requirements.txt + +RUN apt install -y --force-yes unzip +RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" +RUN unzip awscliv2.zip +RUN ./aws/install + + +EXPOSE 5000 + + +WORKDIR /usr/src/app/ +RUN cp /usr/bin/manage_tyr.py /usr/src/app/manage_tyr.py + +# TODO change the user to remove this ugly C_FORCE_ROOT +ENV C_FORCE_ROOT=1 +ENV TYR_WORKER_N_PROC=1 +ENTRYPOINT ["celery", "worker", "-A", "tyr.tasks", "-O", "fair"] From fc7e3b188aab6735fc001bb23d60dc8e54c2b251 Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Mon, 30 Sep 2024 15:16:50 +0200 Subject: [PATCH 11/17] test: CI: complete dockers_builder.yml --- .github/workflows/build_dockers_debian11.yml | 1 - ...yml => docker_builder_kraken_debian11.yml} | 1 - .github/workflows/dockers_builder.yml | 136 ++++++++++++++---- .github/workflows/workflow.yml | 8 -- docker/debian11/Dockerfile-master | 41 ++++++ 5 files changed, 153 insertions(+), 34 deletions(-) rename .github/workflows/{docker_build_kraken_debian11.yml => docker_builder_kraken_debian11.yml} (99%) create mode 100644 docker/debian11/Dockerfile-master diff --git a/.github/workflows/build_dockers_debian11.yml b/.github/workflows/build_dockers_debian11.yml index 2508471bac..14e492d9cf 100644 --- a/.github/workflows/build_dockers_debian11.yml +++ b/.github/workflows/build_dockers_debian11.yml @@ -10,7 +10,6 @@ env: debian_version: debian11 jobs: - build_navitia_arm64: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/docker_build_kraken_debian11.yml b/.github/workflows/docker_builder_kraken_debian11.yml similarity index 99% rename from .github/workflows/docker_build_kraken_debian11.yml rename to .github/workflows/docker_builder_kraken_debian11.yml index f77fbf6bba..1bfc70df81 100644 --- a/.github/workflows/docker_build_kraken_debian11.yml +++ b/.github/workflows/docker_builder_kraken_debian11.yml @@ -9,7 +9,6 @@ on: - '*' jobs: - common_variables: name: Common variables runs-on: [self-hosted, kraken, sandbox] diff --git a/.github/workflows/dockers_builder.yml b/.github/workflows/dockers_builder.yml index 976c29fc46..8e92dbc3df 100644 --- a/.github/workflows/dockers_builder.yml +++ b/.github/workflows/dockers_builder.yml @@ -8,8 +8,9 @@ on: - '*' env: - front_debian8_components: 'tyr-web instances-configurator' - backend_debian8_components: 'kraken tyr-beat tyr-worker mock-kraken eitri' + front_components: 'tyr-web instances-configurator' + backend_components: 'kraken tyr-beat tyr-worker mock-kraken eitri' + backend_core_components: 'jormungandr kraken tyr-beat tyr-worker' SBX_ECR_REGISTRY_BACKEND: "110444322584.dkr.ecr.eu-west-1.amazonaws.com" SBX_ECR_REGISTRY_FRONT: "051314639660.dkr.ecr.eu-west-1.amazonaws.com" @@ -24,14 +25,12 @@ jobs: steps: - name: force chown to avoid errors run: sudo chown -R $USER:$USER . - - name: Generate github private access token id: ci-core-app-token uses: getsentry/action-github-app-token@v2.0.0 with: app_id: ${{ secrets.CI_CORE_APP_ID }} private_key: ${{ secrets.CI_CORE_APP_PEM }} - - name: Checkout navitia id: checkout_navitia uses: actions/checkout@v3 @@ -39,13 +38,11 @@ jobs: token: ${{ steps.ci-core-app-token.outputs.token }} # we need entire history for tags fetch-depth: 0 - - name: Choose navitia tag id: choose_navitia_tag run: | version=$(git describe --tags) echo "navitia_tag=$version" >> $GITHUB_OUTPUT - - name: failure notification if: failure() run: | @@ -53,9 +50,9 @@ jobs: echo '{"text":":warning: Github Actions: workflow dockers_builder common_variables failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} - debian11_images: + debian11_back_images: runs-on: [self-hosted, corefront, sandbox] - name: Build debian11 images + name: Build debian11 backend images needs: common_variables steps: - name: force chown to avoid errors @@ -84,35 +81,49 @@ jobs: with: # 162230498103 : shared # 051314639660 : corefront sbx - registries: "162230498103,051314639660" + # 110444322584 : kraken sbx + registries: "162230498103,110444322584,051314639660" - - name: Create builder docker + - name: Create master&builder docker run: | + docker build -f docker/debian11/Dockerfile-master -t navitia/master_debian11 . docker build -f docker/debian11/Dockerfile-builder -t navitia/builder_debian11 . - - name: Build navitia + - name: Build packages in master docker run: | docker run -v `pwd`:/navitia/navitia/ navitia/builder_debian11 - name: Create navitia images - run: | - echo "********* Building Jormungandr ***************" - docker build -t navitia/jormungandr_debian11 -f docker/debian11/Dockerfile-jormungandr . + run: | + for component in ${{env.backend_core_components}}; do + echo "********* Building $component ***************" + docker build -t navitia/$component --build-arg GITHUB_TOKEN=${{ steps.ci-core-app-token.outputs.token }} -f docker/debian11/Dockerfile-${component} . + done - - name: Push jormun dev image on SBX ECR + - name: Push dev images on SBX ECR if: github.ref == 'refs/heads/dev' run: | jormun_tag=${SBX_ECR_REGISTRY_FRONT}/jormungandr:no_config_dev docker tag navitia/jormungandr_debian11 ${jormun_tag} docker push ${jormun_tag} - - name: Push jormun release image on SBX ECR + - name: Push release images on PRD ECR if: startsWith(github.ref, 'refs/tags/') run: | - jormun_tag=${SBX_ECR_REGISTRY_FRONT}/jormungandr:no_config_${{ needs.common_variables.outputs.RELEASE_TAG }} - docker tag navitia/jormungandr_debian11 ${jormun_tag} - docker push ${jormun_tag} + # Kraken + kraken_tag=${PRD_ECR_REGISTRY}/navitia-debian11-kraken-kraken:${{ needs.common_variables.outputs.RELEASE_TAG }} + docker tag navitia/kraken ${kraken_tag} + docker push ${kraken_tag} + + # Tyr-beat + tyr_beat_tag=${PRD_ECR_REGISTRY}/navitia-debian11-tyr-tyrbeat:${{ needs.common_variables.outputs.RELEASE_TAG }} + docker tag navitia/tyr-beat ${tyr_beat_tag} + docker push ${tyr_beat_tag} + # Tyr-worker + tyr_worker_tag=${PRD_ECR_REGISTRY}/navitia-debian11-tyr-tyrworker:${{ needs.common_variables.outputs.RELEASE_TAG }} + docker tag navitia/tyr-worker ${tyr_worker_tag} + docker push ${tyr_worker_tag} - name: failure notification if: failure() @@ -127,6 +138,84 @@ jobs: rm -rf ./* rm -rf ./.??* + + debian11_front_images: + runs-on: [self-hosted, corefront, sandbox] + name: Build debian11 front images + needs: common_variables + steps: + - name: force chown to avoid errors + run: sudo chown -R $USER:$USER . + + - name: Git config + run: git config --global --add safe.directory /__w/navitia/navitia + + - name: Generate github private access token + id: ci-core-app-token + uses: getsentry/action-github-app-token@v2.0.0 + with: + app_id: ${{ secrets.CI_CORE_APP_ID }} + private_key: ${{ secrets.CI_CORE_APP_PEM }} + + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + token: ${{ steps.ci-core-app-token.outputs.token }} + + - name: Login to Amazon ECR + uses: aws-actions/amazon-ecr-login@v1 + env: + AWS_REGION: eu-west-1 + with: + # 162230498103 : shared + # 051314639660 : corefront sbx + # 110444322584 : kraken sbx + registries: "162230498103,110444322584,051314639660" + + - name: Create master&builder docker + run: | + docker build -f docker/debian11/Dockerfile-master -t navitia/master_debian11 . + docker build -f docker/debian11/Dockerfile-builder -t navitia/builder_debian11 . + + - name: Build packages in master docker + run: | + docker run -v `pwd`:/navitia/navitia/ navitia/builder_debian11 + + - name: Create navitia images + run: | + echo "********* Building Tyr Web ***************" + docker build -t navitia/$component --build-arg GITHUB_TOKEN=${{ steps.ci-core-app-token.outputs.token }} -f docker/debian11/Dockerfile-tyr-web . + + - name: Push dev images on SBX ECR + if: github.ref == 'refs/heads/dev' + run: | + component_tag=${SBX_ECR_REGISTRY_FRONT}/tyr-web:dev + docker tag navitia/tyr-web${component_tag} + docker push ${component_tag} + + - name: Push release images on PRD ECR + if: startsWith(github.ref, 'refs/tags/') + run: | + # Tyr-web + tyr_web_tag=${PRD_ECR_REGISTRY}/navitia-tyr-web-tyr-web:${{ needs.common_variables.outputs.RELEASE_TAG }} + docker tag navitia/tyr-web ${tyr_web_tag} + docker push ${tyr_web_tag} + + - name: failure notification + if: failure() + run: | + echo '{"text":":warning: Github Actions: workflow dockers_builder debian11_images failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} + + - name: clean up workspace + if: ${{ always() }} + run: | + # some files are created by a docker container + sudo chown -R $USER:$USER . + rm -rf ./* + rm -rf ./.??* + + debian8_back_images: runs-on: [self-hosted, kraken, sandbox] name: Build debian8 back images @@ -198,7 +287,7 @@ jobs: - name: Create navitia images run: | - for component in ${{env.backend_debian8_components}}; do + for component in ${{env.backend_components}}; do echo "********* Building $component ***************" docker build -t navitia/$component --build-arg GITHUB_TOKEN=${{ steps.ci-core-app-token.outputs.token }} -f docker/debian8/Dockerfile-${component} . done @@ -206,7 +295,7 @@ jobs: - name: Push dev images on SBX ECR if: github.ref == 'refs/heads/dev' run: | - for component in ${{env.backend_debian8_components}}; do + for component in ${{env.backend_components}}; do component_tag=${SBX_ECR_REGISTRY_BACKEND}/${component}:dev docker tag navitia/$component ${component_tag} docker push ${component_tag} @@ -288,7 +377,7 @@ jobs: - name: Create navitia images run: | - for component in ${{env.front_debian8_components}}; do + for component in ${{env.front_components}}; do echo "********* Building $component ***************" docker build -t navitia/$component -f docker/debian8/Dockerfile-${component} . done @@ -296,7 +385,7 @@ jobs: - name: Push dev images on SBX ECR if: github.ref == 'refs/heads/dev' run: | - for component in ${{env.front_debian8_components}}; do + for component in ${{env.front_components}}; do component_tag=${SBX_ECR_REGISTRY_FRONT}/${component}:dev docker tag navitia/$component ${component_tag} docker push ${component_tag} @@ -368,7 +457,6 @@ jobs: name: Run artemis Dispatch (Dev) if: github.ref == 'refs/heads/dev' steps: - - name: Generate github private access token id: ci-core-app-token uses: getsentry/action-github-app-token@v2.0.0 diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index fc5013464a..6fbe971ce0 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -13,7 +13,6 @@ env: REGION: eu-west-1 jobs: - credentials: name: Init credentials runs-on: [self-hosted, corefront, sandbox] @@ -118,19 +117,16 @@ jobs: fail-fast: false matrix: os: [{docker_image: mutable-debian8_dev , python_version: python3.6}, {docker_image: mutable-debian11_dev, python_version: python3.9}] - container: image: 162230498103.dkr.ecr.eu-west-1.amazonaws.com/${{ matrix.os.docker_image }}:latest credentials: username: AWS password: ${{ needs.credentials.outputs.aws_token }} - services: rabbitmq: image: rabbitmq:3-alpine ports: - 5672:5672 - redis: image: redis:6-alpine ports: @@ -146,7 +142,6 @@ jobs: with: app_id: ${{ secrets.CI_CORE_APP_ID }} private_key: ${{ secrets.CI_CORE_APP_PEM }} - - uses: actions/checkout@v3 with: submodules: recursive @@ -200,7 +195,6 @@ jobs: NAVITIA_DOCKER_NETWORK: ${{ job.container.network }} TYR_CELERY_BROKER_URL: 'amqp://guest:guest@rabbitmq:5672//' TYR_REDIS_HOST: 'redis' - - name: docker_test python3 working-directory: ./build run: | @@ -212,12 +206,10 @@ jobs: make docker_test deactivate rm -rf navitia_py3 - env: NAVITIA_DOCKER_NETWORK: ${{ job.container.network }} TYR_CELERY_BROKER_URL: 'amqp://guest:guest@rabbitmq:5672//' TYR_REDIS_HOST: 'redis' - - name: clean up workspace if: ${{ always() }} run: | diff --git a/docker/debian11/Dockerfile-master b/docker/debian11/Dockerfile-master new file mode 100644 index 0000000000..cb50d5735b --- /dev/null +++ b/docker/debian11/Dockerfile-master @@ -0,0 +1,41 @@ +FROM 162230498103.dkr.ecr.eu-west-1.amazonaws.com/mutable-debian11_dev:latest + +RUN echo "deb http://archive.debian.org/debian/ bullseye main" > /etc/apt/sources.list.d/archive.list + +# update package list from providers +RUN apt-get update --force-yes --fix-missing || exit 0 + +# install postgresql-client for tyr-beat +# netcat for kraken +# curl for jormun +RUN apt-get install -y --force-yes ca-certificates \ + postgresql-client \ + netcat \ + dh-python \ + curl + +COPY docker/ca-certificates/*.crt /usr/local/share/ca-certificates/ +RUN update-ca-certificates + +# install a more recent version of CMake +RUN apt-get remove --yes cmake \ + && cd /tmp \ + && wget https://cmake.org/files/v3.18/cmake-3.18.6-Linux-x86_64.tar.gz \ + && tar xf cmake-3.18.6-Linux-x86_64.tar.gz --strip-components=1 --directory=/usr/local \ + && rm -f cmake-3.18.6-Linux-x86_64.tar.gz \ + && cd - + +# Python 'requests' package handle its own CA certificate list +# Let's force it to use the OS's list +ENV REQUESTS_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt + +# install rustup +ENV RUSTUP_HOME=/usr/local/rustup \ + CARGO_HOME=/usr/local/cargo + +ENV PATH=/usr/local/cargo/bin:${PATH} +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal \ + && chmod -R a+wrX ${RUSTUP_HOME} ${CARGO_HOME} \ + && rustup --version \ + && cargo --version \ + && rustc --version From 23641ad7233c8e583accbed652b1114e7d90e601 Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Tue, 1 Oct 2024 16:12:59 +0200 Subject: [PATCH 12/17] fix: add PR to build all Dockers --- .../docker_builder_kraken_debian11.yml | 138 +++++++++--------- .github/workflows/dockers_builder.yml | 81 +++++----- .github/workflows/workflow.yml | 1 + docker/debian11/Dockerfile-master | 3 +- docker/debian11/Dockerfile-tyr-web | 2 +- docker/debian11/Dockerfile-tyr-worker | 7 + docker/debian8/Dockerfile-master | 3 +- 7 files changed, 123 insertions(+), 112 deletions(-) diff --git a/.github/workflows/docker_builder_kraken_debian11.yml b/.github/workflows/docker_builder_kraken_debian11.yml index 1bfc70df81..8800427d1c 100644 --- a/.github/workflows/docker_builder_kraken_debian11.yml +++ b/.github/workflows/docker_builder_kraken_debian11.yml @@ -1,82 +1,82 @@ -name: Build Navitia Dockers +# name: Build Navitia Dockers -on: - pull_request: - push: - branches: - - dev - tags: - - '*' +# on: +# pull_request: +# push: +# branches: +# - dev +# tags: +# - '*' -jobs: - common_variables: - name: Common variables - runs-on: [self-hosted, kraken, sandbox] - outputs: - RELEASE_TAG: ${{ steps.choose_navitia_tag.outputs.navitia_tag }} - steps: - - name: force chown to avoid errors - run: sudo chown -R $USER:$USER . +# jobs: +# common_variables: +# name: Common variables +# runs-on: [self-hosted, kraken, sandbox] +# outputs: +# RELEASE_TAG: ${{ steps.choose_navitia_tag.outputs.navitia_tag }} +# steps: +# - name: force chown to avoid errors +# run: sudo chown -R $USER:$USER . - - name: Generate github private access token - id: ci-core-app-token - uses: getsentry/action-github-app-token@v2.0.0 - with: - app_id: ${{ secrets.CI_CORE_APP_ID }} - private_key: ${{ secrets.CI_CORE_APP_PEM }} +# - name: Generate github private access token +# id: ci-core-app-token +# uses: getsentry/action-github-app-token@v2.0.0 +# with: +# app_id: ${{ secrets.CI_CORE_APP_ID }} +# private_key: ${{ secrets.CI_CORE_APP_PEM }} - - name: Checkout navitia - id: checkout_navitia - uses: actions/checkout@v3 - with: - token: ${{ steps.ci-core-app-token.outputs.token }} - # we need entire history for tags - fetch-depth: 0 +# - name: Checkout navitia +# id: checkout_navitia +# uses: actions/checkout@v3 +# with: +# token: ${{ steps.ci-core-app-token.outputs.token }} +# # we need entire history for tags +# fetch-depth: 0 - - name: Choose navitia tag - id: choose_navitia_tag - run: | - version=$(git describe --tags) - echo "navitia_tag=$version" >> $GITHUB_OUTPUT +# - name: Choose navitia tag +# id: choose_navitia_tag +# run: | +# version=$(git describe --tags) +# echo "navitia_tag=$version" >> $GITHUB_OUTPUT - debian11_kraken_image: - runs-on: [self-hosted, kraken, sandbox] - name: Build debian11 kraken image - needs: common_variables - steps: - - name: force chown to avoid errors - run: sudo chown -R $USER:$USER . +# debian11_kraken_image: +# runs-on: [self-hosted, kraken, sandbox] +# name: Build debian11 kraken image +# needs: common_variables +# steps: +# - name: force chown to avoid errors +# run: sudo chown -R $USER:$USER . - - name: Git config - run: git config --global --add safe.directory /__w/navitia/navitia +# - name: Git config +# run: git config --global --add safe.directory /__w/navitia/navitia - - name: Generate github private access token - id: ci-core-app-token - uses: getsentry/action-github-app-token@v2.0.0 - with: - app_id: ${{ secrets.CI_CORE_APP_ID }} - private_key: ${{ secrets.CI_CORE_APP_PEM }} +# - name: Generate github private access token +# id: ci-core-app-token +# uses: getsentry/action-github-app-token@v2.0.0 +# with: +# app_id: ${{ secrets.CI_CORE_APP_ID }} +# private_key: ${{ secrets.CI_CORE_APP_PEM }} - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: recursive - token: ${{ steps.ci-core-app-token.outputs.token }} +# - name: Checkout +# uses: actions/checkout@v3 +# with: +# submodules: recursive +# token: ${{ steps.ci-core-app-token.outputs.token }} - - name: Login to Amazon ECR - uses: aws-actions/amazon-ecr-login@v1 - env: - AWS_REGION: eu-west-1 - with: - registries: "162230498103" +# - name: Login to Amazon ECR +# uses: aws-actions/amazon-ecr-login@v1 +# env: +# AWS_REGION: eu-west-1 +# with: +# registries: "162230498103" - - name: Create builder docker - run: | - docker build -f docker/debian11/Dockerfile-builder-kraken -t navitia/builder . +# - name: Create builder docker +# run: | +# docker build -f docker/debian11/Dockerfile-builder-kraken -t navitia/builder . - - name: Build Kraken - run: docker run -v `pwd`:/navitia/navitia/ navitia/builder +# - name: Build Kraken +# run: docker run -v `pwd`:/navitia/navitia/ navitia/builder - - name: Create Kraken image - run: | - docker build -t navitia/kraken -f docker/debian11/Dockerfile-kraken . +# - name: Create Kraken image +# run: | +# docker build -t navitia/kraken -f docker/debian11/Dockerfile-kraken . diff --git a/.github/workflows/dockers_builder.yml b/.github/workflows/dockers_builder.yml index 8e92dbc3df..f664b1fdbf 100644 --- a/.github/workflows/dockers_builder.yml +++ b/.github/workflows/dockers_builder.yml @@ -1,6 +1,7 @@ name: Build Navitia Dockers on: + pull_request: push: branches: - dev @@ -12,8 +13,8 @@ env: backend_components: 'kraken tyr-beat tyr-worker mock-kraken eitri' backend_core_components: 'jormungandr kraken tyr-beat tyr-worker' - SBX_ECR_REGISTRY_BACKEND: "110444322584.dkr.ecr.eu-west-1.amazonaws.com" - SBX_ECR_REGISTRY_FRONT: "051314639660.dkr.ecr.eu-west-1.amazonaws.com" + SBX_ECR_REGISTRY_BACKEND: "110444322584.dkr.ecr.eu-west-1.amazonaws.com" # navitia-kraken-sandbox + SBX_ECR_REGISTRY_FRONT: "051314639660.dkr.ecr.eu-west-1.amazonaws.com" # navitia-corefront-sandbox PRD_ECR_REGISTRY: "162230498103.dkr.ecr.eu-west-1.amazonaws.com" jobs: @@ -87,7 +88,7 @@ jobs: - name: Create master&builder docker run: | docker build -f docker/debian11/Dockerfile-master -t navitia/master_debian11 . - docker build -f docker/debian11/Dockerfile-builder -t navitia/builder_debian11 . + docker build -f docker/debian11/Dockerfile-builder-kraken -t navitia/builder_debian11 . - name: Build packages in master docker run: | @@ -185,7 +186,7 @@ jobs: - name: Create navitia images run: | echo "********* Building Tyr Web ***************" - docker build -t navitia/$component --build-arg GITHUB_TOKEN=${{ steps.ci-core-app-token.outputs.token }} -f docker/debian11/Dockerfile-tyr-web . + docker build -t navitia/tyr-web --build-arg GITHUB_TOKEN=${{ steps.ci-core-app-token.outputs.token }} -f docker/debian11/Dockerfile-tyr-web . - name: Push dev images on SBX ECR if: github.ref == 'refs/heads/dev' @@ -414,46 +415,46 @@ jobs: rm -rf ./.??* - publish_aws: - runs-on: [self-hosted, corefront, sandbox] - name: Aws Dispatch (Dev) - needs: [debian8_front_images, debian8_back_images, debian11_images, common_variables] - steps: - - name: Generate token for aws images - id: app-token - uses: getsentry/action-github-app-token@v2.0.0 - with: - app_id: ${{ secrets.GA_OS_WORKFLOW_TRIGGER_APP_ID }} - private_key: ${{ secrets.GA_OS_WORKFLOW_TRIGGER_APP_PEM }} - - - name: Aws Dispatch Frontend for dev - if: github.ref == 'refs/heads/dev' - uses: peter-evans/repository-dispatch@v2 - with: - token: ${{ steps.app-token.outputs.token }} - repository: hove-io/corefront-aws-assets - event-type: build-trigger - client-payload: '{"branch": "dev", "tag": "dev"}' - - - name: Aws Dispatch Frontend for release - if: startsWith(github.ref, 'refs/tags/') - uses: peter-evans/repository-dispatch@v2 - with: - token: ${{ steps.app-token.outputs.token }} - repository: hove-io/corefront-aws-assets - event-type: build-trigger - client-payload: '{"branch": "release", "tag": "${{ needs.common_variables.outputs.RELEASE_TAG }}"}' - - - name: failure notification - if: failure() - run: | - sudo apt update && sudo apt install -y httpie - echo '{"text":":warning: Github Actions: dockers_builder the job publish_aws failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} + # publish_aws: + # runs-on: [self-hosted, corefront, sandbox] + # name: Aws Dispatch (Dev) + # needs: [debian8_front_images, debian8_back_images, debian11_images, common_variables] + # steps: + # - name: Generate token for aws images + # id: app-token + # uses: getsentry/action-github-app-token@v2.0.0 + # with: + # app_id: ${{ secrets.GA_OS_WORKFLOW_TRIGGER_APP_ID }} + # private_key: ${{ secrets.GA_OS_WORKFLOW_TRIGGER_APP_PEM }} + + # - name: Aws Dispatch Frontend for dev + # if: github.ref == 'refs/heads/dev' + # uses: peter-evans/repository-dispatch@v2 + # with: + # token: ${{ steps.app-token.outputs.token }} + # repository: hove-io/corefront-aws-assets + # event-type: build-trigger + # client-payload: '{"branch": "dev", "tag": "dev"}' + + # - name: Aws Dispatch Frontend for release + # if: startsWith(github.ref, 'refs/tags/') + # uses: peter-evans/repository-dispatch@v2 + # with: + # token: ${{ steps.app-token.outputs.token }} + # repository: hove-io/corefront-aws-assets + # event-type: build-trigger + # client-payload: '{"branch": "release", "tag": "${{ needs.common_variables.outputs.RELEASE_TAG }}"}' + + # - name: failure notification + # if: failure() + # run: | + # sudo apt update && sudo apt install -y httpie + # echo '{"text":":warning: Github Actions: dockers_builder the job publish_aws failed !"}' | http --json POST ${{secrets.SLACK_NAVITIA_TEAM_URL}} run_artemis: runs-on: [self-hosted, corefront, sandbox] - needs: [publish_aws] + needs: [debian11_back_images, debian11_front_images] name: Run artemis Dispatch (Dev) if: github.ref == 'refs/heads/dev' steps: diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 6fbe971ce0..0bdbb17637 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -156,6 +156,7 @@ jobs: if: ${{ matrix.os.docker_image == 'mutable-debian8_dev'}} run: | apt remove --yes cmake + apt install wget -y mkdir local_bin cd local_bin wget https://cmake.org/files/v3.18/cmake-3.18.6-Linux-x86_64.tar.gz diff --git a/docker/debian11/Dockerfile-master b/docker/debian11/Dockerfile-master index cb50d5735b..9b8eab2ba9 100644 --- a/docker/debian11/Dockerfile-master +++ b/docker/debian11/Dockerfile-master @@ -12,7 +12,8 @@ RUN apt-get install -y --force-yes ca-certificates \ postgresql-client \ netcat \ dh-python \ - curl + curl \ + wget COPY docker/ca-certificates/*.crt /usr/local/share/ca-certificates/ RUN update-ca-certificates diff --git a/docker/debian11/Dockerfile-tyr-web b/docker/debian11/Dockerfile-tyr-web index fa31bbaaf5..335180fd0c 100644 --- a/docker/debian11/Dockerfile-tyr-web +++ b/docker/debian11/Dockerfile-tyr-web @@ -29,7 +29,7 @@ RUN apt-get update --fix-missing \ # Let's force it to use the OS's list ENV REQUESTS_CA_BUNDLE /etc/ssl/certs -RUN cp /usr/bin/manage_tyr.py /usr/src/app/manage_tyr.py +RUN cp /usr/src/app/tyr/manage_tyr.py /usr/src/app/manage_tyr.py COPY docker/run_tyr_web.sh /usr/src/app/run.sh RUN chmod +x /usr/src/app/run.sh diff --git a/docker/debian11/Dockerfile-tyr-worker b/docker/debian11/Dockerfile-tyr-worker index 18dcaf4340..9fdbf49684 100644 --- a/docker/debian11/Dockerfile-tyr-worker +++ b/docker/debian11/Dockerfile-tyr-worker @@ -1,11 +1,18 @@ FROM debian:bullseye-slim +RUN apt-get update \ + && apt install -y python git libgeos-c1v5 libpq5 curl + +RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py +RUN python2 get-pip.py + # Install some binaries from tartare-tools ENV TARTARE_TOOLS_VERSION="v0.46.0" ARG GITHUB_TOKEN RUN git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/hove-io/".insteadOf "ssh://git@github.com/hove-io/" RUN git clone -b ${TARTARE_TOOLS_VERSION} --depth 1 https://x-access-token:${GITHUB_TOKEN}@github.com/hove-io/tartare-tools +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # rustc 1.80.0 broke the compilation RUN rustup install 1.79.0 diff --git a/docker/debian8/Dockerfile-master b/docker/debian8/Dockerfile-master index d628fdac3e..97772eaa96 100755 --- a/docker/debian8/Dockerfile-master +++ b/docker/debian8/Dockerfile-master @@ -12,7 +12,8 @@ RUN apt-get install -y --force-yes ca-certificates \ postgresql-client \ netcat \ dh-python \ - curl + curl \ + wget COPY docker/ca-certificates/*.crt /usr/local/share/ca-certificates/ RUN update-ca-certificates From b18dd85777a9c3c3715cf9f84f6af0a62f6c634c Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Wed, 2 Oct 2024 14:03:44 +0200 Subject: [PATCH 13/17] python3 cleanup --- .../docker_builder_kraken_debian11.yml | 34 +++++++++---------- source/monitor/monitor_kraken/app.py | 3 +- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/.github/workflows/docker_builder_kraken_debian11.yml b/.github/workflows/docker_builder_kraken_debian11.yml index 8800427d1c..9f74ba14d3 100644 --- a/.github/workflows/docker_builder_kraken_debian11.yml +++ b/.github/workflows/docker_builder_kraken_debian11.yml @@ -1,22 +1,20 @@ -# name: Build Navitia Dockers +name: Build Navitia Dockers with Debian 11 -# on: -# pull_request: -# push: -# branches: -# - dev -# tags: -# - '*' - -# jobs: -# common_variables: -# name: Common variables -# runs-on: [self-hosted, kraken, sandbox] -# outputs: -# RELEASE_TAG: ${{ steps.choose_navitia_tag.outputs.navitia_tag }} -# steps: -# - name: force chown to avoid errors -# run: sudo chown -R $USER:$USER . +on: + push: + branches: + - dev + tags: + - '*' +jobs: + common_variables: + name: Common variables + runs-on: [self-hosted, kraken, sandbox] + outputs: + RELEASE_TAG: ${{ steps.choose_navitia_tag.outputs.navitia_tag }} + steps: + - name: force chown to avoid errors + run: sudo chown -R $USER:$USER . # - name: Generate github private access token # id: ci-core-app-token diff --git a/source/monitor/monitor_kraken/app.py b/source/monitor/monitor_kraken/app.py index 5b22716daf..5fd51295ef 100644 --- a/source/monitor/monitor_kraken/app.py +++ b/source/monitor/monitor_kraken/app.py @@ -36,10 +36,9 @@ from monitor_kraken import response_pb2 from monitor_kraken import type_pb2 -# TODO : need to clean that after full migration to python3 try: import ConfigParser -except: +except ImportError: import configparser as ConfigParser # type: ignore app = Flask(__name__) From 6b200aa68de2ccd935e92452f11153dc1e71caf8 Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Wed, 2 Oct 2024 17:15:18 +0200 Subject: [PATCH 14/17] fix: path --- docker/debian11/Dockerfile-tyr-web | 15 +++++++-------- docker/debian11/Dockerfile-tyr-worker | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/docker/debian11/Dockerfile-tyr-web b/docker/debian11/Dockerfile-tyr-web index 335180fd0c..33d983dde0 100644 --- a/docker/debian11/Dockerfile-tyr-web +++ b/docker/debian11/Dockerfile-tyr-web @@ -2,13 +2,16 @@ FROM debian:bullseye-slim WORKDIR /usr/src/app +RUN echo "deb http://archive.debian.org/debian/ bullseye main" > /etc/apt/sources.list.d/archive.list + COPY ./source/navitiacommon ./navitiacommon COPY ./source/tyr ./tyr COPY ./docker/ca-certificates/*.crt /usr/local/share/ca-certificates/ COPY ./docker/run_tyr_web.sh /usr/src/app/run.sh -RUN apt-get update --fix-missing \ - && apt-get install -y curl libpq5 python3.9-dev python3-pip git ca-certificates libgeos-c1v5 postgresql-client \ +RUN apt-get update --force-yes --fix-missing || exit 0 + +RUN apt-get install -y --force-yes curl libpq5 python3.9-dev python3-pip git ca-certificates libgeos-c1v5 postgresql-client \ && update-ca-certificates \ && (cd navitiacommon && python3 setup.py install) \ && (cd tyr && python3 setup.py install && pip3 install --no-cache-dir -U -r requirements.txt)\ @@ -24,12 +27,8 @@ RUN apt-get update --fix-missing \ git \ && apt-get autoremove -y - -# Python 'requests' package handle its own CA certificate list -# Let's force it to use the OS's list -ENV REQUESTS_CA_BUNDLE /etc/ssl/certs - -RUN cp /usr/src/app/tyr/manage_tyr.py /usr/src/app/manage_tyr.py +ENV REQUESTS_CA_BUNDLE=/etc/ssl/certs +#RUN cp /usr/src/app/tyr/manage_tyr.py /usr/src/app/manage_tyr.py COPY docker/run_tyr_web.sh /usr/src/app/run.sh RUN chmod +x /usr/src/app/run.sh diff --git a/docker/debian11/Dockerfile-tyr-worker b/docker/debian11/Dockerfile-tyr-worker index 9fdbf49684..1cd722a18d 100644 --- a/docker/debian11/Dockerfile-tyr-worker +++ b/docker/debian11/Dockerfile-tyr-worker @@ -12,7 +12,7 @@ ARG GITHUB_TOKEN RUN git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/hove-io/".insteadOf "ssh://git@github.com/hove-io/" RUN git clone -b ${TARTARE_TOOLS_VERSION} --depth 1 https://x-access-token:${GITHUB_TOKEN}@github.com/hove-io/tartare-tools -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y # rustc 1.80.0 broke the compilation RUN rustup install 1.79.0 From 6fa65e9529b21541b5b014ca4670123f3dbe11e4 Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Thu, 3 Oct 2024 10:37:14 +0200 Subject: [PATCH 15/17] fix: add ENV PATH for rustup --- docker/debian11/Dockerfile-tyr-worker | 50 ++++++++++++++------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/docker/debian11/Dockerfile-tyr-worker b/docker/debian11/Dockerfile-tyr-worker index 1cd722a18d..5b64044c74 100644 --- a/docker/debian11/Dockerfile-tyr-worker +++ b/docker/debian11/Dockerfile-tyr-worker @@ -1,7 +1,7 @@ FROM debian:bullseye-slim RUN apt-get update \ - && apt install -y python git libgeos-c1v5 libpq5 curl + && apt install -y python git libgeos-c1v5 libpq5 curl gcc pkg-config libssl-dev RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py RUN python2 get-pip.py @@ -13,6 +13,8 @@ RUN git config --global url."https://x-access-token:${GITHUB_TOKEN}@github.com/h RUN git clone -b ${TARTARE_TOOLS_VERSION} --depth 1 https://x-access-token:${GITHUB_TOKEN}@github.com/hove-io/tartare-tools RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +ENV PATH="/root/.cargo/bin:$PATH" + # rustc 1.80.0 broke the compilation RUN rustup install 1.79.0 @@ -24,36 +26,36 @@ RUN cd tartare-tools \ && cd .. \ && rm -rf tartare-tools -COPY navitia-common_*deb navitia-tyr_*.deb navitia-ed_*.deb navitia-cities_*.deb mimirsbrunn7_jessie-*.deb cosmogony2cities_*.deb mimirsbrunn-config-*.deb ./ +# COPY navitia-common_*deb navitia-tyr_*.deb navitia-ed_*.deb navitia-cities_*.deb mimirsbrunn7_jessie-*.deb cosmogony2cities_*.deb mimirsbrunn-config-*.deb ./ -# install navitia-common package -RUN dpkg -i ./navitia-common_*.deb || exit 0 +# # install navitia-common package +# RUN dpkg -i ./navitia-common_*.deb || exit 0 -# install navitia-tyr package -RUN dpkg -i ./navitia-tyr_*.deb || exit 0 +# # install navitia-tyr package +# RUN dpkg -i ./navitia-tyr_*.deb || exit 0 -# install navitia-ed package -RUN dpkg -i ./navitia-ed_*.deb || exit 0 +# # install navitia-ed package +# RUN dpkg -i ./navitia-ed_*.deb || exit 0 -# install navitia-cities package -RUN dpkg -i ./navitia-cities_*.deb || exit 0 +# # install navitia-cities package +# RUN dpkg -i ./navitia-cities_*.deb || exit 0 -# install navitia-mimirsbrunn package -RUN dpkg -i ./mimirsbrunn7_jessie-*.deb \ - # install cosmogony2cities package - ./cosmogony2cities*.deb \ - # install conf mimir package - ./mimirsbrunn-config-*.deb +# # install navitia-mimirsbrunn package +# RUN dpkg -i ./mimirsbrunn7_jessie-*.deb \ +# # install cosmogony2cities package +# ./cosmogony2cities*.deb \ +# # install conf mimir package +# ./mimirsbrunn-config-*.deb -RUN apt-get install -f -y --force-yes +# RUN apt-get install -f -y --force-yes -RUN rm navitia-common_*deb \ - navitia-tyr_*.deb \ - navitia-cities_*.deb \ - navitia-ed_*.deb \ - mimirsbrunn-config-*.deb \ - mimirsbrunn7_jessie-*.deb \ - cosmogony2cities_*.deb +# RUN rm navitia-common_*deb \ +# navitia-tyr_*.deb \ +# navitia-cities_*.deb \ +# navitia-ed_*.deb \ +# mimirsbrunn-config-*.deb \ +# mimirsbrunn7_jessie-*.deb \ +# cosmogony2cities_*.deb # install tyr requirements RUN pip install --no-cache-dir -r /usr/share/tyr/requirements.txt From 374ec7806c867853969d6ce7838d0365bae89ee8 Mon Sep 17 00:00:00 2001 From: Adrien Chapelet Date: Fri, 4 Oct 2024 09:44:02 +0200 Subject: [PATCH 16/17] ci: test tyr-worker --- docker/debian11/Dockerfile-tyr-worker | 28 ++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/docker/debian11/Dockerfile-tyr-worker b/docker/debian11/Dockerfile-tyr-worker index 5b64044c74..b137a2fee2 100644 --- a/docker/debian11/Dockerfile-tyr-worker +++ b/docker/debian11/Dockerfile-tyr-worker @@ -1,5 +1,7 @@ FROM debian:bullseye-slim +# COPY ./source . + RUN apt-get update \ && apt install -y python git libgeos-c1v5 libpq5 curl gcc pkg-config libssl-dev @@ -24,22 +26,21 @@ RUN cd tartare-tools \ && cp target/release/enrich-ntfs-with-addresses /usr/bin/ \ && cp target/release/split-trip-geometries /usr/bin/ \ && cd .. \ - && rm -rf tartare-tools + && rm -rf tartare-tools \ + && mkdir /usr/src/app \ + && mkdir /usr/src/app/tyr \ + && cp -R source/tyr /usr/src/app/tyr # COPY navitia-common_*deb navitia-tyr_*.deb navitia-ed_*.deb navitia-cities_*.deb mimirsbrunn7_jessie-*.deb cosmogony2cities_*.deb mimirsbrunn-config-*.deb ./ # # install navitia-common package # RUN dpkg -i ./navitia-common_*.deb || exit 0 - # # install navitia-tyr package # RUN dpkg -i ./navitia-tyr_*.deb || exit 0 - # # install navitia-ed package # RUN dpkg -i ./navitia-ed_*.deb || exit 0 - # # install navitia-cities package # RUN dpkg -i ./navitia-cities_*.deb || exit 0 - # # install navitia-mimirsbrunn package # RUN dpkg -i ./mimirsbrunn7_jessie-*.deb \ # # install cosmogony2cities package @@ -57,22 +58,27 @@ RUN cd tartare-tools \ # mimirsbrunn7_jessie-*.deb \ # cosmogony2cities_*.deb + +WORKDIR /usr/src/app/ + # install tyr requirements -RUN pip install --no-cache-dir -r /usr/share/tyr/requirements.txt +RUN pip install --no-cache-dir -r /usr/src/app/tyr/requirements.txt RUN apt install -y --force-yes unzip RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" RUN unzip awscliv2.zip RUN ./aws/install - EXPOSE 5000 - -WORKDIR /usr/src/app/ -RUN cp /usr/bin/manage_tyr.py /usr/src/app/manage_tyr.py +# RUN cp /usr/bin/manage_tyr.py /usr/src/app/manage_tyr.py # TODO change the user to remove this ugly C_FORCE_ROOT ENV C_FORCE_ROOT=1 ENV TYR_WORKER_N_PROC=1 -ENTRYPOINT ["celery", "worker", "-A", "tyr.tasks", "-O", "fair"] + +# COPY docker/run_tyr_worker.sh /usr/src/app/ +# RUN chmod +x /usr/src/app/run_tyr_worker.sh +# ENTRYPOINT ["bash", "/usr/src/app/run_tyr_worker.sh"] + +ENTRYPOINT ["celery", "worker", "-A", "tyr.tasks", "-O", "fair"] \ No newline at end of file From 7a81800cea953f1a32a92ff0ba0422bbfe2f0808 Mon Sep 17 00:00:00 2001 From: David Quintanel Date: Wed, 16 Oct 2024 15:20:06 +0200 Subject: [PATCH 17/17] make tyr-beat work --- docker/debian11/Dockerfile-tyr-beat | 11 +++++------ docker/run_tyr_beat.sh | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/docker/debian11/Dockerfile-tyr-beat b/docker/debian11/Dockerfile-tyr-beat index 3fb1781529..4a58290269 100644 --- a/docker/debian11/Dockerfile-tyr-beat +++ b/docker/debian11/Dockerfile-tyr-beat @@ -5,22 +5,21 @@ WORKDIR /usr/share/tyr/ COPY ./source/navitiacommon ./navitiacommon COPY ./source/tyr ./tyr COPY ./docker/ca-certificates/*.crt /usr/local/share/ca-certificates/ -COPY ./docker/run_tyr_beat.sh ./run.sh +COPY ./docker/run_tyr_beat.sh /run.sh COPY ./source/sql/alembic /usr/share/navitia/ed/alembic COPY ./source/sql/requirements.txt /tmp/requirements.txt COPY ./source/cities /usr/share/navitia/cities COPY ./docker/templates/* /templates/ +RUN chmod +x /run.sh + RUN apt-get update --fix-missing \ - && apt-get install -y --force-yes libpq5 python3.9-dev python3-pip git ca-certificates postgresql-client gettext-base jq \ + && apt-get install -y --force-yes libgeos-dev libpq5 python3.9-dev python3-pip git ca-certificates postgresql-client gettext-base jq \ && update-ca-certificates \ && (cd navitiacommon && python3 setup.py install) \ && (cd tyr && python3 setup.py install && pip3 install --no-cache-dir -U -r requirements.txt)\ && pip3 install --no-cache-dir -U -r /tmp/requirements.txt \ - && rm -rf navitiacommon tyr \ - && apt-get purge -y \ - python3-pip \ - git \ + && apt-get purge -y git \ && apt-get autoremove -y ENTRYPOINT ["bash", "/run.sh"] diff --git a/docker/run_tyr_beat.sh b/docker/run_tyr_beat.sh index d3a959df77..302f0eb4b0 100644 --- a/docker/run_tyr_beat.sh +++ b/docker/run_tyr_beat.sh @@ -63,4 +63,4 @@ while read var ; do done < <(env) -exec celery beat -A tyr.tasks +exec celery -A tyr.tasks beat