Docker Tools

Validate Docker Repository

class challengeutils.dockertools.DockerRepository(docker_repo: str, docker_digest: str, index_endpoint: str)[source]

Bases: object

Forms request url and gets the docker respository with requests packages

get(**kwargs)[source]

Gets docker repository response

Parameters

**kwargs – username: Docker registry username password: Docker registry password

Returns

Docker response

get_request_url()[source]

Gets request URL

challengeutils.dockertools.check_docker_exists(docker_resp: requests.models.Response)[source]

Check if Docker image + sha exists

Parameters

docker_resp – Docker response

Raises

ValueError – If docker image and sha doesn’t exist

challengeutils.dockertools.check_docker_size(docker_resp: requests.models.Response, size: int = 1000)[source]

Checks Docker container is less than specified size

Parameters
  • docker_resp – Docker response

  • size – Size in GB

Raises

ValueError – Docker container is over specified size

challengeutils.dockertools.validate_docker(docker_repo: str, docker_digest: str, index_endpoint: str, username: str = None, password: str = None)[source]

Validates a Docker Respository

Parameters
  • docker_repo – Docker repository without tags or sha

  • docker_digest – Docker repository sha digest

  • index_endpoint – Docker registry endpoint. Dockerhub - https://registry.hub.docker.com Synapse - https://docker.synapse.org

  • username – Docker registry username

  • password – Docker registry password

Returns

True if valid, False if not