YAML Configuration

The helix.yaml file configures the Helix environment for the application. This file is located at the root of the project.

Configuration Options

name

The name of the Helix application.

name: my-app
          

description

A description of the application.

description: A simple Python Helix application
          

version

The version of the application.

version: 1.0.0
          

author

The author of the application.

author: John Doe
          

license

The license under which the application is distributed.

license: MIT
          

dependencies

A list of dependencies for the application.

dependencies:
            - requests
            - pandas
          

environment

A dictionary of environment variables to be set when the application is run.

environment:
            API_KEY: my-api-key
            DATABASE_URL: postgres://user:password@host:port/database
          

commands

A dictionary of commands that can be executed within the Helix environment.

commands:
            start: python app.py
            test: pytest
          

services

A list of services to be started when the application is run.

services:
            - redis
            - postgresql
          

volumes

A list of volumes to be mounted when the application is run.

volumes:
            - data:/data
          

ports

A list of ports to be exposed when the application is run.

ports:
            - 8000:8000
          

build

A dictionary of build options for the application.

build:
            context: .
            dockerfile: Dockerfile
          

deploy

A dictionary of deployment options for the application.

deploy:
            provider: aws
            region: us-east-1
            cluster: my-cluster
            service: my-service
          

secrets

A dictionary of secrets for the application.

secrets:
            API_KEY: my-secret-api-key
            DATABASE_PASSWORD: my-secret-password
          

profiles

A dictionary of profiles that can be used to customize the application’s configuration.

profiles:
            development:
              environment:
                DEBUG: True
            production:
              environment:
                DEBUG: False
          

plugins

A list of plugins to be loaded when the application is run.

plugins:
            - helix-plugin-example
          

Example Helix.yaml File

name: my-app
          description: A simple Python Helix application
          version: 1.0.0
          author: John Doe
          license: MIT
          dependencies:
            - requests
            - pandas
          environment:
            API_KEY: my-api-key
            DATABASE_URL: postgres://user:password@host:port/database
          commands:
            start: python app.py
            test: pytest
          services:
            - redis
            - postgresql
          volumes:
            - data:/data
          ports:
            - 8000:8000
          build:
            context: .
            dockerfile: Dockerfile
          deploy:
            provider: aws
            region: us-east-1
            cluster: my-cluster
            service: my-service
          secrets:
            API_KEY: my-secret-api-key
            DATABASE_PASSWORD: my-secret-password
          profiles:
            development:
              environment:
                DEBUG: True
            production:
              environment:
                DEBUG: False
          plugins:
            - helix-plugin-example