Auterion for Developers
Latest Developer's Guide
Search
K
Links

App Framework

An AuterionOS app can use multiple APIs. The available APIs are determined by the target AuterionOS version, as well as the used API level specified in the app.

Specifying API versions

Each AuterionOS app targets a specific API level. The API level an app targets, is specified in the auterion-app.yml file like so:
auterion-api-version: 2

Available API versions

Text
API version 1
API version 2
Supported AuterionOS version
2.7+
2.10+
Networking
Host mode
Virtual network, bridged
Compose override
Available
Available
Persistent storage
Available
Available
MAVLink
Available
Available
Runtime settings
Available
Available
HTTP routes
× Not available
Available
SSH routing
× Not available
Available
For now, all API versions are supported. Some future versions of AuterionOS may lose support for older API versions. APIs within their version are stable, but APIs may change with newer API versions.

The auterion-app.yml file

The auterion-app.yml file has to be in the apps root directory and is structured, in its most basic form, like this
auterion-api-version: 2 # The auterion API version this app is targeting
auterion-app-base: none # Can be set to a version of the auterion/app-base
# docker image, if it is used as a base image in the app.
# This makes the tooling remove all the layers from the
# respective base image to reduce the app size.
app-name: example-webservice # The name of your app
app-version: 0.0.1 # The version of your app
app-author: com.auterion # The authoring entity.
# Has to be reverse-domain name notation
target-platform: [skynode, ainode] # Supported platforms of this app.
# Can be skynode or ainode
# Like in docker-compose, your app can consist of multiple docker containers.
# In 'services' you list all the containers that make up your app. In most
# cases, this is just one service
services:
example-webservice: # name of this service
build: services/example-webservice # location of the Dockerfile of the service
# .... Additional API configurations .....

Build process

What does auterion-cli app build really do? It performs the following tasks
  1. 1.
    For all the services with a build directive, it builds the image using docker build --platform=linux/arm64
  2. 2.
    For all services with a image directive it pulls them from docker hub
  3. 3.
    It packages the built image into a .auterionos file