.gitops.yml - Referencia

Referencia completa de todos os campos suportados.

Campos de Primeiro Nivel

Campo Tipo Obrigatorio Descricao
version string Nao Versao do formato (2.0)
channels object Nao Canais de distribuicao
artifacts list Sim Artefatos para upload
docs list/object Nao Documentacao para upload
storage object Sim Configuracao do storage
publish object Nao Opcoes de publicacao
github object Nao Configuracao GitHub
metadata object Nao Metadados do projeto

channels

channels:
  stable:
    branch: main
    tag_pattern: "v[0-9]+.[0-9]+.[0-9]+$"
    folder: ""
    is_default: true
  rc:
    branch: dev
    tag_pattern: "v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+$"
    folder: "rc"
    is_prerelease: true
Campo Tipo Descricao
branch string Branch associada
tag_pattern regex Padrao para detectar tags
folder string Subpasta no storage
is_default bool Canal padrao
is_prerelease bool Marcar como prerelease

artifacts[]

artifacts:
  - source: asset:projeto.zip:binario
    destination: "{channel_path}binario"
    type: binary
    latest: true
Campo Tipo Obrigatorio Descricao
source string Sim Origem do artefato
destination string Sim Caminho de destino
type string Sim binary ou zip
latest bool Nao Atualiza latest
versioned bool Nao Cria copia versionada

Formatos de source

Formato Descricao
path/file Arquivo do repositorio na tag
asset:name Asset do GitHub Release
asset:name.zip:inner Extrair de dentro de ZIP

Placeholders em destination

Placeholder Descricao
{channel_path} Pasta do canal ("" ou "rc/")
{version} Versao sem v (ex: 1.2.3)

Tipo binary

Envia o conteudo como esta, com Content-Type: application/octet-stream.

Tipo zip

Cria um ZIP contendo o artefato de origem e envia com Content-Type: application/zip.

docs[] (v2.0)

docs:
  - source: README.md
    destination: docs/latest/README.md
    latest: true
  - source: README.md
    destination: docs/{version}/README.md
    versioned: true
Campo Tipo Descricao
source string Caminho do arquivo no repo
destination string Caminho de destino
latest bool Atualiza copia latest
versioned bool Cria copia versionada

docs (legacy)

docs:
  readme: README.md
  manual: MANUAL.md
  changelog: CHANGELOG.md

O formato legacy ainda e suportado. O GitOps detecta automaticamente o formato.

storage

storage:
  provider: b2
  bucket: ccs-systems
  folder_name: meu-projeto
  delivery_url: https://meu-projeto.ccs.systems
Campo Tipo Obrigatorio Descricao
provider string Sim b2
bucket string Sim Nome do bucket
folder_name string Sim Pasta raiz no bucket
delivery_url string Sim URL base do CDN

Aliases: path = folder_name, public_url = delivery_url

Importante: Se folder_name for vazio, usa o nome do repo como fallback. Isso pode causar paths incorretos se o nome do repo nao corresponde a pasta desejada.

publish

publish:
  auto_latest: true
  preserve_versions: true
  max_versions: 10
  max_rc_versions: 5
Campo Tipo Default Descricao
auto_latest bool true Atualiza latest
preserve_versions bool true Mantem versoes
max_versions int 10 Max versoes stable
max_rc_versions int 5 Max versoes RC

upload (legacy)

upload:
  versioned_folder: true
  docs_folder: "docs/"
  versioned_files: ["release_notes"]
  latest_files: ["readme", "manual", "changelog"]

Usado com o formato legacy de docs. O v2.0 com destinations explicitos nao precisa desta secao.

By Borlot.com.br on 06/03/2026