mirror of
https://codeberg.org/forgejo/docs.git
synced 2024-11-24 18:09:26 -05:00
user: packages: move storage section to the index
The storage page was not referenced and could not be found.
This commit is contained in:
parent
cc20e1b840
commit
4a8628a003
2 changed files with 65 additions and 70 deletions
|
@ -1,5 +1,7 @@
|
|||
---
|
||||
title: 'Package Registry'
|
||||
license: 'Apache-2.0'
|
||||
origin_url: 'https://github.com/go-gitea/gitea/blob/abe8fe352711601fbcd24bf4505f7e0b81a93c5d/docs/content/usage/packages/storage.en-us.md'
|
||||
---
|
||||
|
||||
## Supported package managers
|
||||
|
@ -91,3 +93,66 @@ The Package Registry is automatically enabled. To disable it for a single reposi
|
|||
1. Disable **Enable Repository Packages Registry**.
|
||||
|
||||
Previously published packages are not deleted by disabling the Package Registry.
|
||||
|
||||
## Deduplication
|
||||
|
||||
The package registry has a build-in deduplication of uploaded blobs.
|
||||
If two identical files are uploaded only one blob is saved on the filesystem.
|
||||
This ensures no space is wasted for duplicated files.
|
||||
|
||||
If two packages are uploaded with identical files, both packages will display the same size but on the filesystem they require only half of the size.
|
||||
Whenever a package gets deleted only the references to the underlaying blobs are removed.
|
||||
The blobs get not removed at this moment, so they still require space on the filesystem.
|
||||
When a new package gets uploaded the existing blobs may get referenced again.
|
||||
|
||||
These unreferenced blobs get deleted by a [clean up job](../../admin/config-cheat-sheet/#cron---cleanup-expired-packages-croncleanup_packages).
|
||||
The config setting `OLDER_THAN` configures how long unreferenced blobs are kept before they get deleted.
|
||||
|
||||
## Cleanup Rules
|
||||
|
||||
Package registries can become large over time without cleanup.
|
||||
It's recommended to delete unnecessary packages and set up cleanup rules to automatically manage the package registry usage.
|
||||
Every package owner (user or organization) manages the cleanup rules which are applied to their packages.
|
||||
|
||||
| Setting | Description |
|
||||
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Enabled | Turn the cleanup rule on or off. |
|
||||
| Type | Every rule manages a specific package type. |
|
||||
| Apply pattern to full package name | If enabled, the patterns below are applied to the full package name (`package/version`). Otherwise only the version (`version`) is used. |
|
||||
| Keep the most recent | How many versions to _always_ keep for each package. |
|
||||
| Keep versions matching | The regex pattern that determines which versions to keep. An empty pattern keeps no version while `.+` keeps all versions. The container registry will always keep the `latest` version even if not configured. |
|
||||
| Remove versions older than | Remove only versions older than the selected days. |
|
||||
| Remove versions matching | The regex pattern that determines which versions to remove. An empty pattern or `.+` leads to the removal of every package if no other setting tells otherwise. |
|
||||
|
||||
Every cleanup rule can show a preview of the affected packages.
|
||||
This can be used to check if the cleanup rules is proper configured.
|
||||
|
||||
### Regex examples
|
||||
|
||||
Regex patterns are automatically surrounded with `\A` and `\z` anchors.
|
||||
Do not include any `\A`, `\z`, `^` or `$` token in the regex patterns as they are not necessary.
|
||||
The patterns are case-insensitive which matches the behaviour of the package registry in Forgejo.
|
||||
|
||||
| Pattern | Description |
|
||||
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `.*` | Match every possible version. |
|
||||
| `v.+` | Match versions that start with `v`. |
|
||||
| `release` | Match only the version `release`. |
|
||||
| `release.*` | Match versions that are either named or start with `release`. |
|
||||
| `.+-temp-.+` | Match versions that contain `-temp-`. |
|
||||
| `v.+\|release` | Match versions that either start with `v` or are named `release`. |
|
||||
| `package/v.+\|other/release` | Match versions of the package `package` that start with `v` or the version `release` of the package `other`. This needs the setting _Apply pattern to full package name_ enabled. |
|
||||
|
||||
### How the cleanup rules work
|
||||
|
||||
The cleanup rules are part of the [clean up job]../../admin/config-cheat-sheet/#cron---cleanup-expired-packages-croncleanup_packages) and run periodically.
|
||||
|
||||
The cleanup rule:
|
||||
|
||||
1. Collects all packages of the package type for the owners registry.
|
||||
1. For every package it collects all versions.
|
||||
1. Excludes from the list the # versions based on the _Keep the most recent_ value.
|
||||
1. Excludes from the list any versions matching the _Keep versions matching_ value.
|
||||
1. Excludes from the list the versions more recent than the _Remove versions older than_ value.
|
||||
1. Excludes from the list any versions not matching the _Remove versions matching_ value.
|
||||
1. Deletes the remaining versions.
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
---
|
||||
title: 'Storage'
|
||||
license: 'Apache-2.0'
|
||||
origin_url: 'https://github.com/go-gitea/gitea/blob/abe8fe352711601fbcd24bf4505f7e0b81a93c5d/docs/content/usage/packages/storage.en-us.md'
|
||||
---
|
||||
|
||||
This document describes the storage of the package registry and how it can be managed.
|
||||
|
||||
## Deduplication
|
||||
|
||||
The package registry has a build-in deduplication of uploaded blobs.
|
||||
If two identical files are uploaded only one blob is saved on the filesystem.
|
||||
This ensures no space is wasted for duplicated files.
|
||||
|
||||
If two packages are uploaded with identical files, both packages will display the same size but on the filesystem they require only half of the size.
|
||||
Whenever a package gets deleted only the references to the underlaying blobs are removed.
|
||||
The blobs get not removed at this moment, so they still require space on the filesystem.
|
||||
When a new package gets uploaded the existing blobs may get referenced again.
|
||||
|
||||
These unreferenced blobs get deleted by a [clean up job](../../../admin/config-cheat-sheet/#cron---cleanup-expired-packages-croncleanup_packages).
|
||||
The config setting `OLDER_THAN` configures how long unreferenced blobs are kept before they get deleted.
|
||||
|
||||
## Cleanup Rules
|
||||
|
||||
Package registries can become large over time without cleanup.
|
||||
It's recommended to delete unnecessary packages and set up cleanup rules to automatically manage the package registry usage.
|
||||
Every package owner (user or organization) manages the cleanup rules which are applied to their packages.
|
||||
|
||||
| Setting | Description |
|
||||
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Enabled | Turn the cleanup rule on or off. |
|
||||
| Type | Every rule manages a specific package type. |
|
||||
| Apply pattern to full package name | If enabled, the patterns below are applied to the full package name (`package/version`). Otherwise only the version (`version`) is used. |
|
||||
| Keep the most recent | How many versions to _always_ keep for each package. |
|
||||
| Keep versions matching | The regex pattern that determines which versions to keep. An empty pattern keeps no version while `.+` keeps all versions. The container registry will always keep the `latest` version even if not configured. |
|
||||
| Remove versions older than | Remove only versions older than the selected days. |
|
||||
| Remove versions matching | The regex pattern that determines which versions to remove. An empty pattern or `.+` leads to the removal of every package if no other setting tells otherwise. |
|
||||
|
||||
Every cleanup rule can show a preview of the affected packages.
|
||||
This can be used to check if the cleanup rules is proper configured.
|
||||
|
||||
### Regex examples
|
||||
|
||||
Regex patterns are automatically surrounded with `\A` and `\z` anchors.
|
||||
Do not include any `\A`, `\z`, `^` or `$` token in the regex patterns as they are not necessary.
|
||||
The patterns are case-insensitive which matches the behaviour of the package registry in Forgejo.
|
||||
|
||||
| Pattern | Description |
|
||||
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `.*` | Match every possible version. |
|
||||
| `v.+` | Match versions that start with `v`. |
|
||||
| `release` | Match only the version `release`. |
|
||||
| `release.*` | Match versions that are either named or start with `release`. |
|
||||
| `.+-temp-.+` | Match versions that contain `-temp-`. |
|
||||
| `v.+\|release` | Match versions that either start with `v` or are named `release`. |
|
||||
| `package/v.+\|other/release` | Match versions of the package `package` that start with `v` or the version `release` of the package `other`. This needs the setting _Apply pattern to full package name_ enabled. |
|
||||
|
||||
### How the cleanup rules work
|
||||
|
||||
The cleanup rules are part of the [clean up job](../../../admin/config-cheat-sheet/#cron---cleanup-expired-packages-croncleanup_packages) and run periodically.
|
||||
|
||||
The cleanup rule:
|
||||
|
||||
1. Collects all packages of the package type for the owners registry.
|
||||
1. For every package it collects all versions.
|
||||
1. Excludes from the list the # versions based on the _Keep the most recent_ value.
|
||||
1. Excludes from the list any versions matching the _Keep versions matching_ value.
|
||||
1. Excludes from the list the versions more recent than the _Remove versions older than_ value.
|
||||
1. Excludes from the list any versions not matching the _Remove versions matching_ value.
|
||||
1. Deletes the remaining versions.
|
Loading…
Reference in a new issue