Package for accessing a Docker v2 registry
Project description
aiodxf
asyncio port of dxf
Usage
The aiodxf command-line tool uses the following environment variables:
DXF_HOST- Host where Docker registry is running.DXF_INSECURE- Set this to1if you want to connect to the registry usinghttprather thanhttps(which is the default).DXF_USERNAME- Name of user to authenticate as.DXF_PASSWORD- User's password.DXF_AUTHORIZATION- HTTPAuthorizationheader value.DXF_AUTH_HOST- If set, always perform token authentication to this host, overriding the value returned by the registry.DXF_PROGRESS- If this is set to1, a progress bar is displayed (on standard error) duringpush-blobandpull-blob. If this is set to0, a progress bar is not displayed. If this is set to any other value, a progress bar is only displayed if standard error is a terminal.DXF_BLOB_INFO- Set this to1if you wantpull-blobto prepend each blob with its digest and size (printed in plain text, separated by a space and followed by a newline).DXF_CHUNK_SIZE- Number of bytespull-blobshould download at a time. Defaults to 8192.DXF_SKIPTLSVERIFY- Set this to1to skip TLS certificate verification.DXF_TLSVERIFY- Optional path to custom CA bundle to use for TLS verification.
You can use the following options with dxf. Supply the name of the repository
you wish to work with in each case as the second argument.
-
aiodxf push-blob <repo> <file> [@alias]Upload a file to the registry and optionally give it a name (alias). The blob's hash is printed to standard output.
The hash or the alias can be used to fetch the blob later using
pull-blob. -
aiodxf pull-blob <repo> <hash>|<@alias>...Download blobs from the registry to standard output. For each blob you can specify its hash, prefixed by
sha256:(remember the registry is content-addressable) or an alias you've given it (usingpush-bloborset-alias). -
aiodxf blob-size <repo> <hash>|<@alias>...Print the size of blobs in the registry. If you specify an alias, the sum of all the blobs it points to will be printed.
-
aiodxf del-blob <repo> <hash>|<@alias>...Delete blobs from the registry. If you specify an alias the blobs it points to will be deleted, not the alias itself. Use
del-aliasfor that. -
aiodxf set-alias <repo> <alias> <hash>|<file>...Give a name (alias) to a set of blobs. For each blob you can either specify its hash (as printed by
get-blob) or, if you have the blob's contents on disk, its filename (including a path separator to distinguish it from a hash). -
aiodxf get-alias <repo> <alias>...For each alias you specify, print the hashes of all the blobs it points to.
-
aiodxf del-alias <repo> <alias>...Delete each specified alias. The blobs they point to won't be deleted (use
del-blobfor that), but their hashes will be printed. -
aiodxf list-aliases <repo>Print all the aliases defined in the repository.
-
aiodxf list-reposPrint the names of all the repositories in the registry. Not all versions of the registry support this.
-
aiodxf get-digest <repo> <alias>...For each alias you specify, print the hash of its configuration blob. For an alias created using
dxf, this is the hash of the first blob it points to. For a Docker image tag, this is the same asdocker inspect alias --format='{{.Id}}'.
Certificates
If your registry uses SSL with a self-issued certificate, you'll need to supply
dxf with a set of trusted certificate authorities.
You can set the DXF_TLSVERIFY environment variable to the path of a PEM file
containing the trusted certificate authority certificates for the command-line
tool or pass the tlsverify option to the module.
Authentication tokens
dxf automatically obtains Docker registry authentication tokens using your
DXF_USERNAME and DXF_PASSWORD, or DXF_AUTHORIZATION, environment variables
as necessary.
However, if you wish to override this then you can use the following command:
-
aiodxf auth <repo> <action>...Authenticate to the registry using
DXF_USERNAMEandDXF_PASSWORD, orDXF_AUTHORIZATION, and print the resulting token.actioncan bepull,pushor*.
If you assign the token to the DXF_TOKEN environment variable, for example:
DXF_TOKEN=$(aiodxf auth fred/datalogger pull)
then subsequent dxf commands will use the token without needing
DXF_USERNAME and DXF_PASSWORD, or DXF_AUTHORIZATION, to be set.
Note however that the token expires after a few minutes, after which dxf will
exit with EACCES.
Installation
pip install aiodxf
Licence
Tests
make test
Lint
make lint
Code Coverage
make coverage
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiodxf-7.5.5.tar.gz.
File metadata
- Download URL: aiodxf-7.5.5.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
175842236945e35590d7101b91203bf3be7afbdd31f1c99390b48196deec0378
|
|
| MD5 |
63724649c734db5dcf545cb12793e17d
|
|
| BLAKE2b-256 |
abf8073d0f3168fc65847daade7dda01e777e2bb3c1e808df2d9d3251ac9e0ee
|
File details
Details for the file aiodxf-7.5.5-py2.py3-none-any.whl.
File metadata
- Download URL: aiodxf-7.5.5-py2.py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c606feadc119512bcc6768ea96296064a066aeb9000c4c22b59bd5bc98159c45
|
|
| MD5 |
790dfdafd6e5b17d662b922f47345507
|
|
| BLAKE2b-256 |
75da083b06fa1b004c633f525d676a1aa30773d33f4ea6d94aa6562987f142b6
|