Prepare and upload bundle
General information
All deployable items (service, layer, component) are prepared and uploaded to the AOS Cloud in the unified form.
Deployment bundle is an archive with predefined structure and cryptographically signed to ensure its authenticity.
Files structure#
Each deployment bundle contains a set (one or more) of deployable items and config.yaml file.
config.yaml file contains metadata information about each item:
- identity of the item (including type, name, title)
- version
- set of file (or prepared archive) for each supported architecture
Detailed schema of the config.yaml file is described in the section.
The general structure of the bundle is:
.
├── config.yaml
│
├── item1
│ └── x86-64
│ │ └── files or folders
│ └── arm64
│ │ └── files or folders
│ └── ...
└── item2
│ └── x86-64
│ │ └── files or folders
│ └── arm64
│ │ └── files or folders
│ └── ...
└── ...
Predefined name is config.yaml file.
All other files or folders could be named as you want and have to be properly described in the config.yaml file.
Best ways to create config.yaml file:
- use
aos-signer initcommand - clone git repository with demo service: hello-world
Limitations
Each deployment bundle could contain one or more deployable item. But each deployable item must belongs to the same owner. Thats leads to the following restrictions:
- services and components can't be created in the same bundle (service belongs to service provider, component belongs to OEM)
- each deployable item in the bundle must belongs to the OEM or service provider that is uploading the bundle.
- the existing versions of deployable items will generate the build error during processing at AosCloud. In this case the version of the item in bundle have to be changed.
Upload bundle
To upload the bundle to the AOSCloud, in the bundle folder use aos-signer tool:
- Windows
- macOS, Linux
~/.aos/venv/Scripts/python3 -m aos_signer go
~/.aos/venv/bin/python3 -m aos_signer go