description: Structure of the app meta file, and how to build the app
Building your First 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:
```yaml 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 app-framework-1.md.
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 hub - It packages the built image into a .auterionos file
Comments
0 comments
Please sign in to leave a comment.