This is a package for querying the size of images in a GitLab registry.
Project description
Introduction
GitLab-Registry-Usage is a package for querying the sizes of Docker images stored in a GitLab registry. The package has been created because it is not possible to monitor sizes of GitLab registry images with GitLab web monitoring tools (GitLab version <= 10.5.4).
Installation
The latest version is available from PyPI:
pip install gitlab-registry-usage
Usage
Command Line Interface
After installing with pip, a gitlab-registry-usage command is available:
$ gitlab-registry-usage --help
usage: gitlab-registry-usage [-h] [-g GITLAB_SERVER] [-r REGISTRY_SERVER]
[-s {name,size,disksize}] [-c CREDENTIALS_FILE]
[-u USERNAME] [-V]
gitlab-registry-usage is a utility for querying the memory usage of images in a GitLab registry.
optional arguments:
-h, --help show this help message and exit
-g GITLAB_SERVER, --gitlab-server GITLAB_SERVER
GitLab server hostname (for example `mygitlab.com`)
-r REGISTRY_SERVER, --registry-server REGISTRY_SERVER
GitLab registry server hostname (for example
`registry.mygitlab.com`)
-s {name,size,disksize}, --sort {name,size,disksize}
sorting order (default: name)
-c CREDENTIALS_FILE, --credentials-file CREDENTIALS_FILE
path to a file containing username and password/access
token (on two separate lines)
-u USERNAME, --user USERNAME
user account for querying the GitLab API (default:
root)
-V, --version print the version number and exit
You should specify a GitLab server hostname (-g), a GitLab registry server hostname (-r) and either a credentials file (-c) or username (-u) and password (read from stdin).
API
The module offers a high level GitLabRegistry class to query the image catalog and image sizes. This example prints all images, tags and their sizes:
from gitlab_registry_usage.registry import GitLabRegistry
# TODO: set these values!
gitlab_base_url = ''
registry_base_url = ''
username = 'root'
access_token = '0000000000'
gitlab_registry = GitLabRegistry(
gitlab_base_url, registry_base_url, username, access_token
)
for image in gitlab_registry.image_tags.keys():
image_tags = gitlab_registry.image_tags[image]
image_size = gitlab_registry.image_sizes[image]
image_disk_size = gitlab_registry.image_disk_sizes[image]
tag_sizes = gitlab_registry.tag_sizes[image]
tag_disk_sizes = gitlab_registry.tag_disk_sizes[image]
if (
image_tags is not None and image_size is not None
and image_disk_size is not None and tag_sizes is not None
and tag_disk_sizes is not None
):
print(
'{}: image size: {}, image disk size: {}'.format(
image, image_size, image_disk_size
)
)
for tag in image_tags:
print(
'{}: tag size: {}, tag disk size: {}'.format(
tag, tag_sizes[tag], tag_disk_sizes[tag]
)
)
else:
print('{}: no further information available'.format(image))
print()
print(
('total size: {}, total disk size: {}').format(
gitlab_registry.total_size, gitlab_registry.total_disk_size
)
)
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
Hashes for gitlab-registry-usage-0.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3961c57996e3baffa4fda00a53154a81b4d8ba485d6785651a2674127ce39cef |
|
MD5 | c35fe8c9c16d3914b6e5ea29b534dd24 |
|
BLAKE2b-256 | 134cf35e7382aeba1740e7db10947e74a48f9f2434b6b2e4f8e2e39cd1492721 |
Hashes for gitlab_registry_usage-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0677cd0928de8532313d4e372504acb85431dec856a0df9eb2ecd63e5b5834f |
|
MD5 | a90dc1d72e135a3c3ea47f8baf02b970 |
|
BLAKE2b-256 | 3b317d189a77d03e73df98a3d0456a567bcd2b4da72d0717c0f2c01859b4a33c |