hey @alecbcs ! I am building some base containers for spack, and I was thinking we should design a label schema, e.g., right now it's common to see:
'Labels': {'org.label-schema.build-date': '20201113',
'org.label-schema.license': 'GPLv2',
'org.label-schema.name': 'CentOS Base Image',
'org.label-schema.schema-version': '1.0',
'org.label-schema.vendor': 'CentOS',
'org.opencontainers.image.created': '2020-11-13 00:00:00+00:00',
'org.opencontainers.image.licenses': 'GPL-2.0-only',
'org.opencontainers.image.title': 'CentOS Base Image',
'org.opencontainers.image.vendor': 'CentOS'},
and I could imagine:
'org.spack.package.name': 'zlib',
'org.spack.package.version': '1.2.11',
'org.spack.compiler.name': 'gcc',
'org.spack.compiler.version': '9.5.0,
OR
'org.spack.packages': 'zlib@1.2.11,zlib@1.0.10',
'org.spack.compilers': 'gcc@9.5.0,gcc@7.5.0',
And we'd create labels for whatever attributes we can derive, and that way they can be programatically accessible. What do you think? If you are down, I'm going to start working on a spack/label-schema repository and we can pick up there. Why? I had a recent need to add compilers so I can get them for some container with spack without needing to pull, and I was like lightbulb we should do this formally!