| title | Руководство для разработчиков приложений |
|---|
Это руководство проведёт вас через всё, что нужно для сборки, публикации и развёртывания элементов — так Exordos Core называет приложения — на платформе.
Настройте существующий проект как элемент Exordos Core. Команда genesis init запускает интерактивный мастер, который генерирует все необходимые конфигурационные файлы — включая манифесты и файл genesis.yaml, который описывает процедуры сборки, публикации и развёртывания.
genesis initПосле завершения работы мастера ваш проект будет содержать необходимые конфигурационные файлы — включая манифесты — которые описывают ваш элемент для платформы.
Скомпилируйте и упакуйте ваш элемент со всеми его артефактами. Exordos Core использует конфигурацию сборки, определённую в genesis.yaml, для создания распространяемого артефакта.
genesis buildПри успехе результат сборки (образ контейнера, бинарный файл или другой тип артефакта) сохраняется локально и помечается текущей версией элемента.
Отправьте собранный элемент в реестр экосистемы Exordos, чтобы он стал доступен другим пользователям платформы.
genesis pushЭлемент версионируется и отправляется в настроенный репозиторий на основе метаданных в genesis.yaml.
Установите и запустите ваш элемент на установке Exordos Core.
genesis elements install <element-name>Платформа разрешает зависимости, устанавливает целевой элемент и запускает его в выбранном окружении.
Давайте рассмотрим платформенизацию реального проекта FastAPI из https://github.com/infraguys/todo_application.
Это простое ToDo List API с сохранением в PostgreSQL. Цель здесь не в изучении бизнес-логики, а в демонстрации того, как взять существующее приложение и платформенизировать его с помощью Exordos Core.
Для следования этому руководству вам нужна работающая установка Exordos и необходимые инструменты.
Exordos — вы можете использовать:
- Публичную установку Exordos — размещённую на genesis-core.tech. Не требуется настройка; просто создайте аккаунт и начните использовать платформу.
- Приватную установку Exordos — ваш собственный self-hosted экземпляр. Этот документ описывает, как его настроить: Локальное развёртывание.
Установите необходимые инструменты ниже.
Установка Exordos CLI:
curl -fsSL https://repository.genesis-core.tech/install.sh | sudo shPacker версии 1.9.2 или ранее из-за ограничений лицензирования. Скачайте и поместите в /usr/local/bin/ или любую другую директорию из вашего $PATH.
Qemu:
sudo apt update
sudo apt install qemu-kvm mkisofs
sudo adduser $USER kvmВозможно, вам потребуется перелогиниться для применения изменений. Теперь вы готовы собирать ваш элемент.
Клонируйте проект:
git clone https://github.com/infraguys/todo_application.git && cd todo_applicationКоманда genesis init позволяет вам интерактивно инициализировать новый элемент, но вы также можете использовать её с флагами. Мы будем использовать подход с флагами для ускорения.
genesis init \
--project-name todo_application \
--project-type python \
--project-systemd-services "todo-api" \
--project-url "https://github.com/infraguys/todo_application" \
--project-python-package-manager "pip" \
--enable-pgsql \
--author-name "Developer" \
--author-email "dev@example.com" \
--manifest-description "Простой ToDo list элемент" \
--repository "https://repository.genesis-core.tech/genesis-elements" \
--pgsql-usage-mode "own_cluster" \
--pgsql-database-name "todo_api" \
--pgsql-username "todo_api" \
--ci-cd "none"После выполнения этой команды будет отображено резюме с результатами инициализации, показывающее основные конфигурационные файлы. Изучите их, чтобы понять, что было создано.
Проект готов к сборке и отправке как элемент Exordos Core.
Для сборки элемента выполните:
genesis buildИспользуйте репозиторий вашей genesis-установки и отправьте элемент:
genesis push -c genesis.push.yamlgenesis elements install todo-apiToDo API теперь доступен по настроенной конечной точке.
Когда вы освоитесь с основами, изучите более углублённые темы ниже.
- Написание манифеста с нуля — изучите полную спецификацию манифеста и создайте его вручную без помощи мастера
genesis init. - Настройка приватной установки платформы — разверните собственный экземпляр Exordos Core для разработки и тестирования ваших элементов end-to-end без подключения к удалённому окружению.
- Публичная установка Exordos — используйте размещённую Exordos-платформу без управления собственной инфраструктурой.