# Calista components manager

Менеджер системных компонентов для операционной системы Calista.
Занимается установкой разных компонентов в систему без гемороя, является преведением 
кодовой базы Calista в целостность. Позволяет пользователю установить нужный компонент
из командной строки, указав всего лишь его идентификатор.

Компоненты будут распространяться в виде локальных файлов в формате архивов
виртуальной файловой системы quantumfs. В будущем будет сделана графическая обертка
данного менеджера для удобной пользователю установки компонентов.

В данном репозитории распространяется версия для разработчиков.
Отличие данной версии в том, что кроме установки пакетов из локальных архивов
версия для разработчиков позволяет устанавливать пакеты из внешних репозиториев 
(в частности gitlab репозиторий svsp technologies). Для возможности установки из 
внешних репозиториев используется программка gproxy, которая требует установленного git.
Отдельная программа существует для разделения лицензий, так как git распространяется под GPL, 
и эта программка разделяет закрытый код операционной системы от GPL компонентов, не заражая
систему лицензией GPL. Авторизация производится на уровне гит, все внешние пакеты устанавливаются
через ssh. То есть в gitlab должен быть установлен публичный ключ разработчика, который
устанавливает компоненты из этого gitlab.

# Команда help программы ccomp (calista components manager)

```
Calista Component Manager
=========================
Команды:
install <id> [version] [source] - Установить компонент (source: git или local, по умолчанию git)
list - Показать установленные компоненты
info <id> - Информация об установленном компоненте
remove <id> - Удалить компонент (заглушка)
update - Обновить список компонентов из репозитория
versions <id> - Показать доступные версии компонента
help - Показать эту справку

Примеры:
ccomp install cpm v1.0.0 git
ccomp install calista-graphics-legacy latest
ccomp list
ccomp info cpm
ccomp remove cpm

Для работы с репозиторием компонентов сначала настройте gproxy:
gproxy set-repo <ваш-git-репозиторий>
ccomp update
```

# Команда help программы gproxy (git proxy for calista components manager)

```
Calista Component Proxy
=======================
Команды:
set-repo <git-url> - Установить ссылку на репозиторий компонентов
update - Обновить список компонентов
list - Показать список доступных компонентов
get <id> [version] - Получить компонент (version может быть тегом или 'latest')
clean - Очистить кэш склонированных репозиториев
set-cache <path> - Установить путь к хранилищу
help - Показать эту справку

Примеры:
gproxy set-repo git@github.com:user/components.git
gproxy update
gproxy get cpm v1.0.0
gproxy get calista-graphics-legacy latest
```

Ссылка на внутренний репозиторий компонентов - git@gitlab.svsptech.ru:svsptech/calista-components.git


