Fix: git commit id labels on images
1) Use OCI Image Specs for labels instead of custom 'commit-id=xxxxx' or legacy "Label Schema" 2) Fix missing git commit id labels on images (.revision) 3) Add human-readable title (.title) of the image, URL (.url), and a few other properties (annotations) according to the latest Specs Change-Id: I57318d4662d90b439d4b7766f7c67571e0f69f15
This commit is contained in:
parent
922083448c
commit
de6486c380
14
Makefile
14
Makefile
@ -22,7 +22,7 @@ PROXY ?= http://proxy.foo.com:8000
|
|||||||
NO_PROXY ?= localhost,127.0.0.1,.svc.cluster.local
|
NO_PROXY ?= localhost,127.0.0.1,.svc.cluster.local
|
||||||
USE_PROXY ?= false
|
USE_PROXY ?= false
|
||||||
PUSH_IMAGE ?= false
|
PUSH_IMAGE ?= false
|
||||||
LABEL ?= commit-id
|
COMMIT ?= commit-id
|
||||||
IMAGE ?= $(DOCKER_REGISTRY)/$(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG)
|
IMAGE ?= $(DOCKER_REGISTRY)/$(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG)
|
||||||
PYTHON_BASE_IMAGE ?= python:3.6
|
PYTHON_BASE_IMAGE ?= python:3.6
|
||||||
export
|
export
|
||||||
@ -63,7 +63,11 @@ format: py_format
|
|||||||
.PHONY: build_pegleg
|
.PHONY: build_pegleg
|
||||||
build_pegleg:
|
build_pegleg:
|
||||||
ifeq ($(USE_PROXY), true)
|
ifeq ($(USE_PROXY), true)
|
||||||
docker build -t $(IMAGE) --network=host --label $(LABEL) -f images/pegleg/Dockerfile \
|
docker build -t $(IMAGE) --network=host \
|
||||||
|
--label "org.opencontainers.image.revision=$(COMMIT)" \
|
||||||
|
--label "org.opencontainers.image.created=$(shell date --rfc-3339=seconds --utc)" \
|
||||||
|
--label "org.opencontainers.image.title=$(IMAGE_NAME)" \
|
||||||
|
-f images/pegleg/Dockerfile \
|
||||||
--build-arg FROM=$(PYTHON_BASE_IMAGE) \
|
--build-arg FROM=$(PYTHON_BASE_IMAGE) \
|
||||||
--build-arg http_proxy=$(PROXY) \
|
--build-arg http_proxy=$(PROXY) \
|
||||||
--build-arg https_proxy=$(PROXY) \
|
--build-arg https_proxy=$(PROXY) \
|
||||||
@ -73,7 +77,11 @@ ifeq ($(USE_PROXY), true)
|
|||||||
--build-arg NO_PROXY=$(NO_PROXY) \
|
--build-arg NO_PROXY=$(NO_PROXY) \
|
||||||
--build-arg ctx_base=$(PEGLEG_BUILD_CTX) .
|
--build-arg ctx_base=$(PEGLEG_BUILD_CTX) .
|
||||||
else
|
else
|
||||||
docker build -t $(IMAGE) --network=host --label $(LABEL) -f images/pegleg/Dockerfile \
|
docker build -t $(IMAGE) --network=host \
|
||||||
|
--label "org.opencontainers.image.revision=$(COMMIT)" \
|
||||||
|
--label "org.opencontainers.image.created=$(shell date --rfc-3339=seconds --utc)" \
|
||||||
|
--label "org.opencontainers.image.title=$(IMAGE_NAME)" \
|
||||||
|
-f images/pegleg/Dockerfile \
|
||||||
--build-arg FROM=$(PYTHON_BASE_IMAGE) \
|
--build-arg FROM=$(PYTHON_BASE_IMAGE) \
|
||||||
--build-arg ctx_base=$(PEGLEG_BUILD_CTX) .
|
--build-arg ctx_base=$(PEGLEG_BUILD_CTX) .
|
||||||
endif
|
endif
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
ARG FROM=python:3.6
|
ARG FROM=python:3.6
|
||||||
FROM ${FROM}
|
FROM ${FROM}
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.authors='airship-discuss@lists.airshipit.org, irc://#airshipit@freenode'
|
||||||
|
LABEL org.opencontainers.image.url='https://airshipit.org'
|
||||||
|
LABEL org.opencontainers.image.documentation='https://airship-pegleg.readthedocs.org'
|
||||||
|
LABEL org.opencontainers.image.source='https://git.openstack.org/openstack/airship-pegleg'
|
||||||
|
LABEL org.opencontainers.image.vendor='The Airship Authors'
|
||||||
|
LABEL org.opencontainers.image.licenses='Apache-2.0'
|
||||||
|
|
||||||
VOLUME /var/pegleg
|
VOLUME /var/pegleg
|
||||||
WORKDIR /var/pegleg
|
WORKDIR /var/pegleg
|
||||||
|
|
||||||
|
@ -116,6 +116,7 @@
|
|||||||
DOCKER_REGISTRY: "quay.io"
|
DOCKER_REGISTRY: "quay.io"
|
||||||
IMAGE_PREFIX: "airshipit"
|
IMAGE_PREFIX: "airshipit"
|
||||||
IMAGE_TAG: "{{ item }}"
|
IMAGE_TAG: "{{ item }}"
|
||||||
|
COMMIT: "{{ zuul.newrev }}"
|
||||||
PUSH_IMAGE: "true"
|
PUSH_IMAGE: "true"
|
||||||
with_items: "{{ image_tags.stdout_lines }}"
|
with_items: "{{ image_tags.stdout_lines }}"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user