Building your First App
Structure of the app meta file, and how to build the app
The auterion-app.yml file
The auterion-app.yml file has to be in the apps root directory. In its most basic form it is structured 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 .....
existing-docker-image: # name of another service
image: ubuntu:22.04 # Auterion-cli can include existing images
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
For a full comparison of the available API versions see Apps API.
Building the app
What does auterion-cli app build
really do? It performs the following tasks
For all the services with a
build
directive, it builds the image usingdocker build --platform=linux/arm64
. If the auterion-cli command is invoked with the--simulation
flag, it will instead executedocker build --platform=linux/amd64
.For all services with a
image
directive it pulls them from docker hubIt packages the built image into a .auterionos file
Last updated