← Back to issue list

allow adding customized label

View original Github issue

Metadata

Project
rockcraft
Number
#582
Type
issue
State
open
Author
henrymao-zz
Labels
Created
2024-06-12 02:00:09+00:00
Updated
2024-06-12 02:12:44+00:00
Closed

Current evaluation

No evaluation has been recorded for this issue yet.

Issue body

### What needs to get done We should be able to add a customized label to rockcraft built images. The label I need to add is a short json string "com.azure.sonic.manifest" as in the following example, which is used to maintain docker startup dependencies, and will be eventually be used by systemd. (Same thing docker works by using LABEL instruction in Dockerfile or adding the --label flag to a docker build command.) ``` $ sudo skopeo inspect docker-archive:docker-teamd.gz { "Digest": "sha256:cb2f3c599f2efcc3de8a2028789aa1dca789c21043496d68806d04c23737e2be", "RepoTags": [], "Created": "2024-06-08T06:56:12.6356677Z", "DockerVersion": "", "Labels": { "Tag": "feature_jammy_build.0-d7d4f89ec", "com.azure.sonic.manifest": "\n{\n \"version\": \"1.0.0\",\n \"package\": {\n \"version\": \"1.0.0\",\n \"depends\": [],\n \"name\": \"teamd\"\n },\n \"service\": {\n \"name\": \"teamd\",\n \"requires\": [],\n \"after\": [],\n \"before\": [],\n \"dependent-of\": [],\n \"asic-service\": true,\n \"host-service\": false,\n \"warm-shutdown\": {\n \"after\": [\"swss\"],\n \"before\": [\"syncd\"]\n },\n \"fast-shutdown\": {\n \"after\": [\"swss\"],\n \"before\": [\"syncd\"]\n },\n \"syslog\": {\n \"support-rate-limit\": true\n }\n },\n \"container\": {\n \"privileged\": false,\n \"volumes\": [],\n \"tmpfs\": []\n },\n \"cli\": {\n \"config\": \"\",\n \"show\": \"\",\n \"clear\": \"\"\n }\n}", "com.azure.sonic.versions.libsairedis": "1.0.0", "com.azure.sonic.versions.libswsscommon": "1.0.0", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "22.04" }, "Architecture": "amd64", ``` We do have some metadata such as version/title/licenses which are converted to label during rockcraft build phase. ``` dima@colima-ahh /c/h/d/b/sha256 (main) [127]> cat 2c24ed033f0bea871f6930535e2f61789840d254d0be961aa17776d797103f23| jq . { "created": "2024-06-07T16:49:32.047857229+09:00", "architecture": "arm64", "os": "linux", "config": { "Entrypoint": [ "/usr/bin/pebble", "enter" ], "Labels": { "org.opencontainers.image.base.digest": "6c78fe6c70b796b20053f9e161f401ea5f0f075eff7c09d9f491da3cff1a454e", "org.opencontainers.image.created": "2024-06-07T07:49:48.484220+00:00", "org.opencontainers.image.licenses": "Apache-2.0", "org.opencontainers.image.ref.name": "gubernator", "org.opencontainers.image.title": "gubernator", "org.opencontainers.image.version": "2.7.5" } }, ``` ### Why it needs to get done labels are important metadata carried by image, and are widely used.

Evaluation history

No evaluation history available.