Changelog

Histórico das principais novidades da plataforma. Para a lista completa de mudanças técnicas, consulte o changelog do CLI no repositório oficial.


2026-07-23 — Comando `undeploy`

Adicionado

`undeploy` — o inverso do `deploy`

Novo comando para desmontar uma instância, fechando o ciclo de vida do deploy. Dry-run é o comportamento padrão: sem --apply, o comando apenas imprime o plano de remoção.

  • deployally undeploy --instance-uid X — mostra o plano, não remove nada.
  • deployally undeploy --instance-uid X --apply — remove os containers da instância e o registro local, preservando os dados em /data, volumes legados e secrets. Um redeploy do mesmo instance-uid volta com tudo.
  • deployally undeploy --instance-uid X --apply --purge-data --yes — remove também a árvore /data da instância, volumes nomeados legados e o diretório de secrets. Honra o bloco on_uninstall.preserve do template.

O undeploy nunca remove volumes bind de sistema, a rede public, assets compartilhados ou containers de outras instâncias. É uma operação local — consulte a referência do comando para detalhes.


2026-06-05 — Surface declarativa completa

Adicionado

Six Archetypes

Templates agora se baseiam em um de seis archetypes pré-definidos, com defaults sensatos para cada classe de serviço:

  • application — apps web tradicionais (memos, uptime-kuma, vaultwarden)
  • asset — serviços de infraestrutura compartilháveis (mysql, postgresql, redis)
  • static — sites estáticos servidos por Caddy/nginx
  • worker — processos background sem rotas HTTP
  • multi_component_saas — apps com vários containers cooperando (postal: web + smtp + worker)
  • network_appliance — bordas de rede com network_mode: host (traefik)

Cada archetype aplica labels CCS, política de network attach, healthcheck default e restart policy apropriados. Você descreve o que rodar, e a plataforma decide como.

Auto-Provisão de Assets

A nova flag --provision-missing-assets resolve dependências automaticamente. Se sua aplicação declara que precisa de um banco MySQL e nenhum estiver rodando, o deployer:

  1. Detecta a dependência via needs
  2. Sobe o primeiro asset compatível da lista de opções
  3. Aguarda ficar saudável com retry e backoff exponencial
  4. Conecta sua aplicação automaticamente

Sem mais coreografia manual para subir serviços em ordem.

Onze Templates Publicados

O catálogo curado inclui hoje: memos, uptime-kuma, vaultwarden, mariadb, mysql, postgresql, redis, n8n, wordpress, postal, traefik. Todos validados, com defaults de produção, healthchecks reais e secrets gerados automaticamente.

Quatro Kinds de Storage

Templates agora declaram storage de forma explícita por tipo:

  • volume — volume Docker nomeado, persistente
  • bind — bind mount do host
  • config_file — arquivo de configuração renderizado a partir de template (substituição de variáveis aplicada)
  • tmpfs — armazenamento em memória, efêmero

Especialmente útil para apps que precisam de config.yaml, nginx.conf ou similares montados como single file no container.

Reflang — Linguagem de Substituição

Sintaxe unificada para referenciar valores em qualquer parte do template. Dez namespaces cobrem todos os contextos: ${input.X}, ${secrets.X}, ${self.X}, ${instance.X}, ${context.X}, ${tenant.X}, ${system.X}, ${env.X}, ${needs.X}, ${asset.X}.

Inclui funções para gerar valores no template: random.hex(N), random.alnum(N), random.password(N), random.uuid(), e helpers de controle como if(cond, a, b), default(v, fallback), exists(v), concat(...), lower(s), upper(s), replace(s, from, to).

Substituição aninhada suportada: ${input.${SLUG_UPPER}_DOMAIN} resolve corretamente, permitindo templates dinâmicos por instância.

Veja a Reflang Reference para a lista completa.

Multi-Tenant via Dispatcher

Templates podem declarar dispatchers per_instance para criar entidades isoladas por tenant (database por tenant, queue por tenant). O DeployAlly invoca o dispatcher do asset automaticamente quando uma nova instance é deployada.

Cert Resolver Alias Canônico

Labels do Traefik agora usam um nome canônico de cert resolver (tls.certresolver) que casa com a configuração padrão recomendada. Não é mais preciso ajustar templates por servidor.

Modificado

  • Comando deploy agora vive sob o subcomando v3 (deployally v3 deploy ...)
  • Comando validate aceita --templates-dir D para validar templates locais antes de publicar
  • Comando template new gera scaffolds editor-ready para qualquer dos seis archetypes

2026-04-29 — Wizard navegável

Adicionado

Inputs do wizard ganharam navegação com setas, agrupamento por prefixo (MAIN_DB_*, WEB_*, SMTP_*), help on-demand (?), back textual (<) e máscaras visuais (*) ao digitar senhas. Inputs com generate: em seção advanced são auto-preenchidos sem prompt.


2026-02 — Catálogo de templates

Adicionado

Plataforma lançada com catálogo curado de templates versionados e imutáveis. Cada template tem hash SHA256 da spec, permitindo auditoria de drift entre o que foi deployado e o que está rodando.

Modificado

URLs de download passam pelo CDN (get.deployally.com).


Download

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