Skip to main content

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 valid Bearer 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.

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)

Source distribution for gitlab-registry-usage-rest 0.3.3
File Size Uploaded
gitlab-registry-usage-rest-0.3.3.tar.gz 10.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gitlab-registry-usage-rest 0.3.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page