Go to file
Dominique Leuenberger 6b550e76d6 Accepting request 1068356 from openSUSE:Tools
- Handle LABEL statements with any whitespace
- Handle LABEL values containing "=" properly

OBS-URL: https://build.opensuse.org/request/show/1068356
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/obs-service-docker_label_helper?expand=0&rev=6
2023-03-01 15:14:31 +00:00
.gitattributes Accepting request 833745 from home:favogt:dockerfilemeta 2020-09-17 13:35:39 +00:00
.gitignore Accepting request 833745 from home:favogt:dockerfilemeta 2020-09-17 13:35:39 +00:00
docker_label_helper - Handle LABEL statements with any whitespace 2023-03-01 07:55:24 +00:00
docker_label_helper.service - Improve summary, description and README.md a bit 2021-12-15 14:53:37 +00:00
obs-service-docker_label_helper.changes - Handle LABEL statements with any whitespace 2023-03-01 07:55:24 +00:00
obs-service-docker_label_helper.spec - Handle LABEL statements with any whitespace 2023-03-01 07:55:24 +00:00
README Accepting request 1008775 from home:cboltz:branches:openSUSE:Tools 2022-10-07 12:41:00 +00:00
test.sh - Handle LABEL statements with any whitespace 2023-03-01 07:55:24 +00:00

obs-service-docker_label_helper
===============================

This service can be enabled to run during buildtime, when it will edit the
Dockerfile to expand the LABEL instruction.

A new syntax using entry/exit flags has been introduced to provide
compatibility with stock docker build command while allowing to add prefixed
labels based on existing LABEL instructions.

Both new and old syntax are supported, but you should not mix both in the
same Dockerfile.

1 - New syntax using entry/exit flags

Only LABEL between # labelprefix and # endlabelprefix will be considered

Example:

```
FROM opensuse/tumbleweed
# labelprefix=org.opensuse.nano
LABEL org.opencontainers.image.title="Example container"
LABEL org.opencontainers.image.description="This contains nano"
# endlabelprefix
LABEL not.expanded.label="example"
```

expands to

```
FROM opensuse/tumbleweed
LABEL org.opensuse.nano.title="Example container"
LABEL org.opencontainers.image.title="Example container"
LABEL org.opensuse.nano.description="This contains nano"
LABEL org.opencontainers.image.description="This contains nano"
LABEL not.expanded.label="example"
```

2 - Old syntax

Expand the PREFIXEDLABEL instruction.

Example:

```
FROM opensuse/tumbleweed
# labelprefix=org.opensuse.nano
PREFIXEDLABEL org.opencontainers.image.title="Example container"
PREFIXEDLABEL org.opencontainers.image.description="This contains nano"
```

expands to

```
FROM opensuse/tumbleweed
LABEL org.opensuse.nano.title="Example container"
LABEL org.opencontainers.image.title="Example container"
LABEL org.opensuse.nano.description="This contains nano"
LABEL org.opencontainers.image.description="This contains nano"
```