Marketplace
19 min
the marketplace module manages docker images and containers on litmus edge imports from litmussdk import marketplace all functions are accessible directly from the marketplace namespace overview overview = marketplace marketplace overview() # dict images listing images images = marketplace list all images() # list\[dict] \# each entry {id, repotags, size, created, } ftp images = marketplace list ftp images() # list\[dict], images staged on ftp getting image details details = marketplace image details(image id) # dict pulling an image \# find a registry (e g public docker hub) registries = marketplace list registries() registry = next(r for r in registries if "docker" in r\["name"] lower()) registry id = registry\["id"] \# trigger the pull, returns the pull job id job = marketplace pull image( image name="ubuntu", image tag="latest", registry id=registry id, ) \# check pull job status pulls = marketplace list image pulls() uploading a local image import pathlib job id = marketplace upload image( file name="my app tar", image name="my app", path to file=pathlib path("/path/to/my app tar"), ) uploading from ftp \# file must already be in ftp data/docker images on the device job = marketplace upload from ftp("my app tar") \# check upload job status jobs = marketplace list upload jobs() removing images marketplace remove images( image ids=\[image id 1, image id 2], force remove=true, prune children=true, ) containers listing containers containers = marketplace list all containers(include exited=true) # list\[dict] \# each entry {id, names, image, status, state, } running a container result = marketplace run container( "docker run d name my app p 8080 80 my app\ latest" ) container id = result\["id"] lifecycle marketplace start containers(\[container id]) marketplace stop containers(\[container id]) marketplace pause containers(\[container id]) marketplace unpause containers(\[container id]) pass a list of ids all lifecycle functions accept multiple containers at once removing containers \# single marketplace delete container by id(container id) \# multiple marketplace remove containers list by ids(\[container id 1, container id 2]) \# prune all stopped containers marketplace prune containers() inspecting a container info = marketplace container inspect(container id) # dict, full docker inspect output logs = marketplace container log(container id) # str, container stdout/stderr top = marketplace container top(container id) # dict, running processes prometheus metrics metrics = marketplace prometheus metrics() # str, raw prometheus exposition format license copyright (c) litmus automation inc