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 validBearerauthorization 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.
Metadata
Release files for gitlab-registry-usage-rest 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gitlab-registry-usage-rest-0.3.3.tar.gz | 10.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gitlab_registry_usage_rest-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.4 kB
Release files / gitlab-registry-usage-rest-0.3.3.tar.gz
| Download URL | gitlab-registry-usage-rest-0.3.3.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c7a0d124474cadd7a4d7c9fdd96c2869907ab0f691740e358b1bb9385e85b090
|
|
BLAKE2b-256 checksum How to use checksums |
15e29b16d0a63e375e10e2f801487302ee3dd9fae93446a99a7c437aa208ed9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.1
|
Release files / gitlab_registry_usage_rest-0.3.3-py3-none-any.whl
| Download URL | gitlab_registry_usage_rest-0.3.3-py3-none-any.whl |
|---|---|
| Size | 11.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8310130d49744c89f208920c5b380be2271368866fe9a874c847ce0ddaf4f777
|
|
BLAKE2b-256 checksum How to use checksums |
698e9a9cc4130ccbb9e9824a273989be01e2005bc2fff0fc23e36a7e39229b8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.1
|