Skip to content
/ larets Public

Larets — это инструмент для работы с различными типами репозиториев, такими как Docker, Git, Helm, Maven, RPM и DEB. Проект предоставляет API для CRUD операций, а также позволяет проксировать и хранить образы, артефакты и другие пакеты. Это проект с открытым исходным кодом, который использует PostgreSQL для хранения метаданных о репозиториях и орие

License

Notifications You must be signed in to change notification settings

Viste/larets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект Larets

Описание

Larets — это инструмент для работы с различными типами репозиториев, такими как Docker, Git, Helm, Maven, RPM и DEB. Проект предоставляет API для CRUD операций, а также позволяет проксировать и хранить образы, артефакты и другие пакеты. Это проект с открытым исходным кодом, который использует PostgreSQL для хранения метаданных о репозиториях и ориентирован на асинхронные операции.

Функциональность

  • База данных: PostgreSQL.
  • Конфигурация: Использование переменных окружения и файла .env для конфигурации.
  • Поддерживаемые репозитории: Docker, Git, Helm, Maven, RPM, DEB.
  • API для CRUD операций: REST API для управления и администрирования репозиториев.
  • Веб-интерфейс: В дальнейшем планируется добавление веб-интерфейса.

Структура проекта

  • config/ - Работа с конфигурацией проекта.
  • repositories/ - Работа с различными типами репозиториев (Docker, Git, Helm, Maven, RPM, DEB).
  • api/ - CRUD операции и основной API.
  • web/ - дира для будущего веб-интерфейса.
  • models/ - Описание моделей базы данных.

Установка

Требования

  • Go 1.22+
  • PostgreSQL 13+

Шаги установки

  1. Клонируйте репозиторий:

    git clone https://github.com/yourusername/larets.git
    cd larets
  2. Создайте файл .env на основе примера .env.example и заполните необходимые параметры:

    cp .env.example .env

Конфигурация

Основные настройки выполняются через переменные окружения. Примеры параметров конфигурации:

  • DATABASE_URL - URL для подключения к базе данных PostgreSQL.
  • ENABLE_DOCKER, ENABLE_GIT, ENABLE_HELM, ENABLE_MAVEN, ENABLE_RPM, ENABLE_DEB - Включение или отключение работы с конкретными типами репозиториев (значения true или false).

Использование

После запуска приложение доступно на порту 8080. Оно предоставляет REST API для работы с репозиториями:

  • Docker: /images
  • Git: /git
  • Helm: /helm
  • Maven: /maven
  • RPM: /rpm
  • DEB: /deb

Пример запроса:

curl http://localhost:8080/images

Структуры данных

  • DockerImage: Информация об образах Docker (ID, имя, тег, время создания).
  • GitRepository: Информация о Git репозиториях (ID, имя, URL, время создания).
  • HelmChart, MavenArtifact, RpmPackage, DebPackage - Структуры для хранения информации о соответствующих пакетах.

Лицензия

Проект Larets распространяется под лицензией MIT. Подробности см. в файле LICENSE.

Вклад

Если хотите внести вклад в проект:

  1. Форкните репозиторий.
  2. Создайте ветку для вашей функции (git checkout -b feature-branch).
  3. Внесите изменения и сделайте коммит (git commit -m 'Add some feature').
  4. Отправьте изменения в свой форк (git push origin feature-branch).
  5. Создайте Pull Request.

Контакты

Для вопросов или предложений свяжитесь по адресу: [[email protected]]

About

Larets — это инструмент для работы с различными типами репозиториев, такими как Docker, Git, Helm, Maven, RPM и DEB. Проект предоставляет API для CRUD операций, а также позволяет проксировать и хранить образы, артефакты и другие пакеты. Это проект с открытым исходным кодом, который использует PostgreSQL для хранения метаданных о репозиториях и орие

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published