-
Notifications
You must be signed in to change notification settings - Fork 0
/
manifesttest.py
43 lines (40 loc) · 1.9 KB
/
manifesttest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import docker_registry_client.manifest_utils as utils
import docker_registry_client.reposession as repo
__author__ = "Chris Stradtman"
__license__ = "MIT"
__version__ = "1.0"
requestlist = [
{"repo": "mcr.microsoft.com", "repopath": "dotnet/core/sdk", "tag": "latest"},
{"repo": "index.docker.io", "repopath": "library/busybox", "tag": "latest"},
# {"repo": "index.docker.io", "repopath": "library/busybox", "tag": "latest" #,
# "username": "repousername", "password": "repopassword"},
# {"repo": "index.docker.io", "repopath": "dockeraccountname/privaterepo",
# "tag": "latest", "username": "repousername", "password": "repopassword"} ,
# {"repo": "index.docker.io", "repopath": "dockeraccountname/privaterepo", "tag": "latest"}
# ^^^^^this one SHOULD fail do to no credentials^^^^^
]
for request in requestlist:
print("===================================")
if "username" in request:
mysession = repo.RepoSession(
request["repo"], request["username"], request["password"])
else:
mysession = repo.RepoSession(request["repo"])
mysession.ConnectToRepository(request["repopath"])
manifest = mysession.GetManifest("latest")
print("Repo="+request["repo"])
print("Repo Path="+request["repopath"])
print("Repo tag="+request["tag"])
print("")
print("Etag="+utils.getManifestEtag(manifest))
print("Type="+utils.getManifestType(manifest))
print("ApiVersion="+utils.getManifestApiVersion(manifest))
print("RetrievalDate="+utils.getManifestRetrievalDate(manifest))
print("SchemaVersion="+str(utils.getManifestSchemaVersion(manifest)))
print("Name="+utils.getManifestName(manifest))
print("Tag="+utils.getManifestTag(manifest))
print("Architecture="+utils.getManifestArchitecture(manifest))
print("***********************************************************")
print("")
print("")
print("")