A restful web service for querying the repository sizes of a GitLab registry.
Project description
GitLab-Registry-Usage-REST
Introduction
GitLab-Registry-Usage-REST is a package that periodically collects repository information (names, tags, sizes) of a GitLab registry server and offers the data via a secured RESTful HAL api. For the initial authentication a LDAP server is needed. Subsequent queries are secured by JSON Web Tokens (JWT).
Installation
The latest version can be obtained from PyPI:
pip install gitlab-registry-usage-rest
gitlab-registry-usage-rest --help
or from DockerHub:
docker run sciapp/gitlab-registry-usage-rest:latest --help
or from the AUR for Arch Linux based systems:
yay -S gitlab-registry-usage-rest
Usage
Gitlab-Registry-Usage-REST needs a configuration file in order to run. The default path is
/etc/gitlab_registry_usage_rest.conf
but can be altered with the -c
command line switch. To get started, you can run
gitlab-registry-usage-rest --print-default-config
and edit this default configuration to fit your environment.
If you would like to use the docker repository, you can bind mount a local configuration file with the -v
switch:
docker run -v "$(pwd)/gitlab_registry_usage_rest.conf:/etc/gitlab_registry_usage_rest.conf" sciapp/gitlab-registry-usage-rest:latest
Note: Docker expects an absolute path for the local configuration file.
The server offers these api endpoints:
-
/auth_token
: Accepts a request with basic auth (and valid LDAP credentials) and returns an auth token for further api usage. All other endpoints only accept requests with a validBearer
authorization header:Authorization: Bearer <token>
-
/repositories
: Lists attributes of the repositories collection. Currently, only the timestamp of the last data refresh is contained:{ "timestamp": 1521796487.7021387 }
-
/repositories/<repository_name>
: Queries attributes of a specific repository:{ "name": "scientific-it-systems/administration/gitlab-registry-usage-rest", "size": 39899199, "disk_size": 39898911 }
-
/repositories/<repository_name>/tags
: Endpoint for the collection of repository tags, currently without any content. -
/repositories/<repository_name>/tags/<tag_name>
: Lists attributes of a tagged image stored in a repository:{ "name": "latest", "size": 39899199, "disk_size": 39898911 }
Additionally, all api endpoints (except /auth_token
) offer an _embedded
and a _links
attribute if requested with
the query string:
?embed=true&links=true
Instead of a boolean value, the embed key can also take an integer number to only request a specific level of embedded resources.
Links can be used to easily navigate between related resources. Embedded resources are convenient to query a complete hierarchy of resources with one GET request. Accordingly, the request
/repositories?embed=true
returns all resources at once.
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
File details
Details for the file gitlab-registry-usage-rest-0.3.3.tar.gz
.
File metadata
- Download URL: gitlab-registry-usage-rest-0.3.3.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7a0d124474cadd7a4d7c9fdd96c2869907ab0f691740e358b1bb9385e85b090 |
|
MD5 | c8d40ee4f82ad5fcde21b66b3597cd82 |
|
BLAKE2b-256 | 15e29b16d0a63e375e10e2f801487302ee3dd9fae93446a99a7c437aa208ed9a |
File details
Details for the file gitlab_registry_usage_rest-0.3.3-py3-none-any.whl
.
File metadata
- Download URL: gitlab_registry_usage_rest-0.3.3-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8310130d49744c89f208920c5b380be2271368866fe9a874c847ce0ddaf4f777 |
|
MD5 | ee542d2e2f56ee70f4509113e12796a9 |
|
BLAKE2b-256 | 698e9a9cc4130ccbb9e9824a273989be01e2005bc2fff0fc23e36a7e39229b8a |