sonic-buildimage/files/build_templates/manifest.json.j2
Stepan Blyshchak cd2c86eab6
[dockers] label SONiC Docker with manifest (#5939)
Signed-off-by: Stepan Blyschak stepanb@nvidia.com

This PR is part of SONiC Application Extension

Depends on #5938

- Why I did it
To provide an infrastructure change in order to support SONiC Application Extension feature.

- How I did it
Label every installable SONiC Docker with a minimal required manifest and auto-generate packages.json file based on
installed SONiC images.

- How to verify it
Build an image, execute the following command:

admin@sonic:~$ docker inspect docker-snmp:1.0.0 | jq '.[0].Config.Labels["com.azure.sonic.manifest"]' -r | jq
Cat /var/lib/sonic-package-manager/packages.json file to verify all dockers are listed there.
2021-04-26 13:51:50 -07:00

27 lines
1.0 KiB
Django/Jinja

{
"version": "1.0.0",
"package": {
"version": "{{ version }}",
"depends": {{ depends.split()|json if depends is defined else []}},
"name": "{{ package_name }}"
},
"service": {
"name": "{{ name }}",
"requires": {{ requires.split()|json if requires is defined else [] }},
"after": {{ after.split()|json if after is defined else [] }},
"before": {{ before.split()|json if before is defined else [] }},
"dependent-of": {{ dependent_of.split()|json if dependent_of is defined else [] }},
"asic-service": {{ asic_service }},
"host-service": {{ host_service }}
},
"container": {
"privileged": {{ privileged if privileged else 'false' }},
"volumes": {{ volumes.split()|json if volumes is defined else [] }},
"tmpfs": {{ tmpfs.split()|json if tmpfs is defined else [] }}
},
"cli": {
"config": "{{ config_cli_plugin|default('') }}",
"show": "{{ show_cli_plugin|default('') }}"
}
}