Skip to content
This repository was archived by the owner on Apr 21, 2022. It is now read-only.
This repository was archived by the owner on Apr 21, 2022. It is now read-only.

labels for Singularity (scientific containers) #32

Description

@vsoch

hey label-schema team! I'm one of the developers for Singularity (http://singularity.lbl.gov) which is a container that is primarily for HPC and science (doesn't have security risks of Docker). I've seen your schema used for some Docker containers, and would be interested to follow suit for Singularity. Right now our default metadata labels are rather general:

singularity inspect --json centos-7.img
{
    "data": {
        "attributes": {
            "labels": {
                "build-date": "20170605",
                "vendor": "CentOS",
                "name": "CentOS Base Image",
                "license": "GPLv2"
            }
        },
        "type": "container"
    }
}

the above outputs the JSON API spec, but the labels itself is just a flat dictionary:

singularity inspect centos-7.img
 {
    "build-date": "20170605",
    "vendor": "CentOS",
    "name": "CentOS Base Image",
    "license": "GPLv2"
}

We are adding modular application support for inside the images, and in addition to a structural format, since we will have labels for each internal module (and the container) it would be really great to have standard labels! This might also help issue #31. What are your thoughts? What is the process we could go about this? What I would propose to do is make a first pass at a set of singularity labels here --> https://docs.google.com/document/d/1k0I1M1BIR1aqGxVVJrow_Gj3T8BXHco-oqnreYKuxL8/edit?usp=sharing (this is the document we are working on the internal structure) and then if you like, I can PR something here? Do you have a spec / definitions outside of this repo?

Generally, scientists need more information about container metrics that are important for reproducibility. This would mean things like software versioning and hardware intended for, some metadata about the authors possibly, and labels specific to the modules inside (and this is a hard territory to venture into, but also workflow type things like inputs and outputs). The goal would be to find a container, know how it was made, what it is intended for and how to run it,and then be able to do so.

Looking forward to chatting with you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions