Categorygithub.com/Viste/larets
module
0.0.0-20241129015814-f27bae90051c
Repository: https://github.com/viste/larets.git
Documentation: pkg.go.dev

# README

Проект 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 распространяется под лицензией GPL. Подробности см. в файле 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]]

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author