Skip to content

Exordos configuration file#

The exordos.yaml file contains the configuration for the Exordos project. It should be placed in the exordos directory in the project root. It consists of several sections such as build, deploy, etc.

Project structure#

For every Exordos project the directory exordos should exist in the project root:

.
├── my_project
│   └── main.py
├── exordos
│   └── exordos.yaml
├── pyproject.toml
└── README.md

Build configuration example#

# Build section. It describes the build process of the project.
build:
  # Dependencies of the project
  # This section is used to specify build dependencies
  # for the project
  deps:
      # Target path in the image
    - dst: /opt/exordos_core
      # Local path of the build machine
      path:
        src: ../../exordos_core
  
  # This section describes elements of the project.
  # Images, artifacts and manifests for every element. 
  elements:
      # List of images in the element
    - images:
      - name: exordos-core
        format: raw
        
        # OS profile for the image
        profile: ubuntu_24

        # Provisioning script
        script: images/install.sh

        # Override image build parameters, for instance Packer parameters
        override:
          disk_size: "10G"

      manifest: manifests/exordos-core.yaml
      
      # List of artifacts in the element
      artifacts:
        - configs/my-config.yaml
        - templates/my-template.yaml

Push configuration file#

The push configuration is kept in a separate file — exordos.push.yaml — placed alongside exordos.yaml in the exordos directory. It defines one or more named push targets, each specifying a driver and a destination path.

Format#

push:
  <target_name>:
    driver: <driver>   # e.g. "fs" for a local filesystem repository
    path: <path>       # destination path for the built artifacts

Example#

push:
  local:
    driver: fs
    path: /var/lib/exordos-pools/http

To push to a specific target, pass the config file with the -c flag:

exordos push -c exordos/exordos.push.yaml