104 lines
3.4 KiB
Markdown
104 lines
3.4 KiB
Markdown
# 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 требуется соответствующий доступ
|