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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitlab-registry-usage-rest-0.3.3.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitlab_registry_usage_rest-0.3.3-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file gitlab-registry-usage-rest-0.3.3.tar.gz.

File metadata

File hashes

Hashes for gitlab-registry-usage-rest-0.3.3.tar.gz
Algorithm Hash digest
SHA256 c7a0d124474cadd7a4d7c9fdd96c2869907ab0f691740e358b1bb9385e85b090
MD5 c8d40ee4f82ad5fcde21b66b3597cd82
BLAKE2b-256 15e29b16d0a63e375e10e2f801487302ee3dd9fae93446a99a7c437aa208ed9a

See more details on using hashes here.

File details

Details for the file gitlab_registry_usage_rest-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for gitlab_registry_usage_rest-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8310130d49744c89f208920c5b380be2271368866fe9a874c847ce0ddaf4f777
MD5 ee542d2e2f56ee70f4509113e12796a9
BLAKE2b-256 698e9a9cc4130ccbb9e9824a273989be01e2005bc2fff0fc23e36a7e39229b8a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.6

2 files

0.2.5

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page