Debian group distributions API

Version history

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.

caution
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.

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.

Authenticate to the Debian distributions APIs

See Authenticate to the Debian distributions APIs.

List all Debian distributions in a group

Lists Debian distributions in the given group.

GET /groups/:id/-/debian_distributions
AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group.
codenamestringnoFilter with specific codename.
suitestringnoFilter 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": "sid",
    "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
AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group owned by the authenticated user.
codenamestringyesThe 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": "sid",
  "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
AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group owned by the authenticated user.
codenamestringyesThe 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
AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group owned by the authenticated user.
codenamestringyesThe codename of a Debian distribution.
suitestringnoThe suite of the new Debian distribution.
originstringnoThe origin of the new Debian distribution.
labelstringnoThe label of the new Debian distribution.
versionstringnoThe version of the new Debian distribution.
descriptionstringnoThe description of the new Debian distribution.
valid_time_duration_secondsintegernoThe valid time duration (in seconds) of the new Debian distribution.
componentsstring arraynoThe new Debian distribution’s list of components.
architecturesstring arraynoThe 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=sid"

Example response:

{
  "id": 1,
  "codename": "sid",
  "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
AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group owned by the authenticated user.
codenamestringyesThe Debian distribution’s new codename.
suitestringnoThe Debian distribution’s new suite.
originstringnoThe Debian distribution’s new origin.
labelstringnoThe Debian distribution’s new label.
versionstringnoThe Debian distribution’s new version.
descriptionstringnoThe Debian distribution’s new description.
valid_time_duration_secondsintegernoThe Debian distribution’s new valid time duration (in seconds).
componentsstring arraynoThe Debian distribution’s new list of components.
architecturesstring arraynoThe 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": "sid",
  "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
AttributeTypeRequiredDescription
idinteger/stringyesThe ID or URL-encoded path of the group owned by the authenticated user.
codenamestringyesThe 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"