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 mesmoinstance-uidvolta com tudo.deployally undeploy --instance-uid X --apply --purge-data --yes— remove também a árvore/datada instância, volumes nomeados legados e o diretório de secrets. Honra o blocoon_uninstall.preservedo 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:
- Detecta a dependência via
needs - Sobe o primeiro asset compatível da lista de opções
- Aguarda ficar saudável com retry e backoff exponencial
- 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
deployagora vive sob o subcomandov3(deployally v3 deploy ...) - Comando
validateaceita--templates-dir Dpara validar templates locais antes de publicar - Comando
template newgera 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
- Última versão estável (x86_64)
- Última versão estável (aarch64)
- Última RC (x86_64)
- Instalador