Fix docker image labels

Prior to this commit, the value of `org.label-schema.license` and
the values in `org.opencontainers.image.*` were not set, and therefore
would be inherited from the base OS image.
This commit is contained in:
Rob Bavey 2020-07-16 11:14:50 -04:00 committed by Robert Bavey
parent e7db1ae16c
commit 702f872eff
2 changed files with 15 additions and 6 deletions

View file

@ -21,6 +21,7 @@ HTTPD ?= logstash-docker-artifact-server
FIGLET := pyfiglet -w 160 -f puffy FIGLET := pyfiglet -w 160 -f puffy
all: build-from-local-artifacts build-from-local-oss-artifacts public-dockerfiles all: build-from-local-artifacts build-from-local-oss-artifacts public-dockerfiles
DATE:= $(shell date -u +'%Y-%m-%dT%H:%M:%S.%sZ')
lint: venv lint: venv
flake8 tests flake8 tests
@ -70,6 +71,7 @@ docker_paths:
public-dockerfiles: venv templates/Dockerfile.j2 docker_paths $(COPY_FILES) public-dockerfiles: venv templates/Dockerfile.j2 docker_paths $(COPY_FILES)
jinja2 \ jinja2 \
-D created_date='$(DATE)' \
-D elastic_version='$(ELASTIC_VERSION)' \ -D elastic_version='$(ELASTIC_VERSION)' \
-D version_tag='$(VERSION_TAG)' \ -D version_tag='$(VERSION_TAG)' \
-D image_flavor='full' \ -D image_flavor='full' \
@ -77,6 +79,7 @@ public-dockerfiles: venv templates/Dockerfile.j2 docker_paths $(COPY_FILES)
-D release='$(RELEASE)' \ -D release='$(RELEASE)' \
templates/Dockerfile.j2 > $(ARTIFACTS_DIR)/Dockerfile-full && \ templates/Dockerfile.j2 > $(ARTIFACTS_DIR)/Dockerfile-full && \
jinja2 \ jinja2 \
-D created_date='$(DATE)' \
-D elastic_version='$(ELASTIC_VERSION)' \ -D elastic_version='$(ELASTIC_VERSION)' \
-D version_tag='$(VERSION_TAG)' \ -D version_tag='$(VERSION_TAG)' \
-D image_flavor='oss' \ -D image_flavor='oss' \
@ -133,6 +136,7 @@ env2yaml: golang
dockerfile: venv templates/Dockerfile.j2 dockerfile: venv templates/Dockerfile.j2
$(foreach FLAVOR, $(IMAGE_FLAVORS), \ $(foreach FLAVOR, $(IMAGE_FLAVORS), \
jinja2 \ jinja2 \
-D created_date='$(DATE)' \
-D elastic_version='$(ELASTIC_VERSION)' \ -D elastic_version='$(ELASTIC_VERSION)' \
-D version_tag='$(VERSION_TAG)' \ -D version_tag='$(VERSION_TAG)' \
-D image_flavor='$(FLAVOR)' \ -D image_flavor='$(FLAVOR)' \

View file

@ -7,8 +7,10 @@
{% if image_flavor == 'oss' -%} {% if image_flavor == 'oss' -%}
{% set tarball = 'logstash-oss-%s.tar.gz' % elastic_version -%} {% set tarball = 'logstash-oss-%s.tar.gz' % elastic_version -%}
{% set license = 'Apache 2.0' -%}
{% else -%} {% else -%}
{% set tarball = 'logstash-%s.tar.gz' % elastic_version -%} {% set tarball = 'logstash-%s.tar.gz' % elastic_version -%}
{% set license = 'Elastic License' -%}
{% endif -%} {% endif -%}
@ -62,17 +64,20 @@ ADD env2yaml/env2yaml /usr/local/bin/
EXPOSE 9600 5044 EXPOSE 9600 5044
LABEL org.label-schema.schema-version="1.0" \ LABEL org.label-schema.schema-version="1.0" \
org.label-schema.vendor="Elastic" \ org.label-schema.vendor="Elastic" \
org.opencontainers.image.vendor="Elastic" \
org.label-schema.name="logstash" \ org.label-schema.name="logstash" \
org.opencontainers.image.title="logstash" \
org.label-schema.version="{{ elastic_version }}" \ org.label-schema.version="{{ elastic_version }}" \
org.opencontainers.image.version="{{ elastic_version }}" \
org.label-schema.url="https://www.elastic.co/products/logstash" \ org.label-schema.url="https://www.elastic.co/products/logstash" \
org.label-schema.vcs-url="https://github.com/elastic/logstash" \ org.label-schema.vcs-url="https://github.com/elastic/logstash" \
{% if image_flavor == 'oss' -%} license="{{ license }}" \
license="Apache-2.0" org.label-schema.license="{{ license }}" \
{% else -%} org.opencontainers.image.licenses="{{ license }}" \
license="Elastic License" org.label-schema.build-date={{ created_date }} \
{% endif -%} org.opencontainers.image.created={{ created_date }}
ENTRYPOINT ["/usr/local/bin/docker-entrypoint"] ENTRYPOINT ["/usr/local/bin/docker-entrypoint"]