Application Developer Guide
This guide walks you through everything you need to build, publish, and deploy elements — the name Exordos Core gives to applications — on the platform.
Quick Start#
1. Initialize your element#
Set up an existing project as a Exordos Core element. The exordos init command launches an interactive wizard that generates all required configuration files — including manifests, and a exordos.yaml file that describes the build, publish, and deploy procedures.
exordos init
After the wizard completes, your project will contain necessary configuration files — including manifests — that describe your element to the platform.
2. Build your element#
Compile and package your element along with all its artifacts. Exordos Core uses the build configuration defined in exordos.yaml to produce a distributable artifact.
exordos build
On success, the build output (container image, binary, or other artifact type) is stored locally and tagged with the current element version.
3. Publish your element#
Push the built element to the Exordos ecosystem registry so it becomes available to other platform users.
exordos push
The element is versioned and pushed to the configured repository based on the metadata in exordos.yaml.
4. Deploy your element#
Install and run your element on a Exordos Core platform installation.
exordos elements install <element-name>
The platform resolves dependencies, installs the target element, and starts it in the chosen realm.
Walkthrough: Your First Element#
Let's walk through platformizing a real FastAPI project from https://github.com/infraguys/todo_application.
This is a simple ToDo List API with PostgreSQL persistence. The goal here is not to explore the business logic, but to demonstrate how to take an existing application and platformize it using Exordos Core.
Prerequisites#
To follow this walkthrough, you need a running Exordos installation and the necessary tools.
Exordos — you can use either:
- A public Exordos installation — hosted at exordos.com. No setup required; just create an account and start using the platform.
- A private Exordos installation — your own self-hosted instance. This document describes how to set one up: Local Deployment.
Install the necessary tools below.
Install Exordos CLI:
curl -fsSL https://repository.exordos.com/install.sh | sudo sh
The Packer version 1.9.2 or earlier due to licensing limitation. Download and place into /usr/local/bin/ or any other directory in your $PATH.
The Qemu:
sudo apt update
sudo apt install qemu-kvm mkisofs
sudo adduser $USER kvm
You may need to relogin to apply the changes. Now you are ready to build your element.
Initialize the project#
Clone the project:
git clone https://github.com/infraguys/todo_application.git && cd todo_application
The exordos init command allows you to initialize a new element interactively but you can also use it with flags. We will use the flags approach here to speed things up.
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 "A simple ToDo list element" \
--repository "https://repository.exordos.com/exordos-elements" \
--pgsql-usage-mode "own_cluster" \
--pgsql-database-name "todo_api" \
--pgsql-username "todo_api" \
--ci-cd "none"
After executing this command, a summary will be displayed with the results of the initialization, showing the main configuration files. Study them to understand what was created.
The project is ready to be built and pushed as a Exordos Core element.
Build the element#
To build the element, run:
exordos build
Push to repository#
Use the repository of your exordos installation and push the element:
exordos push -c exordos.push.yaml
Deploy the element#
exordos elements install todo-api
The ToDo API is now available at the configured endpoint.
Advanced Usage#
Once you're comfortable with the basics, explore the more in-depth topics below.
- Writing a manifest from scratch — understand the full manifest specification and author one by hand without relying on the
exordos initwizard. - Setting up a private platform installation — spin up your own Exordos Core instance to develop and test your elements end-to-end without connecting to a remote environment.
- Public Exordos installation — use the hosted Exordos platform without managing your own infrastructure.