Debian group distributions API (FREE SELF)
- Introduced in GitLab 14.2.
- Deployed behind a feature flag, disabled by default.
This is the reference documentation for the Debian group distributions API. This API is behind a feature flag that is disabled by default. To use this API, you must enable it.
WARNING: This API is under development and is not meant for production use.
For more information about working with Debian packages, see the Debian package registry documentation.
NOTE:
The Debian registry is not FIPS compliant and is disabled when FIPS mode is enabled.
These endpoints will all return 404 Not Found
.
Enable the Debian group API
Debian group repository support is still a work in progress. It's gated behind a feature flag that's disabled by default. GitLab administrators with access to the GitLab Rails console can opt to enable it. To enable it, follow the instructions in Enable the Debian group API.
List all Debian distributions in a group
Lists Debian distributions in the given group.
GET /groups/:id/debian_distributions
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | The ID or URL-encoded path of the group. |
codename |
string | no | Filter with specific codename . |
suite |
string | no | Filter with specific suite . |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/debian_distributions"
Example response:
[
{
"id": 1,
"codename": "unstable",
"suite": null,
"origin": null,
"label": null,
"version": null,
"description": null,
"valid_time_duration_seconds": null,
"components": [
"main"
],
"architectures": [
"all",
"amd64"
]
}
]
Single Debian group distribution
Gets a single Debian group distribution.
GET /groups/:id/debian_distributions/:codename
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | The ID or URL-encoded path of the group owned by the authenticated user. |
codename |
integer | yes | The codename of a distribution. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/debian_distributions/unstable"
Example response:
{
"id": 1,
"codename": "unstable",
"suite": null,
"origin": null,
"label": null,
"version": null,
"description": null,
"valid_time_duration_seconds": null,
"components": [
"main"
],
"architectures": [
"all",
"amd64"
]
}
Single Debian group distribution key
Gets a single Debian group distribution key.
GET /groups/:id/debian_distributions/:codename/key.asc
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | The ID or URL-encoded path of the group owned by the authenticated user. |
codename |
integer | yes | The codename of a distribution. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/debian_distributions/unstable/key.asc"
Example response:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: Alice's OpenPGP certificate
Comment: https://www.ietf.org/id/draft-bre-openpgp-samples-01.html
mDMEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U
b7O1u120JkFsaWNlIExvdmVsYWNlIDxhbGljZUBvcGVucGdwLmV4YW1wbGU+iJAE
ExYIADgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTrhbtfozp14V6UTmPy
MVUMT0fjjgUCXaWfOgAKCRDyMVUMT0fjjukrAPoDnHBSogOmsHOsd9qGsiZpgRnO
dypvbm+QtXZqth9rvwD9HcDC0tC+PHAsO7OTh1S1TC9RiJsvawAfCPaQZoed8gK4
OARcRwTpEgorBgEEAZdVAQUBAQdAQv8GIa2rSTzgqbXCpDDYMiKRVitCsy203x3s
E9+eviIDAQgHiHgEGBYIACAWIQTrhbtfozp14V6UTmPyMVUMT0fjjgUCXEcE6QIb
DAAKCRDyMVUMT0fjjlnQAQDFHUs6TIcxrNTtEZFjUFm1M0PJ1Dng/cDW4xN80fsn
0QEA22Kr7VkCjeAEC08VSTeV+QFsmz55/lntWkwYWhmvOgE=
=iIGO
-----END PGP PUBLIC KEY BLOCK-----
Create a Debian group distribution
Creates a Debian group distribution.
POST /groups/:id/debian_distributions
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | The ID or URL-encoded path of the group owned by the authenticated user. |
codename |
string | yes | The codename of a Debian distribution. |
suite |
string | no | The suite of the new Debian distribution. |
origin |
string | no | The origin of the new Debian distribution. |
label |
string | no | The label of the new Debian distribution. |
version |
string | no | The version of the new Debian distribution. |
description |
string | no | The description of the new Debian distribution. |
valid_time_duration_seconds |
integer | no | The valid time duration (in seconds) of the new Debian distribution. |
components |
architectures | no | The new Debian distribution's list of components. |
architectures |
architectures | no | The new Debian distribution's list of architectures. |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/debian_distributions?codename=unstable"
Example response:
{
"id": 1,
"codename": "unstable",
"suite": null,
"origin": null,
"label": null,
"version": null,
"description": null,
"valid_time_duration_seconds": null,
"components": [
"main"
],
"architectures": [
"all",
"amd64"
]
}
Update a Debian group distribution
Updates a Debian group distribution.
PUT /groups/:id/debian_distributions/:codename
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | The ID or URL-encoded path of the group owned by the authenticated user. |
codename |
string | yes | The Debian distribution's new codename. |
suite |
string | no | The Debian distribution's new suite. |
origin |
string | no | The Debian distribution's new origin. |
label |
string | no | The Debian distribution's new label. |
version |
string | no | The Debian distribution's new version. |
description |
string | no | The Debian distribution's new description. |
valid_time_duration_seconds |
integer | no | The Debian distribution's new valid time duration (in seconds). |
components |
architectures | no | The Debian distribution's new list of components. |
architectures |
architectures | no | The Debian distribution's new list of architectures. |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/debian_distributions/unstable?suite=new-suite&valid_time_duration_seconds=604800"
Example response:
{
"id": 1,
"codename": "unstable",
"suite": "new-suite",
"origin": null,
"label": null,
"version": null,
"description": null,
"valid_time_duration_seconds": 604800,
"components": [
"main"
],
"architectures": [
"all",
"amd64"
]
}
Delete a Debian group distribution
Deletes a Debian group distribution.
DELETE /groups/:id/debian_distributions/:codename
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | The ID or URL-encoded path of the group owned by the authenticated user. |
codename |
integer | yes | The codename of the Debian distribution. |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/debian_distributions/unstable"