Skip to content

Приложение для удаления докер образов

License

Notifications You must be signed in to change notification settings

ivaninkv/ImageRemover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Remover

Назначение программы

Данное приложение предназначено для удаления образов из докер реджистри. Предварительно программа получает список образов из кластера Kubernetes, для того чтобы не удалять из реджистри образы, используемые в Kubernetes.

Программа работает следующим образом:

Читает конфигурационный файл с именем "config.yaml" с помощью функции config.ReadConfig(). Если происходит ошибка при чтении файла, программа вызывает панику. Получает образы из кластера Kubernetes с помощью функции kube.GetImages() и из докер реджистри с помощью функции registry.GetImages() на основе конфигурации. Вычисляет различия между этими списками с помощью функции diffMap(). C помощью функции registry.DeleteImages() удаляет все образы из реестра, расположенные в указанной папке, кроме образов, используемых в Kubernetes.

Конфигурирование

Приложение имеет конфиг вида:

KubeCluster:
  # Массив из одного и более элементов с настроками Kubernetes.
  - ServerUrl: https://localhost:52395  # URL-адрес сервера Kubernetes.
    Namespace: afdev                    # Пространство имен, в котором хранятся образы в Kubernetes.
    Token: token                        # Токен для аутентификации в Kubernetes в формате JSON Web Token (JWT).
DockerRegistry:
  # Массив из одного и более элементов с настроками Docker реестра.
  - ServerUrl: http://localhost:6000    # URL-адрес сервера Docker реестра
    Nexus:
      Url: http://localhost:8081        # URL-адрес сервера Nexus
      RepositoryName: docker-registry   # Имя репозитория в Nexus
    Folder: folderName                  # Папка в Docker реестре, в которой хранятся образы. 
    User: ""                            # Имя пользователя для аутентификации в Docker реестре. Пустое значение указывает на отсутствие аутентификации.
    Password: ""                        # Пароль пользователя для аутентификации в Docker реестре. Пустое значение указывает на отсутствие аутентификации.
    DeleteImages: true                  # Флаг, указывающий, нужно ли удалять образы из Docker реестра.
Output:
  WriteToTXT: true                      # Флаг, указывающий, нужно ли записывать результаты в текстовые файлы.
  RegistryFileName: registry.txt        # Имя файла, в который записываются найденные в Docker реестре образы.
  KubeFileName: kube.txt                # Имя файла, в который записываются найденные обрызы в деплойментах Kubernetes.
  DiffFileName: diff.txt                # Имя файла, в который записывается различия, то есть подлежащие удалению образы.

Эти параметры конфигурации позволяют программе настраивать соединение с Kubernetes и Docker реестром, указывать папки, пользователей и пароли, а также определять, нужно ли сохранять результаты в файлы.

About

Приложение для удаления докер образов

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages