Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/packages/package_registry')
-rw-r--r--doc/user/packages/package_registry/index.md34
-rw-r--r--doc/user/packages/package_registry/reduce_package_registry_storage.md3
-rw-r--r--doc/user/packages/package_registry/supported_functionality.md227
-rw-r--r--doc/user/packages/package_registry/supported_hash_types.md11
-rw-r--r--doc/user/packages/package_registry/supported_package_managers.md32
5 files changed, 171 insertions, 136 deletions
diff --git a/doc/user/packages/package_registry/index.md b/doc/user/packages/package_registry/index.md
index cd60a229479..91186e6c159 100644
--- a/doc/user/packages/package_registry/index.md
+++ b/doc/user/packages/package_registry/index.md
@@ -71,9 +71,13 @@ NOTE:
If you have not activated the "Package registry" feature for your project at **Settings > General > Visibility, project features, permissions**, you receive a 403 Forbidden response.
Accessing package registry via deploy token is not available when external authorization is enabled.
-## Use GitLab CI/CD to build packages
+## Use GitLab CI/CD
+
+You can use [GitLab CI/CD](../../../ci/index.md) to build or import packages into
+a package registry.
+
+### To build packages
-You can use [GitLab CI/CD](../../../ci/index.md) to build packages.
For Maven, NuGet, npm, Conan, Helm, and PyPI packages, and Composer dependencies, you can
authenticate with GitLab by using the `CI_JOB_TOKEN`.
@@ -97,6 +101,16 @@ when you view the package details:
You can view which pipeline published the package, and the commit and user who triggered it. However, the history is limited to five updates of a given package.
+### To import packages
+
+If you already have packages built in a different registry, you can import them
+into your GitLab package registry with the [Packages Importer](https://gitlab.com/gitlab-org/ci-cd/package-stage/pkgs_importer)
+
+The Packages Importer runs a CI/CD pipeline that [can import these package types](https://gitlab.com/gitlab-org/ci-cd/package-stage/pkgs_importer#formats-supported):
+
+- NPM
+- NuGet
+
## Reduce storage usage
For information on reducing your storage use for the Package Registry, see
@@ -129,17 +143,17 @@ your project's settings. For example, if you have a public project and set the r
to **Only Project Members**, the Package Registry is then public. Disabling the Package
Registry disables all Package Registry operations.
-| Project visibility | Action | [Role](../../permissions.md#roles) required |
+| Project visibility | Action | Minimum [role](../../permissions.md#roles) required |
|--------------------|-----------------------|---------------------------------------------------------|
| Public | View Package Registry | `n/a`, everyone on the internet can perform this action |
-| Public | Publish a package | Developer or higher |
+| Public | Publish a package | Developer |
| Public | Pull a package | `n/a`, everyone on the internet can perform this action |
-| Internal | View Package Registry | Guest or higher |
-| Internal | Publish a package | Developer or higher |
-| Internal | Pull a package | Guest or higher(1) |
-| Private | View Package Registry | Reporter or higher |
-| Private | Publish a package | Developer or higher |
-| Private | Pull a package | Reporter or higher(1) |
+| Internal | View Package Registry | Guest |
+| Internal | Publish a package | Developer |
+| Internal | Pull a package | Guest (1) |
+| Private | View Package Registry | Reporter |
+| Private | Publish a package | Developer |
+| Private | Pull a package | Reporter (1) |
### Allow anyone to pull from Package Registry
diff --git a/doc/user/packages/package_registry/reduce_package_registry_storage.md b/doc/user/packages/package_registry/reduce_package_registry_storage.md
index 673196ebad5..020cad5ac14 100644
--- a/doc/user/packages/package_registry/reduce_package_registry_storage.md
+++ b/doc/user/packages/package_registry/reduce_package_registry_storage.md
@@ -35,6 +35,9 @@ To delete a package in the UI, from your group or project:
The package is permanently deleted.
+If [request forwarding](supported_functionality.md#forwarding-requests) is enabled,
+deleting a package can introduce a [dependency confusion risk](supported_functionality.md#deleting-packages).
+
## Delete assets associated with a package
To delete package assets, you must have suitable [permissions](../../permissions.md).
diff --git a/doc/user/packages/package_registry/supported_functionality.md b/doc/user/packages/package_registry/supported_functionality.md
index e56ae88872a..ca174c43565 100644
--- a/doc/user/packages/package_registry/supported_functionality.md
+++ b/doc/user/packages/package_registry/supported_functionality.md
@@ -13,77 +13,102 @@ and pulling packages, request forwarding, managing duplicates, and authenticatio
Packages can be published to your project, group, or instance.
-| Package type | Project | Group | Instance |
-|-----------------------------------------------------|---------|-------|----------|
-| [Maven](../maven_repository/index.md) | Y | N | N |
-| [npm](../npm_registry/index.md) | Y | N | N |
-| [NuGet](../nuget_repository/index.md) | Y | N | N |
-| [PyPI](../pypi_repository/index.md) | Y | N | N |
-| [Generic packages](../generic_packages/index.md) | Y | N | N |
-| [Terraform](../terraform_module_registry/index.md) | Y | N | N |
-| [Composer](../composer_repository/index.md) | N | Y | N |
-| [Conan](../conan_repository/index.md) | Y | N | N |
-| [Helm](../helm_repository/index.md) | Y | N | N |
-| [Debian](../debian_repository/index.md) | Y | N | N |
-| [Go](../go_proxy/index.md) | Y | N | Y |
-| [Ruby gems](../rubygems_registry/index.md) | Y | N | N |
+| Package type | Project | Group | Instance |
+|-------------------------------------------------------|---------|-------|----------|
+| [Maven (with `mvn`)](../maven_repository/index.md) | Y | N | N |
+| [Maven (with `gradle`)](../maven_repository/index.md) | Y | N | N |
+| [Maven (with `sbt`)](../maven_repository/index.md) | N | N | N |
+| [npm](../npm_registry/index.md) | Y | N | N |
+| [NuGet](../nuget_repository/index.md) | Y | N | N |
+| [PyPI](../pypi_repository/index.md) | Y | N | N |
+| [Generic packages](../generic_packages/index.md) | Y | N | N |
+| [Terraform](../terraform_module_registry/index.md) | Y | N | N |
+| [Composer](../composer_repository/index.md) | N | Y | N |
+| [Conan](../conan_repository/index.md) | Y | N | Y |
+| [Helm](../helm_repository/index.md) | Y | N | N |
+| [Debian](../debian_repository/index.md) | Y | N | N |
+| [Go](../go_proxy/index.md) | Y | N | N |
+| [Ruby gems](../rubygems_registry/index.md) | Y | N | N |
## Pulling packages **(FREE)**
Packages can be pulled from your project, group, or instance.
-| Package type | Project | Group | Instance |
-|-----------------------------------------------------|---------|-------|----------|
-| [Maven](../maven_repository/index.md) | Y | Y | Y |
-| [npm](../npm_registry/index.md) | Y | Y | Y |
-| [NuGet](../nuget_repository/index.md) | Y | Y | N |
-| [PyPI](../pypi_repository/index.md) | Y | Y | N |
-| [Generic packages](../generic_packages/index.md) | Y | N | N |
-| [Terraform](../terraform_module_registry/index.md) | N | Y | N |
-| [Composer](../composer_repository/index.md) | Y | Y | N |
-| [Conan](../conan_repository/index.md) | Y | N | Y |
-| [Helm](../helm_repository/index.md) | Y | N | N |
-| [Debian](../debian_repository/index.md) | Y | N | N |
-| [Go](../go_proxy/index.md) | Y | N | Y |
-| [Ruby gems](../rubygems_registry/index.md) | Y | N | N |
+| Package type | Project | Group | Instance |
+|-------------------------------------------------------|---------|-------|----------|
+| [Maven (with `mvn`)](../maven_repository/index.md) | Y | Y | Y |
+| [Maven (with `gradle`)](../maven_repository/index.md) | Y | Y | Y |
+| [Maven (with `sbt`)](../maven_repository/index.md) | Y | Y | Y |
+| [npm](../npm_registry/index.md) | Y | N | Y |
+| [NuGet](../nuget_repository/index.md) | Y | Y | N |
+| [PyPI](../pypi_repository/index.md) | Y | Y | N |
+| [Generic packages](../generic_packages/index.md) | Y | N | N |
+| [Terraform](../terraform_module_registry/index.md) | N | Y | N |
+| [Composer](../composer_repository/index.md) | Y | Y | N |
+| [Conan](../conan_repository/index.md) | Y | N | Y |
+| [Helm](../helm_repository/index.md) | Y | N | N |
+| [Debian](../debian_repository/index.md) | Y | N | N |
+| [Go](../go_proxy/index.md) | Y | N | Y |
+| [Ruby gems](../rubygems_registry/index.md) | Y | N | N |
## Forwarding requests **(PREMIUM)**
Requests for packages not found in your GitLab project are forwarded to the public registry. For example, Maven Central, npmjs, or PyPI.
-| Package type | Supports request forwarding |
-|-----------------------------------------------------|-----------------------------|
-| [Maven](../maven_repository/index.md) | Y |
-| [npm](../npm_registry/index.md) | Y |
-| [NuGet](../nuget_repository/index.md) | N |
-| [PyPI](../pypi_repository/index.md) | Y |
-| [Generic packages](../generic_packages/index.md) | N |
-| [Terraform](../terraform_module_registry/index.md) | N |
-| [Composer](../composer_repository/index.md) | N |
-| [Conan](../conan_repository/index.md) | N |
-| [Helm](../helm_repository/index.md) | N |
-| [Debian](../debian_repository/index.md) | N |
-| [Go](../go_proxy/index.md) | N |
-| [Ruby gems](../rubygems_registry/index.md) | N |
+| Package type | Supports request forwarding |
+|-------------------------------------------------------|-----------------------------|
+| [Maven (with `mvn`)](../maven_repository/index.md) | [Yes (disabled by default)](../../admin_area/settings/continuous_integration.md#maven-forwarding) |
+| [Maven (with `gradle`)](../maven_repository/index.md) | [Yes (disabled by default)](../../admin_area/settings/continuous_integration.md#maven-forwarding) |
+| [Maven (with `sbt`)](../maven_repository/index.md) | [Yes (disabled by default)](../../admin_area/settings/continuous_integration.md#maven-forwarding) |
+| [npm](../npm_registry/index.md) | [Yes](../../admin_area/settings/continuous_integration.md#npm-forwarding) |
+| [NuGet](../nuget_repository/index.md) | N |
+| [PyPI](../pypi_repository/index.md) | [Yes](../../admin_area/settings/continuous_integration.md#pypi-forwarding) |
+| [Generic packages](../generic_packages/index.md) | N |
+| [Terraform](../terraform_module_registry/index.md) | N |
+| [Composer](../composer_repository/index.md) | N |
+| [Conan](../conan_repository/index.md) | N |
+| [Helm](../helm_repository/index.md) | N |
+| [Debian](../debian_repository/index.md) | N |
+| [Go](../go_proxy/index.md) | N |
+| [Ruby gems](../rubygems_registry/index.md) | N |
+
+### Deleting packages
+
+When package requests are forwarded to a public registry, deleting packages can
+be a [dependency confusion vulnerability](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610).
+
+If a system tries to pull a deleted package, the request is forwarded to the public
+registry. If a package with the same name and version is found in the public registry, that package
+is pulled instead. There is a risk that the package pulled from the registry might not be
+what is expected, and could even be malicious.
+
+To reduce the associated security risks, before deleting a package you can:
+
+- Verify the package is not being actively used.
+- Disable request forwarding:
+ - Instance administrators can disable forwarding in the [**Continuous Integration** section](../../admin_area/settings/continuous_integration.md#package-registry-configuration) of the Admin Area.
+ - Group owners can disable forwarding in the **Packages and Registries** section of the group settings.
## Allow or prevent duplicates **(FREE)**
By default, the GitLab package registry either allows or prevents duplicates based on the default of that specific package manager format.
-| Package type | Duplicates allowed? |
-|-----------------------------------------------------|---------------------|
-| [Maven](../maven_repository/index.md) | Y (configurable) |
-| [npm](../npm_registry/index.md) | N |
-| [NuGet](../nuget_repository/index.md) | Y |
-| [PyPI](../pypi_repository/index.md) | N |
-| [Generic packages](../generic_packages/index.md) | Y (configurable) |
-| [Terraform](../terraform_module_registry/index.md) | N |
-| [Composer](../composer_repository/index.md) | N |
-| [Conan](../conan_repository/index.md) | N |
-| [Helm](../helm_repository/index.md) | Y |
-| [Debian](../debian_repository/index.md) | Y |
-| [Go](../go_proxy/index.md) | N |
-| [Ruby gems](../rubygems_registry/index.md) | Y |
+| Package type | Duplicates allowed? |
+|-------------------------------------------------------|---------------------|
+| [Maven (with `mvn`)](../maven_repository/index.md) | Y (configurable) |
+| [Maven (with `gradle`)](../maven_repository/index.md) | Y (configurable) |
+| [Maven (with `sbt`)](../maven_repository/index.md) | Y (configurable) |
+| [npm](../npm_registry/index.md) | N |
+| [NuGet](../nuget_repository/index.md) | Y |
+| [PyPI](../pypi_repository/index.md) | N |
+| [Generic packages](../generic_packages/index.md) | Y (configurable) |
+| [Terraform](../terraform_module_registry/index.md) | N |
+| [Composer](../composer_repository/index.md) | N |
+| [Conan](../conan_repository/index.md) | N |
+| [Helm](../helm_repository/index.md) | Y |
+| [Debian](../debian_repository/index.md) | Y |
+| [Go](../go_proxy/index.md) | N |
+| [Ruby gems](../rubygems_registry/index.md) | Y |
## Authentication tokens **(FREE)**
@@ -91,39 +116,45 @@ GitLab tokens are used to authenticate with the GitLab Package Registry.
The following tokens are supported:
-| Package type | Supported tokens |
-|-----------------------------------------------------|------------------------------------------------------------------------|
-| [Maven](../maven_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
-| [npm](../npm_registry/index.md) | Personal access, job tokens, deploy (project or group), project access |
-| [NuGet](../nuget_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
-| [PyPI](../pypi_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
-| [Generic packages](../generic_packages/index.md) | Personal access, job tokens, deploy (project or group), project access |
-| [Terraform](../terraform_module_registry/index.md) | Personal access, job tokens, deploy (project or group), project access |
-| [Composer](../composer_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
-| [Conan](../conan_repository/index.md) | Personal access, job tokens, project access |
-| [Helm](../helm_repository/index.md) | Personal access, job tokens, deploy (project or group) |
-| [Debian](../debian_repository/index.md) | Personal access, job tokens, deploy (project or group) |
-| [Go](../go_proxy/index.md) | Personal access, job tokens, project access |
-| [Ruby gems](../rubygems_registry/index.md) | Personal access, job tokens, deploy (project or group) |
+| Package type | Supported tokens |
+|-------------------------------------------------------|------------------------------------------------------------------------|
+| [Maven (with `mvn`)](../maven_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [Maven (with `gradle`)](../maven_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [Maven (with `sbt`)](../maven_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [npm](../npm_registry/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [NuGet](../nuget_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [PyPI](../pypi_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [Generic packages](../generic_packages/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [Terraform](../terraform_module_registry/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [Composer](../composer_repository/index.md) | Personal access, job tokens, deploy (project or group), project access |
+| [Conan](../conan_repository/index.md) | Personal access, job tokens, project access |
+| [Helm](../helm_repository/index.md) | Personal access, job tokens, deploy (project or group) |
+| [Debian](../debian_repository/index.md) | Personal access, job tokens, deploy (project or group) |
+| [Go](../go_proxy/index.md) | Personal access, job tokens, project access |
+| [Ruby gems](../rubygems_registry/index.md) | Personal access, job tokens, deploy (project or group) |
## Authentication protocols **(FREE)**
The following authentication protocols are supported:
-| Package type | Supported auth protocols |
-|-----------------------------------------------------|--------------------------|
-| [Maven](../maven_repository/index.md) | Headers |
-| [npm](../npm_registry/index.md) | OAuth |
-| [NuGet](../nuget_repository/index.md) | Basic auth |
-| [PyPI](../pypi_repository/index.md) | Basic auth |
-| [Generic packages](../generic_packages/index.md) | Basic auth |
-| [Terraform](../terraform_module_registry/index.md) | Token |
-| [Composer](../composer_repository/index.md) | OAuth |
-| [Conan](../conan_repository/index.md) | OAuth, Basic auth |
-| [Helm](../helm_repository/index.md) | Basic auth |
-| [Debian](../debian_repository/index.md) | Basic auth |
-| [Go](../go_proxy/index.md) | Basic auth |
-| [Ruby gems](../rubygems_registry/index.md) | Token |
+| Package type | Supported auth protocols |
+|-------------------------------------------------------|-------------------------------------------------------------|
+| [Maven (with `mvn`)](../maven_repository/index.md) | Headers, Basic auth ([pulling](#pulling-packages) only) (1) |
+| [Maven (with `gradle`)](../maven_repository/index.md) | Headers, Basic auth ([pulling](#pulling-packages) only) (1) |
+| [Maven (with `sbt`)](../maven_repository/index.md) | Basic auth (1) |
+| [npm](../npm_registry/index.md) | OAuth |
+| [NuGet](../nuget_repository/index.md) | Basic auth |
+| [PyPI](../pypi_repository/index.md) | Basic auth |
+| [Generic packages](../generic_packages/index.md) | Basic auth |
+| [Terraform](../terraform_module_registry/index.md) | Token |
+| [Composer](../composer_repository/index.md) | OAuth |
+| [Conan](../conan_repository/index.md) | OAuth, Basic auth |
+| [Helm](../helm_repository/index.md) | Basic auth |
+| [Debian](../debian_repository/index.md) | Basic auth |
+| [Go](../go_proxy/index.md) | Basic auth |
+| [Ruby gems](../rubygems_registry/index.md) | Token |
+
+1. Basic authentication for Maven packages [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/212854) in GitLab 16.0.
## Supported hash types **(FREE)**
@@ -131,16 +162,18 @@ Hash values are used to ensure you are using the correct package. You can view t
The Package Registry supports the following hash types:
-| Package type | Supported hashes |
-|--------------------------------------------------|----------------------------------|
-| [Maven](../maven_repository/index.md) | MD5, SHA1 |
-| [npm](../npm_registry/index.md) | SHA1 |
-| [NuGet](../nuget_repository/index.md) | not applicable |
-| [PyPI](../pypi_repository/index.md) | MD5, SHA256 |
-| [Generic packages](../generic_packages/index.md) | SHA256 |
-| [Composer](../composer_repository/index.md) | not applicable |
-| [Conan](../conan_repository/index.md) | MD5, SHA1 |
-| [Helm](../helm_repository/index.md) | not applicable |
-| [Debian](../debian_repository/index.md) | MD5, SHA1, SHA256 |
-| [Go](../go_proxy/index.md) | MD5, SHA1, SHA256 |
-| [Ruby gems](../rubygems_registry/index.md) | MD5, SHA1, SHA256 (gemspec only) |
+| Package type | Supported hashes |
+|-------------------------------------------------------|----------------------------------|
+| [Maven (with `mvn`)](../maven_repository/index.md) | MD5, SHA1 |
+| [Maven (with `gradle`)](../maven_repository/index.md) | MD5, SHA1 |
+| [Maven (with `sbt`)](../maven_repository/index.md) | MD5, SHA1 |
+| [npm](../npm_registry/index.md) | SHA1 |
+| [NuGet](../nuget_repository/index.md) | not applicable |
+| [PyPI](../pypi_repository/index.md) | MD5, SHA256 |
+| [Generic packages](../generic_packages/index.md) | SHA256 |
+| [Composer](../composer_repository/index.md) | not applicable |
+| [Conan](../conan_repository/index.md) | MD5, SHA1 |
+| [Helm](../helm_repository/index.md) | not applicable |
+| [Debian](../debian_repository/index.md) | MD5, SHA1, SHA256 |
+| [Go](../go_proxy/index.md) | MD5, SHA1, SHA256 |
+| [Ruby gems](../rubygems_registry/index.md) | MD5, SHA1, SHA256 (gemspec only) |
diff --git a/doc/user/packages/package_registry/supported_hash_types.md b/doc/user/packages/package_registry/supported_hash_types.md
deleted file mode 100644
index d39b8d60c93..00000000000
--- a/doc/user/packages/package_registry/supported_hash_types.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: 'supported_functionality.md'
-remove_date: '2023-04-22'
----
-
-This document was moved to [another location](supported_functionality.md).
-
-<!-- This redirect file can be deleted after <2023-04-22>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/user/packages/package_registry/supported_package_managers.md b/doc/user/packages/package_registry/supported_package_managers.md
index 75b8c95a0fa..cd2b288094b 100644
--- a/doc/user/packages/package_registry/supported_package_managers.md
+++ b/doc/user/packages/package_registry/supported_package_managers.md
@@ -11,24 +11,20 @@ Not all package manager formats are ready for production use.
The Package Registry supports the following package manager types:
-| Package type | GitLab version | Status |
-| ------------------------------------------------ | -------------- | ---------------------------------------------------------- |
-| [Maven](../maven_repository/index.md) | 11.3+ | GA |
-| [npm](../npm_registry/index.md) | 11.7+ | GA |
-| [NuGet](../nuget_repository/index.md) | 12.8+ | GA |
-| [PyPI](../pypi_repository/index.md) | 12.10+ | GA |
-| [Generic packages](../generic_packages/index.md) | 13.5+ | GA |
-| [Composer](../composer_repository/index.md) | 13.2+ | [Beta](https://gitlab.com/groups/gitlab-org/-/epics/6817) |
-| [Conan](../conan_repository/index.md) | 12.6+ | [Beta](https://gitlab.com/groups/gitlab-org/-/epics/6816) |
-| [Helm](../helm_repository/index.md) | 14.1+ | [Beta](https://gitlab.com/groups/gitlab-org/-/epics/6366) |
-| [Debian](../debian_repository/index.md) | 14.2+ | [Alpha](https://gitlab.com/groups/gitlab-org/-/epics/6057) |
-| [Go](../go_proxy/index.md) | 13.1+ | [Alpha](https://gitlab.com/groups/gitlab-org/-/epics/3043) |
-| [Ruby gems](../rubygems_registry/index.md) | 13.10+ | [Alpha](https://gitlab.com/groups/gitlab-org/-/epics/3200) |
+| Package type | GitLab version | Status |
+| ------------------------------------------------ | -------------- | --------------------------------------------------------------- |
+| [Maven](../maven_repository/index.md) | 11.3+ | GA |
+| [npm](../npm_registry/index.md) | 11.7+ | GA |
+| [NuGet](../nuget_repository/index.md) | 12.8+ | GA |
+| [PyPI](../pypi_repository/index.md) | 12.10+ | GA |
+| [Generic packages](../generic_packages/index.md) | 13.5+ | GA |
+| [Composer](../composer_repository/index.md) | 13.2+ | [Beta](https://gitlab.com/groups/gitlab-org/-/epics/6817) |
+| [Helm](../helm_repository/index.md) | 14.1+ | [Beta](https://gitlab.com/groups/gitlab-org/-/epics/6366) |
+| [Conan](../conan_repository/index.md) | 12.6+ | [Experiment](https://gitlab.com/groups/gitlab-org/-/epics/6816) |
+| [Debian](../debian_repository/index.md) | 14.2+ | [Experiment](https://gitlab.com/groups/gitlab-org/-/epics/6057) |
+| [Go](../go_proxy/index.md) | 13.1+ | [Experiment](https://gitlab.com/groups/gitlab-org/-/epics/3043) |
+| [Ruby gems](../rubygems_registry/index.md) | 13.10+ | [Experiment](https://gitlab.com/groups/gitlab-org/-/epics/3200) |
-[Status](../../../policy/alpha-beta-support.md):
-
-- Alpha: behind a feature flag and not officially supported.
-- Beta: several known issues that may prevent expected use.
-- GA (Generally Available): ready for production use at any scale.
+[View what each status means](../../../policy/alpha-beta-support.md).
You can also use the [API](../../../api/packages.md) to administer the Package Registry.