Ir para o conteúdo principal
Voltar aos artigos

Backstage 1.55: retomar uma tarefa exige saber quais efeitos podem se repetir

A recuperação de templates é opt-in e depende de idempotência ou checkpoints. O upgrade também pede revisão de permissões, workspace e plugins.

·3 min de leitura·2 visualizações

O Backstage 1.55 adicionou recuperação de tarefas de Software Templates interrompidas por crash ou timeout.[17] A opção scaffolder.taskRecovery é opt-in, retoma do último passo concluído, persiste saídas e mantém segredos até o estado terminal.[17] A melhoria reduz trabalho de retomada, mas não resolve sozinha a semântica de uma ação que já produziu um efeito externo.

O que muda para quem desenvolve

A reportagem ressalta que as ações precisam ser idempotentes ou usar checkpoints, porque uma tarefa recuperada pode repetir uma ação.[17] Em termos de projeto, defina o que acontece quando o processo cria o recurso e falha antes de registrar a conclusão. A interface pode mostrar um passo incompleto mesmo quando o serviço externo já recebeu a solicitação.

Minha leitura é que recuperação deve ser avaliada por efeito, não apenas por estado do workflow. Para uma ação que cria um repositório, repetir precisa reutilizar a identidade esperada ou reconhecer a criação anterior. Gerar um nome diferente em cada tentativa pode transformar recuperação em duplicação.

A serialização do workspace é opcional e exige um provedor próprio; o armazenamento em banco tem limite de 50 MB e é indicado para desenvolvimento.[17] Para produção, a matéria recomenda considerar GCP ou outro armazenamento externo.[17] Persistência de saídas e disponibilidade do workspace são contratos distintos que precisam ser exercitados.

Como aplicar

Escolha um template de homologação sem efeitos críticos. Liste cada ação, seu identificador de operação, o recurso externo envolvido e a resposta esperada a uma repetição. Marque ações que ainda não têm uma estratégia explícita.

Interrompa a tarefa antes e depois de um efeito simulado, mas antes de registrar sua conclusão. Ao retomar, conte recursos criados e confira a identidade final. O aceite deve demonstrar que não surgiram recursos extras e que as saídas necessárias chegaram aos passos seguintes.

Teste também retenção e descarte de segredos ao alcançar estados terminais. Evite registrar seus valores nos diagnósticos do exercício. Se houver workspace persistido, verifique o comportamento quando ele não estiver disponível ou ultrapassar o tamanho previsto.

Antes do upgrade, revise as mudanças incompatíveis pertinentes. O catálogo passa a devolver apenas targetRef nas relações, o módulo Elasticsearch exige 8.19 ou superior e TechDocs exige configuração explícita para plugins adicionais fora da lista permitida.[17]

Cuidados e limites

Políticas que negam permissões desconhecidas precisam autorizar explicitamente scaffolder.template.dry-run para preservar a simulação dos templates.[17] A matéria também informa correções de segurança em sete pacotes e audiência obrigatória na configuração do Cloudflare Access.[17]

A versão 1.55 foi lançada em setembro; no retrato da reportagem, 1.55.3 já incorporava correções posteriores.[17] Não confunda a data da notícia com a primeira disponibilidade. Recuperação é uma capacidade operacional útil quando cada ação tem comportamento definido sob repetição, não uma promessa de continuidade segura para qualquer template existente.

Fonte

[17] Fonte: InfoQ

Continue lendo