86 lines
2.8 KiB
Markdown
86 lines
2.8 KiB
Markdown
Настройка 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 |