diff --git a/conf/prometheus-statsd-mapping.yml b/conf/prometheus-statsd-mapping.yml index cd0cd71..fc9205f 100644 --- a/conf/prometheus-statsd-mapping.yml +++ b/conf/prometheus-statsd-mapping.yml @@ -1,33 +1,33 @@ defaults: timer_type: histogram buckets: - .005 - .01 - .025 - .05 - .1 - .25 - .5 - .75 - 1 - 2 - 5 - 10 - 15 - 30 - 45 - 60 - 120 - 300 - 600 - 900 - 1800 - 2700 - 3600 - 7200 ttl: 24h - + mappings: - match: "swh_journal_client_status" name: "swh_journal_client_status" ttl: 10m diff --git a/images/Dockerfile b/images/Dockerfile index 2ad49a8..c062003 100644 --- a/images/Dockerfile +++ b/images/Dockerfile @@ -1,120 +1,120 @@ ARG debianversion=buster FROM debian:${debianversion:-buster} as swh-common LABEL maintainer="Software Heritage " ENV PROJECT_NAME swh-base RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && apt-get upgrade -y && \ apt-get install -y \ apt-transport-https \ - curl \ - lsb-release \ - wait-for-it + curl \ + lsb-release \ + wait-for-it RUN echo deb http://deb.debian.org/debian/ $(lsb_release -sc)-backports main \ > /etc/apt/sources.list.d/backports.list RUN echo deb [trusted=yes] https://debian.softwareheritage.org/ $(lsb_release -sc)-swh main \ > /etc/apt/sources.list.d/softwareheritage.list RUN mkdir /etc/softwareheritage RUN mkdir -p /var/run/gunicorn/swh RUN mkdir -p /var/lib/swh RUN mkdir -p /srv/softwareheritage/objects ENV SWH_CONFIG_FILENAME=/etc/softwareheritage/config.yml ENV LC_ALL=C.UTF-8 ################################## # BASE services ################################## FROM swh-common as swh-base ARG SWH_VER ENV SWH_VER=${SWH_VER} RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ apt-get install -y \ -t $(lsb_release -sc)-backports \ - --no-install-recommends \ - gunicorn \ - postgresql-client \ - python3-dulwich \ + --no-install-recommends \ + gunicorn \ + postgresql-client \ + python3-dulwich \ python3-swh.journal \ python3-swh.objstorage \ # python3-swh.objstorage.cloud \ # python3-swh.objstorage.rados \ python3-swh.scheduler \ python3-swh.storage \ - && \ + && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* ## still missing: vault, deposit COPY conf/logconfig.ini /etc/gunicorn/logconfig.ini COPY conf/gunicorn.cfg /etc/gunicorn/swh.cfg COPY tools/*.sh /srv/softwareheritage/utils/ COPY tools/*.sql /srv/softwareheritage/utils/ RUN chmod +x /srv/softwareheritage/utils/*.sh COPY base/entrypoint.sh / ENTRYPOINT ["/entrypoint.sh"] ################################## # WEB ################################## FROM swh-common as swh-web ARG SWH_VER ENV SWH_VER=${SWH_VER} ENV DJANGO_SETTINGS_MODULE=swh.web.settings.production RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ apt-get install -y --no-install-recommends \ -t $(lsb_release -sc)-backports \ - gunicorn \ - postgresql-client \ - python3-magic \ + gunicorn \ + postgresql-client \ + python3-magic \ python3-swh.web \ - && \ + && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* COPY conf/logconfig.ini /etc/gunicorn/logconfig.ini COPY conf/gunicorn.cfg /etc/gunicorn/swh.cfg COPY tools/*.sh /srv/softwareheritage/utils/ COPY tools/*.sql /srv/softwareheritage/utils/ RUN chmod +x /srv/softwareheritage/utils/*.sh COPY web/entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] ################################## # Mirror (replayer) ################################## FROM swh-common as swh-replayer ARG SWH_VER ENV SWH_VER=${SWH_VER} RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ apt-get install -y \ -t $(lsb_release -sc)-backports \ - --no-install-recommends \ + --no-install-recommends \ python3-swh.journal \ python3-swh.objstorage \ python3-swh.objstorage.replayer \ python3-swh.storage \ - && \ + && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* COPY tools/*.sh /srv/softwareheritage/utils/ COPY tools/*.sql /srv/softwareheritage/utils/ RUN chmod +x /srv/softwareheritage/utils/*.sh COPY replayer/entrypoint.sh / ENTRYPOINT ["/entrypoint.sh"] diff --git a/images/build_images.sh b/images/build_images.sh index 0a9bbcb..4a91503 100755 --- a/images/build_images.sh +++ b/images/build_images.sh @@ -1,29 +1,29 @@ #!/usr/bin/env bash builddate=$(date +%Y%m%d) buildtime=$(date +%H%M%S) builddatetime="${builddate}-${buildtime}" username=$(docker info | grep Username | awk '{print $2}') for img in base web replayer; do - docker build \ - --build-arg SWH_VER=${builddatetime} \ - --build-arg debianversion=buster \ - --tag softwareheritage/${img}:${builddatetime} \ - --target swh-${img} \ - . - docker tag softwareheritage/${img}:${builddatetime} softwareheritage/${img}:${builddate} - docker tag softwareheritage/${img}:${builddate} softwareheritage/${img}:latest + docker build \ + --build-arg SWH_VER=${builddatetime} \ + --build-arg debianversion=buster \ + --tag softwareheritage/${img}:${builddatetime} \ + --target swh-${img} \ + . + docker tag softwareheritage/${img}:${builddatetime} softwareheritage/${img}:${builddate} + docker tag softwareheritage/${img}:${builddate} softwareheritage/${img}:latest if [[ -n "${username}" ]] && [[ "${PUBLISH:=no}" = "yes" ]]; then - echo "Publishing image softwareheritage:${img}-${builddate} on docker hub" + echo "Publishing image softwareheritage:${img}-${builddate} on docker hub" docker push softwareheritage/${img}:${builddatetime} docker push softwareheritage/${img}:${builddate} docker push softwareheritage/${img}:latest fi done #docker tag softwareheritage:base-${builddate} softwareheritage:latest echo "Done creating images. You may want to use" echo "export SWH_IMAGE_TAG=${builddatetime}"