registry-view/README.md
2026-01-27 09:55:57 +07:00

104 lines
3.4 KiB
Markdown
Raw 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.

# Docker Registry Viewer
Программа на Go для просмотра списка образов из Docker Registry с поддержкой авторизации.
## Возможности
- Подключение к Docker Registry с авторизацией (Basic Auth и Bearer Token)
- Получение списка всех репозиториев
- Получение списка тегов для каждого репозитория
- Поддержка пагинации для больших реестров
- Конфигурация через YAML файл
- Поддержка учетных данных из `~/.docker/config.json` (как в Docker CLI)
## Установка
```bash
go mod download
```
## Конфигурация
Все настройки хранятся в файле `config.yaml`. Скопируйте пример конфигурации:
```bash
cp config.yaml.example config.yaml
```
### Способ 1: Указать учетные данные в config.yaml
```yaml
registry:
url: "https://registry.example.com"
username: "admin"
password: "password123"
debug: false
```
### Способ 2: Использовать учетные данные из Docker config
Вы можете использовать учетные данные из `~/.docker/config.json` (те же, что использует Docker CLI):
```yaml
registry:
url: "https://registry.example.com"
use_docker_config: true
debug: false
```
Программа автоматически найдет учетные данные для указанного registry в файле `~/.docker/config.json`.
**Примечание:** Если `use_docker_config: false` и не указаны `username`/`password`, программа попытается автоматически загрузить их из Docker config как fallback.
## Использование
### Базовое использование
```bash
go run main.go
```
Программа автоматически загрузит конфигурацию из `config.yaml`.
### Указание другого файла конфигурации
```bash
go run main.go -config /path/to/config.yaml
# или краткая форма
go run main.go -c /path/to/config.yaml
```
### Сборка
```bash
go build -o registry-view
./registry-view
```
### Режим отладки
Для диагностики проблем с авторизацией включите режим отладки в `config.yaml`:
```yaml
debug: true
```
Режим отладки покажет:
- URL запросов
- HTTP статусы ответов
- Заголовки ответов
- Тела ответов
- Процесс получения токенов
## Формат вывода
Программа выводит:
1. Список всех репозиториев с нумерацией
2. Детальную информацию: для каждого репозитория список всех тегов
## Примечания
- Программа поддерживает как Basic Authentication, так и Bearer Token (OAuth2)
- Автоматически обрабатывает пагинацию при большом количестве репозиториев
- Для работы с Registry API v2 требуется соответствующий доступ