savagedb_bot/wiki/Harbor-Registry.md

86 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Настройка Harbor Docker Registry для Gitea Actions.
## Быстрая настройка
### 1. Создание Robot Account
1. Откройте Harbor UI: `https://reg.ddl.su`
2. Войдите в проект `salvage_bot`
3. Перейдите **Robot Accounts****New Robot Account**
4. Настройте:
- **Name**: `gitea-ci`
- **Expiration**: выберите срок
- **Permissions**: `Push Artifact` + `Pull Artifact`
5. Скопируйте:
- **Username**: `robot$gitea-ci`
- **Token**: сгенерированный токен
### 2. Настройка Secrets в Gitea
```
DOCKER_REGISTRY_URL = reg.ddl.su
DOCKER_REGISTRY_PROJECT = salvage_bot
DOCKER_REGISTRY_USERNAME = robot$gitea-ci
DOCKER_REGISTRY_PASSWORD = <токен robot account>
```
### 3. Результат
После настройки образы будут доступны:
```bash
reg.ddl.su/salvage_bot/salvagedb-bot:latest
```
## Формат тегов Harbor
Harbor использует трёхуровневую структуру:
```
registry_url/project/repository:tag
```
### Примеры:
- `reg.ddl.su/salvage_bot/salvagedb-bot:latest`
- `reg.ddl.su/salvage_bot/salvagedb-bot:v1.0.0`
- `reg.ddl.su/salvage_bot/salvagedb-bot:main`
## Устранение проблем
### Ошибка 400 Bad Request при OAuth
**Причины:**
- Неправильный формат username (должен начинаться с `robot$`)
- Некорректный токен robot account
- Отсутствие PROJECT_NAME в пути тега
- Отсутствие прав на проект
**Решение:**
1. Убедитесь что username в формате `robot$name`
2. Проверьте корректность токена
3. Убедитесь что настроен `DOCKER_REGISTRY_PROJECT`
4. Проверьте права robot account в Harbor
### Ошибка 403 Forbidden
- Robot account не имеет прав Push Artifact
- Проект недоступен для robot account
### Проверка доступности
```bash
# Локальный тест
docker login reg.ddl.su -u robot$gitea-ci
# Pull тест
docker pull reg.ddl.su/salvage_bot/salvagedb-bot:latest
```
## Преимущества Robot Account
-**Безопасность** - ограниченные права только на CI/CD
-**Изоляция** - можно отозвать без влияния на основной аккаунт
-**Аудит** - чёткое разграничение доступа
-**Автоматизация** - создан специально для CI/CD
## Связанные страницы
- [[Gitea-Actions]] - настройка CI/CD workflow
- [[Docker-Setup]] - развертывание с Docker