SeqsLab Container Registry#

Objective#

This tutorial will help you register an external container registry on SeqsLab.

Prerequisites#

Before you begin, you will need the following:

About SeqsLab Container Registry#

SeqsLab follows GA4GH TRS(external link) API standard, which provides a process to define tools with the aid of standardized workflow languages, and runtime environment containerization. By default, official Registry provides Atgenomix maintained runtime images that can be used for tools in the public registry, e.g. dockstore. For users hosting private runtime images, we provide an interface to register external container registries to SeqsLab platform. As such, privately owned runtime images can be registered and utilized on SeqsLab.

Note

We only support tool registration based on runtime images stored in the registered container registries on SeqsLab. Please do container registry registration before using the runtime images for tool registration.

Register Container Registry#

Please gather the following information for the container registry:

  • login_server: Container Registry Login Server, e.g. atgenomix.azurecr.io.

  • username: Container Registry username, e.g. atgenomix.

  • password: Container Registry password, e.g. xx000123.

seqslab scr register \
    --login-server "atgenomix.azurecr.io" \
    --username "atgenomix" \
    --password "xx000123"

List Container Registry#

seqslab scr list --reload
[
    {
        "id": -1,
        "login_server": "ghcr.io/atgenomix"
    },
    {
        "id": 1,
        "login_server": "atgenomix.azurecr.io"
    }
]

Get Container Registry#

seqslab scr get --id -1
{
    "id": -1,
    "name": "GitHub",
    "login_server": "ghcr.io/atgenomix",
    "admin_user": false,
    "authorization": "Basic OmdocF9IYkFVcmlyWHMzdUE0c1haMFk4Q0p6UTRIeGx2eVAwRVVYRGU=",
    "repositories": [
        {
            "name": "runtime/base"
        },
        ...
    ]
}

Get Container Repository#

seqslab scr repository --id -1 --repository runtime/base --reload
{
    "name": "runtime/base",
    "tags": [
        {
            "name": "1.5_20.04_2023-12-07-12-36",
            "digest": "sha256:e34eeaa136d0bad25ae5a96fada07c4e65ce086687e0f3d3f6a567ef9aed01ea",
            "created": "2023-12-07T13:02:19Z",
            "last_updated": "2023-12-07T13:02:19Z",
            "size": 0,
            "type": "docker"
        },
        {
            "name": "1.5_20.04",
            "digest": "sha256:e34eeaa136d0bad25ae5a96fada07c4e65ce086687e0f3d3f6a567ef9aed01ea",
            "created": "2023-12-07T13:02:19Z",
            "last_updated": "2023-12-07T13:02:19Z",
            "size": 0,
            "type": "docker"
        },
        ...
    ]
}

Update Container Registry#

seqslab scr update --id 1 --username developer --password zzyyxxx123

Deregister Container Registry#

seqslab scr deregister --id 1