Руководство для разработчиков приложений
Это руководство проведёт вас через всё, что нужно для сборки, публикации и развёртывания элементов — так Exordos Core называет приложения — на платформе.
Быстрый старт#
1. Инициализация вашего элемента#
Настройте существующий проект как элемент Exordos Core. Команда exordos init запускает интерактивный мастер, который генерирует все необходимые конфигурационные файлы — включая манифесты и файл exordos.yaml, который описывает процедуры сборки, публикации и развёртывания.
exordos init
После завершения работы мастера ваш проект будет содержать необходимые конфигурационные файлы — включая манифесты — которые описывают ваш элемент для платформы.
2. Сборка вашего элемента#
Скомпилируйте и упакуйте ваш элемент со всеми его артефактами. Exordos Core использует конфигурацию сборки, определённую в exordos.yaml, для создания распространяемого артефакта.
exordos build
При успехе результат сборки (образ контейнера, бинарный файл или другой тип артефакта) сохраняется локально и помечается текущей версией элемента.
3. Публикация вашего элемента#
Отправьте собранный элемент в реестр экосистемы Exordos, чтобы он стал доступен другим пользователям платформы.
exordos push
Элемент версионируется и отправляется в настроенный репозиторий на основе метаданных в exordos.yaml.
4. Развёртывание вашего элемента#
Установите и запустите ваш элемент на установке Exordos Core.
exordos elements install <element-name>
Платформа разрешает зависимости, устанавливает целевой элемент и запускает его в выбранном окружении.
Пошаговое руководство: Ваш первый элемент#
Давайте рассмотрим платформенизацию реального проекта FastAPI из https://github.com/infraguys/todo_application.
Это простое ToDo List API с сохранением в PostgreSQL. Цель здесь не в изучении бизнес-логики, а в демонстрации того, как взять существующее приложение и платформенизировать его с помощью Exordos Core.
Предварительные требования#
Для следования этому руководству вам нужна работающая установка Exordos и необходимые инструменты.
Exordos — вы можете использовать:
- Публичную установку Exordos — размещённую на exordos.com. Не требуется настройка; просто создайте аккаунт и начните использовать платформу.
- Приватную установку Exordos — ваш собственный self-hosted экземпляр. Этот документ описывает, как его настроить: Локальное развёртывание.
Установите необходимые инструменты ниже.
Установка Exordos CLI:
curl -fsSL https://repository.exordos.com/install.sh | sudo sh
Packer версии 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
Команда exordos init позволяет вам интерактивно инициализировать новый элемент, но вы также можете использовать её с флагами. Мы будем использовать подход с флагами для ускорения.
exordos 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.exordos.com/exordos-elements" \
--pgsql-usage-mode "own_cluster" \
--pgsql-database-name "todo_api" \
--pgsql-username "todo_api" \
--ci-cd "none"
После выполнения этой команды будет отображено резюме с результатами инициализации, показывающее основные конфигурационные файлы. Изучите их, чтобы понять, что было создано.
Проект готов к сборке и отправке как элемент Exordos Core.
Сборка элемента#
Для сборки элемента выполните:
exordos build
Отправка в репозиторий#
Используйте репозиторий вашей exordos-установки и отправьте элемент:
exordos push -c exordos.push.yaml
Развёртывание элемента#
exordos elements install todo-api
ToDo API теперь доступен по настроенной конечной точке.
Расширенное использование#
Когда вы освоитесь с основами, изучите более углублённые темы ниже.
- Написание манифеста с нуля — изучите полную спецификацию манифеста и создайте его вручную без помощи мастера
exordos init. - Настройка приватной установки платформы — разверните собственный экземпляр Exordos Core для разработки и тестирования ваших элементов end-to-end без подключения к удалённому окружению.
- Публичная установка Exordos — используйте размещённую Exordos-платформу без управления собственной инфраструктурой.