From 110ea43bf6cb169c0dabdd6ab9d8d233842a7f80 Mon Sep 17 00:00:00 2001 From: Felix Bartels <1257835+fbartels@users.noreply.github.com> Date: Tue, 28 Apr 2020 22:16:12 +0200 Subject: [PATCH] Rework label handling (#387) * be smarter about labels inspired by https://github.com/Peter-SAARLAND/zero --- base/Dockerfile | 5 +++-- core/Dockerfile | 5 +++-- kdav/Dockerfile | 5 +++-- konnect/Dockerfile | 5 +++-- kwmserver/Dockerfile | 10 ++++------ ldap/Dockerfile | 6 +++--- meet/Dockerfile | 4 ++-- php/Dockerfile | 5 +++-- playground/Dockerfile | 7 ++++--- python/Dockerfile | 7 ++++--- scheduler/Dockerfile | 8 ++++---- ssl/Dockerfile | 6 +++--- utils/Dockerfile | 4 +++- web/Dockerfile | 19 ++++++++++--------- webapp/Dockerfile | 5 +++-- zpush/Dockerfile | 5 +++-- 16 files changed, 58 insertions(+), 48 deletions(-) diff --git a/base/Dockerfile b/base/Dockerfile index db14a08..f1c8594 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -1,6 +1,5 @@ FROM debian:buster -ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" @@ -21,7 +20,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano base container" \ org.label-schema.description="Base image for containers running the Kopano groupware stack" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$BASE_VERSION \ org.label-schema.schema-version="1.0" @@ -89,3 +87,6 @@ ONBUILD RUN \ if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \ dl_and_package_community "core" "$DOWNLOAD_DISTRIBUTION" "$DOWNLOAD_CHANNEL" "$DOWNLOAD_BRANCH"; \ fi + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/core/Dockerfile b/core/Dockerfile index 3659dce..82f58fd 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -1,7 +1,6 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base -ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" @@ -31,7 +30,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano Groupware Core container" \ org.label-schema.description="Container for running applications out of Kopano Groupware Core" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$KOPANO_CORE_VERSION \ org.label-schema.schema-version="1.0" @@ -84,3 +82,6 @@ CMD [ "/kopano/start-service.sh" ] HEALTHCHECK --interval=1m --timeout=10s \ CMD /kopano/healthcheck.sh + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/kdav/Dockerfile b/kdav/Dockerfile index b3f3e0b..27cd6ac 100644 --- a/kdav/Dockerfile +++ b/kdav/Dockerfile @@ -7,7 +7,6 @@ RUN composer install FROM ${docker_repo}/kopano_base -ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" @@ -28,7 +27,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano kDAV container" \ org.label-schema.description="Container for running Kopano kDAV" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.schema-version="1.0" @@ -87,3 +85,6 @@ ENV LANG en_US.UTF-8 ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD [ "/kopano/start.sh" ] + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/konnect/Dockerfile b/konnect/Dockerfile index c142afa..0ac88b0 100644 --- a/konnect/Dockerfile +++ b/konnect/Dockerfile @@ -8,7 +8,6 @@ RUN go install -v github.com/go-moreutils/sponge FROM kopano/konnectd:${CODE_VERSION} -ARG VCS_REF ARG CODE_VERSION ENV CODE_VERSION="${CODE_VERSION}" \ @@ -26,7 +25,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano Konnect container" \ org.label-schema.description="Container for running Kopano Konnect" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$CODE_VERSION \ org.label-schema.schema-version="1.0" @@ -51,3 +49,6 @@ COPY wrapper.sh /usr/local/bin USER nobody ENTRYPOINT ["wrapper.sh"] + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/kwmserver/Dockerfile b/kwmserver/Dockerfile index 806877a..5d794f4 100644 --- a/kwmserver/Dockerfile +++ b/kwmserver/Dockerfile @@ -1,27 +1,25 @@ ARG CODE_VERSION=1.1.1 FROM kopano/kwmserverd:${CODE_VERSION} -ARG VCS_REF ARG CODE_VERSION - ENV CODE_VERSION="${CODE_VERSION}" LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano Kwmserver container" \ org.label-schema.description="Container for running Kopano Kwmserver (WebRTC signalling server)" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$CODE_VERSION \ org.label-schema.schema-version="1.0" -USER root - SHELL ["/bin/ash", "-eo", "pipefail", "-c"] +USER root ENV DOCKERIZE_VERSION v0.11.0 RUN wget -O - https://github.com/powerman/dockerize/releases/download/"$DOCKERIZE_VERSION"/dockerize-"$(uname -s)"-"$(uname -m)" | install /dev/stdin /bin/dockerize +USER nobody COPY wrapper.sh /usr/local/bin -USER nobody +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/ldap/Dockerfile b/ldap/Dockerfile index b181e9c..ab183ce 100644 --- a/ldap/Dockerfile +++ b/ldap/Dockerfile @@ -1,16 +1,13 @@ ARG CODE_VERSION=1.3.0 FROM osixia/openldap:${CODE_VERSION} -ARG VCS_REF ARG CODE_VERSION - ENV CODE_VERSION="${CODE_VERSION}" LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano LDAP container" \ org.label-schema.description="Container for running OpenLDAP, which already has the Kopano schema included." \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$CODE_VERSION \ org.label-schema.schema-version="1.0" @@ -18,3 +15,6 @@ LABEL maintainer=az@zok.xyz \ COPY bootstrap /container/service/slapd/assets/config/bootstrap RUN rm /container/service/slapd/assets/config/bootstrap/schema/mmc/mail.schema RUN touch /etc/ldap/slapd.conf + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/meet/Dockerfile b/meet/Dockerfile index 7853f67..a92e913 100644 --- a/meet/Dockerfile +++ b/meet/Dockerfile @@ -1,7 +1,6 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base:latest -ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" @@ -25,7 +24,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano Meet container" \ org.label-schema.description="Container for running Kopano Meet" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$KOPANO_MEET_VERSION \ org.label-schema.schema-version="1.0" @@ -61,3 +59,5 @@ CMD [ "/kopano/start-service.sh" ] HEALTHCHECK --interval=1m --timeout=10s \ CMD goss -g /goss/goss.yaml validate +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/php/Dockerfile b/php/Dockerfile index 21afc07..b8e0644 100644 --- a/php/Dockerfile +++ b/php/Dockerfile @@ -1,7 +1,6 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base -ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" @@ -22,7 +21,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano php container" \ org.label-schema.description="Base container for running php based applications based on Kopano Groupware Core" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$KOPANO_CORE_VERSION \ org.label-schema.schema-version="1.0" @@ -55,3 +53,6 @@ EXPOSE 9080/tcp COPY start-helper.sh /kopano/start-helper.sh COPY kweb.cfg /etc/kweb.cfg + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/playground/Dockerfile b/playground/Dockerfile index 8592a0e..3d70fec 100644 --- a/playground/Dockerfile +++ b/playground/Dockerfile @@ -1,4 +1,4 @@ -from alpine:3.11 as builder +FROM alpine:3.11 as builder RUN apk add --no-cache \ git make @@ -12,7 +12,6 @@ RUN rm Makefile && ln -s oidc-client-example.html index.html FROM halverneus/static-file-server:v1.7.0 -ARG VCS_REF ARG CODE_VERSION ENV PORT 8888 @@ -21,8 +20,10 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano Playground" \ org.label-schema.description="Container for running Kopano playground applications for Kapi and OIDC" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.schema-version="1.0" COPY --from=builder /web /web + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/python/Dockerfile b/python/Dockerfile index 851930f..23f36e6 100644 --- a/python/Dockerfile +++ b/python/Dockerfile @@ -1,7 +1,6 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base -ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" @@ -22,7 +21,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano Python container" \ org.label-schema.description="Container for running python based applications for Kopano Groupware Core" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$KOPANO_CORE_VERSION \ org.label-schema.schema-version="1.0" @@ -37,4 +35,7 @@ RUN \ apt-get update && apt-get install -y --no-install-recommends \ python3-kopano \ ${ADDITIONAL_KOPANO_PACKAGES} \ - && rm -rf /var/cache/apt /var/lib/apt/lists \ No newline at end of file + && rm -rf /var/cache/apt /var/lib/apt/lists + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/scheduler/Dockerfile b/scheduler/Dockerfile index b0aeedd..1270d3f 100644 --- a/scheduler/Dockerfile +++ b/scheduler/Dockerfile @@ -1,7 +1,5 @@ FROM docker:18.09 -ARG VCS_REF - ENV \ DOCKERIZE_VERSION=v0.6.1 \ GOSS_VERSION=v0.3.7 \ @@ -11,7 +9,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano scheduler container" \ org.label-schema.description="Helper container for running tasks within the Kopano stack" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$SUPERCRONIC_VERSION \ org.label-schema.schema-version="1.0" @@ -42,4 +39,7 @@ CMD ["start.sh"] # TODO interval does not only define how often the healtcheck is run, but also how long to wait for the first check after startup HEALTHCHECK --interval=60m --timeout=15s \ - CMD goss -g /goss/goss.yaml validate \ No newline at end of file + CMD goss -g /goss/goss.yaml validate + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/ssl/Dockerfile b/ssl/Dockerfile index 6abb036..ddf536f 100644 --- a/ssl/Dockerfile +++ b/ssl/Dockerfile @@ -1,7 +1,5 @@ FROM alpine:3.11 -ARG VCS_REF - ENV CODE_VERSION=1.2.0 \ PKI_ROOT=/kopano/easypki \ PKI_ORGANIZATION="Internal Kopano System" \ @@ -11,7 +9,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano SSL container" \ org.label-schema.description="Helper Container for carrying out ssl related activities for the Kopano stack." \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$CODE_VERSION \ org.label-schema.schema-version="1.0" @@ -28,3 +25,6 @@ COPY start.sh /start.sh RUN chmod a+x /start.sh CMD ["/start.sh"] + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/utils/Dockerfile b/utils/Dockerfile index 0888c37..9c97da4 100644 --- a/utils/Dockerfile +++ b/utils/Dockerfile @@ -5,7 +5,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano utils container" \ org.label-schema.description="Container that bundles various cli tools from Kopano Groupware Core" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$KOPANO_CORE_VERSION \ org.label-schema.schema-version="1.0" @@ -27,3 +26,6 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ && rm -rf /var/lib/apt/lists/* CMD [ "/bin/bash" ] + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/web/Dockerfile b/web/Dockerfile index 563848a..08cf159 100644 --- a/web/Dockerfile +++ b/web/Dockerfile @@ -1,7 +1,14 @@ ARG CODE_VERSION=0.9.1 FROM kopano/kwebd:${CODE_VERSION} -ARG VCS_REF +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano Web container" \ + org.label-schema.description="Reverse proxy for http(s) based components of kopano-docker" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$CODE_VERSION \ + org.label-schema.schema-version="1.0" + ARG CODE_VERSION ENV \ @@ -33,11 +40,5 @@ RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSI COPY wrapper.sh /usr/local/bin COPY kweb.cfg /etc/kweb.cfg -LABEL maintainer=az@zok.xyz \ - org.label-schema.name="Kopano Web container" \ - org.label-schema.description="Reverse proxy for http(s) based components of kopano-docker" \ - org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ - org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ - org.label-schema.version=$CODE_VERSION \ - org.label-schema.schema-version="1.0" +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/webapp/Dockerfile b/webapp/Dockerfile index b56d568..3e7e483 100644 --- a/webapp/Dockerfile +++ b/webapp/Dockerfile @@ -1,7 +1,6 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_php -ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG ADDITIONAL_KOPANO_WEBAPP_PLUGINS="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 @@ -34,7 +33,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano WebApp container" \ org.label-schema.description="Container for running Kopano WebApp" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$KOPANO_WEBAPP_VERSION \ org.label-schema.schema-version="1.0" @@ -84,3 +82,6 @@ CMD [ "/kopano/start.sh" ] HEALTHCHECK --interval=1m --timeout=10s \ CMD goss -g /goss/goss.yaml validate + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file diff --git a/zpush/Dockerfile b/zpush/Dockerfile index 15b3eb5..1147d36 100644 --- a/zpush/Dockerfile +++ b/zpush/Dockerfile @@ -1,7 +1,6 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base -ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" @@ -26,7 +25,6 @@ LABEL maintainer=az@zok.xyz \ org.label-schema.name="Kopano Z-Push container" \ org.label-schema.description="Container for running Z-Push with Kopano Groupware Core" \ org.label-schema.url="https://kopano.io" \ - org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ org.label-schema.version=$KOPANO_ZPUSH_VERSION \ org.label-schema.schema-version="1.0" @@ -102,3 +100,6 @@ ENV LANG en_US.UTF-8 ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD [ "/kopano/start.sh" ] + +ARG VCS_REF +LABEL org.label-schema.vcs-ref=$VCS_REF \ No newline at end of file