This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/airflow-openldap.git
commit 9d8ae2721543dc6671d2d6fc8125ceeb37989a49 Author: Jarek Potiuk <[email protected]> AuthorDate: Sat Jul 4 17:23:37 2020 +0200 Add Airflow-specific modifications - image can be build on its own It uses only officially released code and does not have dependencies on base image from osixia. Part of https://github.com/apache/airflow/issues/9401 --- .gitignore | 1 + build_and_push.sh | 38 ++++++++++++++++++++++++++++++++++++++ image/Dockerfile | 42 +++++++++++++++++++++++++++++++++++++++--- 3 files changed, 78 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index aa7b748..29ae96a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .DS_Store !/.git* /VOLUMES +/.idea/ diff --git a/build_and_push.sh b/build_and_push.sh new file mode 100755 index 0000000..cd1ef52 --- /dev/null +++ b/build_and_push.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +set -euo pipefail +DOCKERHUB_USER=${DOCKERHUB_USER:="apache"} +DOCKERHUB_REPO=${DOCKERHUB_REPO:="airflow"} +OPENLDAP_VERSION="2.4.50" +AIRFLOW_OPENLDAP_VERSION="2020.07.10" +COMMIT_SHA=$(git rev-parse HEAD) + +cd "$( dirname "${BASH_SOURCE[0]}" )" || exit 1 + +TAG="${DOCKERHUB_USER}/${DOCKERHUB_REPO}:openldap-${AIRFLOW_OPENLDAP_VERSION}-${OPENLDAP_VERSION}" + +cd image + +docker build . \ + --pull \ + --build-arg "OPENLDAP_VERSION=${OPENLDAP_VERSION}" \ + --build-arg "AIRFLOW_OPENLDAP_VERSION=${AIRFLOW_OPENLDAP_VERSION}" \ + --build-arg "COMMIT_SHA=${COMMIT_SHA}" \ + --tag "${TAG}" + +docker push "${TAG}" diff --git a/image/Dockerfile b/image/Dockerfile index cfac93e..96568f9 100644 --- a/image/Dockerfile +++ b/image/Dockerfile @@ -1,6 +1,28 @@ -# Use osixia/light-baseimage -# sources: https://github.com/osixia/docker-light-baseimage -FROM osixia/light-baseimage:1.2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +FROM debian:buster-slim + +COPY base-image /container +RUN /container/build.sh + +ARG AIRFLOW_OPENLDAP_VERSION +ARG OPENLDAP_VERSION +ARG COMMIT_SHA ARG LDAP_OPENLDAP_GID ARG LDAP_OPENLDAP_UID @@ -8,6 +30,13 @@ ARG LDAP_OPENLDAP_UID ARG PQCHECKER_VERSION=2.0.0 ARG PQCHECKER_MD5=c005ce596e97d13e39485e711dcbc7e1 +MAINTAINER "Apache Airflow Community <[email protected]>" + +ENV LANG="en_US.UTF-8" \ + LANGUAGE="en_US:en" \ + LC_ALL="en_US.UTF-8" + + # Add openldap user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added # If explicit uid or gid is given, use it. RUN if [ -z "${LDAP_OPENLDAP_GID}" ]; then groupadd -g 911 -r openldap; else groupadd -r -g ${LDAP_OPENLDAP_GID} openldap; fi \ @@ -57,5 +86,12 @@ ADD environment /container/environment/99-default # Expose default ldap and ldaps ports EXPOSE 389 636 +LABEL org.apache.airflow.component="openldap" +LABEL org.apache.airflow.openldap.version="${OPENLDAP_VERSION}" +LABEL org.apache.airflow.airflow_openldap.version="${AIRFLOW_OPENLDAP_VERSION}" +LABEL org.apache.airflow.commit_sha="${COMMIT_SHA}" + +ENTRYPOINT ["/container/tool/run"] + # Put ldap config and database dir in a volume to persist data. # VOLUME /etc/ldap/slapd.d /var/lib/ldap
