Skip to content

Conversation

@mobileoverlord
Copy link
Contributor

Avocado configs are simpler to scan and visually parse using yaml.
Here is a preview of what yaml configs would look like:

default_target: jetson-orin-nano-devkit
supported_targets:
- jetson-orin-nano-devkit
runtime:
  dev:
    dependencies:
      avocado-img-bootfiles: '*'
      avocado-img-rootfs: '*'
      avocado-img-initramfs: '*'
      config:
        ext: config
      app:
        ext: app
    jetson-orin-nano-devkit:
      dependencies:
        avocado-img-tegraflash: '*'
ext:
  app:
    types:
    - sysext
    - confext
    version: 0.1.0
    dependencies: {}
  config:
    types:
    - confext
    version: 0.1.0
    users:
      root:
        password: ''
sdk:
  image: docker.io/avocadolinux/sdk:apollo-edge
  dependencies:
    avocado-sdk-toolchain: '*'
  jetson-orin-nano-devkit:
    container_args:
    - --network=host
    - -v
    - /dev:/dev
    - -v
    - /sys:/sys:ro
    - --privileged
    dependencies:
      nativesdk-util-linux-mount: '*'

This PR changes the default config file format form toml to yaml. With a couple considerations

  • We look for a config in the following order: avocado.yaml | avocado yml | avocado.toml. We accept using both yaml and yml extension names.
  • If we encounter a toml config, automatically migrate it to avocado.yaml

Interpolation contexts `env` will reference env vars, `config` can self reference any config file nested key recursively. `avocado` will access internal resolved state like `target`.
danielspofford
danielspofford previously approved these changes Dec 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants