Skip to content

Configuração YAML (Configuration)

O aptdata suporta a configuração declarativa de pipelines via arquivo aptdata.yaml, permitindo que você defina, valide e orquestre a execução de sistemas sem precisar escrever código de inicialização (bootstrap) em Python.


Formato do Arquivo

O schema principal utiliza a seguinte estrutura:

version: "1"           # Versão do schema de configuração (obrigatório)
env: dev               # Ambiente de destino (default: dev)

systems:
  - name: my_system    # Nome registrado no Plugin Registry (registry.register)
    enabled: true      # Defina como 'false' para pular a execução

plugins:
  - module: my_package.systems  # Módulo Python injetado antes da resolução dos sistemas

telemetry:
  enabled: true
  exporter: console    # console | otlp
  endpoint: ""         # Endpoint OTLP (usado quando exporter: otlp)

Exemplo Mínimo

version: "1"
env: production

plugins:
  - module: my_project.systems

systems:
  - name: etl_pipeline
    enabled: true
  - name: quality_checks
    enabled: true

Comandos da CLI (config)

  • config validate

    Valida a sintaxe de um aptdata.yaml contra o schema Pydantic sem rodar os pipelines.

    aptdata config validate aptdata.yaml
    

  • config init

    Gera um aptdata.yaml inicial no diretório atual ou especificado.

    aptdata config init [--output /path/]
    

  • config show

    Exibe a configuração carregada e parseada (com as substituições de variáveis de ambiente aplicadas).

    aptdata config show aptdata.yaml
    

  • config run

    Carrega o arquivo e dispara todos os sistemas listados onde enabled: true.

    aptdata config run aptdata.yaml [--env production]
    


Substituição de Variáveis de Ambiente (Secret Manager)

Valores no arquivo YAML podem referenciar dinamicamente variáveis de ambiente injetadas em tempo de execução utilizando a sintaxe ${VAR_NAME}. A resolução recursiva é garantida pela classe SecretManager.

telemetry:
  endpoint: "${OTEL_EXPORTER_OTLP_ENDPOINT}"

Resolução Opcional de .env

Se o pacote python-dotenv estiver instalado no seu ambiente, o framework carregará automaticamente as variáveis de um arquivo .env localizado na raiz da execução.


Integração com Templates

O comando de scaffolding gera automaticamente o arquivo aptdata.yaml como parte da estrutura padrão do projeto.

aptdata scaffold my_project --template medallion
# Cria my_project/aptdata.yaml já pré-configurado