Esta página fornece instruções sobre como criar e gerenciar regras de retenção de tags para administradores ou desenvolvedores que gerenciam e mantêm repositórios do Harbor. As regras de retenção de tags do Harbor são um conjunto de políticas que gerenciam e otimizam automaticamente as tags de imagem nos repositórios do Harbor.
Use regras de retenção de tags para realizar as seguintes ações:
- Libere espaço de armazenamento: para evitar o acúmulo de dados desnecessários, defina regras para reter artefatos por um período específico ou exclua manualmente tags de imagem não usadas.
- Mantenha um repositório limpo: mantenha apenas as tags mais recentes ou relevantes para melhorar a organização e a capacidade de descoberta.
- Automatize o gerenciamento de tags: evite a exclusão manual e simplifique a manutenção dos repositórios de imagens.
Com as regras de retenção de tags, é possível gerenciar imagens no repositório excluindo automaticamente as tags de imagem que não são mais necessárias. Os filtros de regras de retenção passam pelas suas tags em três etapas sequenciais para determinar quais imagens você quer manter e quais quer excluir:
- Repositórios: insira o nome do repositório. O Harbor aplica primeiro o filtro de repositório e depois a regra de retenção a todos os repositórios que correspondem ao nome. Caracteres curinga, como
*repo,repo*e**, são permitidos. Para mais informações, consulte Aplicar filtro com padrões de caracteres curinga. Por exemplo, é possível definir o filtro de repositório como**, o que significa que todos os repositórios do projeto estão incluídos. - Quantidade a ser retida: insira o número máximo de tags ou especifique um período máximo de retenção. Por exemplo, é possível definir a política de retenção para manter os 10 artefatos extraídos mais recentemente em cada repositório.
- Tags a serem mantidas: insira o nome das tags de imagem que você quer manter. O Harbor aplica a regra de retenção a tags de imagem que correspondem ao texto de entrada. Use a caixa de seleção para escolher se você quer capturar artefatos sem tag como parte do conjunto de artefatos qualificados para retenção de tags ou tags que não têm esse nome. São permitidos caracteres curinga como
*tag,tag*e**. Para mais informações, consulte Aplicar filtros com padrões de caracteres curinga.
Antes de começar
Antes de criar regras de retenção de tags, você precisa ter o seguinte:
- Uma conta com a função
ProjectAdmindos controles de acesso baseados em papéis do Harbor. Para mais informações, consulte Configurar o acesso para APIs e em uma instância do Harbor. - Um repositório do Harbor.
Criar uma regra de retenção de tag
As regras de tag de retenção do Harbor seguem uma ordem e uma lógica específicas. Siga estes princípios ao criar regras de retenção de tag do Harbor:
- Defina regras de retenção de tags para repositórios, não para projetos. Ao definir uma regra de retenção para um repositório, você identifica as tags a serem mantidas.
- Não defina regras para remover tags explicitamente. Quando você define uma regra, o sistema descarta todas as tags em um repositório que não são identificadas como qualificadas para retenção.
- O algoritmo
ORé usado entre as regras.
Crie uma regra de retenção de tag usando o console do Harbor:
- Faça login no console do Harbor com uma conta que tenha privilégios de administrador do projeto.
- Acesse Projetos e selecione um projeto.
- Na janela do projeto, clique na guia Política e depois em Retenção de tags.
- Clique em Add Rule.
No menu Repositórios, selecione correspondentes ou excluídos.
Se você selecionar correspondência, o Harbor vai aplicar a regra aos repositórios especificados. Se você selecionar excluindo, o Harbor vai aplicar a regra a todos os repositórios do projeto, exceto os que você identificou.
Na caixa Repositórios, insira o nome dos repositórios em que a regra será aplicada. Confira alguns exemplos de entradas de texto:
- Um nome de repositório, como
example_repo_1. - Uma lista separada por vírgulas de nomes de repositórios, como
example_repo_1,example_repo_2,example_repo_3. - Um nome parcial de repositório com caracteres curinga, como
example_*,*_3ou*_repo_*. - Para aplicar a regra a todos os repositórios do projeto, use o caractere curinga
**. - Para mais informações, consulte Aplicar filtros com padrões de caracteres curinga.
- Um nome de repositório, como
No menu Por contagem de artefatos ou número de dias, selecione quantas tags reter ou o período de retenção. Selecione uma destas opções:
- Manter os # artefatos enviados mais recentemente: mantenha um número específico de artefatos, priorizando os enviados mais recentemente. Não há limite de idade para artefatos.
- Reter os # artefatos extraídos mais recentemente: mantenha um número específico de artefatos, priorizando os extraídos mais recentemente. Não há limite de idade para artefatos.
- Reter os artefatos enviados nos últimos # dias: mantenha os artefatos enviados em um período especificado. Não há limite para o número de artefatos.
- Reter os artefatos extraídos nos últimos # dias: mantenha os artefatos extraídos em um período especificado. Não há limite para o número de artefatos.
- Reter sempre: sempre mantém os artefatos que correspondem a essa regra.
No menu Tags, selecione correspondentes ou excluídas.
Se você selecionar correspondência, o Harbor vai aplicar a regra às tags que você identificou. Se você selecionar excluindo, o Harbor vai aplicar a regra a todas as tags no repositório, exceto as que você identificou.
Na caixa Tags, insira os nomes das tags em que a regra será aplicada.
Confira alguns exemplos de entradas de texto:
- Um nome de tag, como
example_tag_1. - Uma lista separada por vírgulas de nomes de tags, como
example_tag_1,example_tag_2,example_tag_3. - Um nome de tag parcial com caracteres curinga, como
example_*,*_3ou*_tag_*. - Para aplicar a regra a todas as tags do projeto, use o caractere curinga
**. - Para mais informações, consulte Aplicar filtros com padrões de caracteres curinga.
- Um nome de tag, como
Para salvar a regra, clique em Adicionar.
Opcional: para adicionar mais regras, clique em Adicionar regra. É possível adicionar até 15 regras por projeto.
Opcional: no menu Programação, clique em Editar e selecione a frequência com que a regra será executada. Se você selecionar Personalizado, insira um comando de cron job para programar a regra. Se você definir várias regras, o Harbor vai aplicar a programação a todas elas. Não é possível programar regras diferentes para serem executadas em horários diferentes.
Para testar as regras definidas, clique em Teste.
Para executar a regra imediatamente, clique em Executar agora.
Aplicar filtros com padrões curinga
O Harbor usa a correspondência de padrões de estrela dupla. Os padrões curinga são caracteres ou sequências especiais usados para corresponder ou representar um ou mais caracteres em uma string. Use padrões curinga ao aplicar filtros aos nomes de repositório ou tag na criação de regras de retenção de tags. Os caracteres curinga oferecem os seguintes recursos:
- Representar um ou mais caracteres sem especificá-los explicitamente.
Use caracteres curinga comuns assim:
*: corresponde a zero ou mais caracteres.?: corresponde a qualquer caractere único.
Por exemplo,
file*corresponde a qualquer nome de arquivo que comece comfile.Permite a correspondência flexível, o que é útil quando você não sabe os caracteres exatos.
Use os seguintes padrões curinga compatíveis ao especificar regras de retenção de tags:
| Padrão | Descrição |
|---|---|
* |
Corresponde a qualquer sequência de separadores que não sejam de caminho. |
** |
Corresponde a zero ou mais diretórios. |
? |
Corresponde a qualquer caractere único que não seja um separador de caminho. |
[class] |
Corresponde a qualquer caractere único que não seja um separador de caminho em uma classe de caracteres. Para mais informações, consulte Aplicar filtros com classes de caracteres. |
{alt1,...} |
Corresponde a uma sequência de caracteres se uma das alternativas separadas por vírgulas corresponder. |
Para mais informações sobre a correspondência de padrões de estrela dupla, consulte https://github.com/bmatcuk/doublestar.
Aplicar filtros com classes de caracteres
Classes de caracteres e caracteres curinga são usados para correspondência de padrões. Use classes de caracteres ao aplicar filtros aos nomes de repositório ou tag na criação de regras de retenção de tags. As classes de caracteres oferecem os seguintes recursos em comparação com padrões curinga:
- Defina um conjunto de caracteres específicos que podem corresponder em uma posição específica.
- Use colchetes (
[]) para incluir o conjunto. Por exemplo,[aeiou]corresponde a qualquer vogal única. - Permite uma correspondência mais precisa, já que você lista explicitamente os caracteres permitidos.
Use as seguintes classes de caracteres para filtrar repositórios e configurar suas regras de retenção:
| Turma | Descrição |
|---|---|
[abc] |
Corresponde a qualquer caractere único no conjunto. |
[a-z] |
Corresponde a qualquer caractere único no intervalo. |
[^class] |
Corresponde a qualquer caractere único que não corresponda à classe. |
[!class] |
Nega a classe. |
Atualizar uma regra de retenção de tag
Para modificar uma regra, use o menu Ação ao lado dela para desativar, editar ou excluir.
Use o console do Harbor para modificar as regras de retenção de tags atuais:
- Faça login na interface do Harbor com uma conta que tenha privilégios de administrador do projeto.
- Acesse Projetos e selecione um projeto.
- Na janela do projeto, clique na guia Política e depois em Retenção de tags.
Para modificar uma regra, use o menu Ação e selecione uma das seguintes opções:
- Desativar: torna a regra inativa. Você pode reativar essa regra mais tarde.
- Editar: atualize as configurações de uma regra em uso.
- Excluir: remove a regra completamente.