Pular para o conteúdo

O manifesto de um micro

O manifesto descreve como arrancar um micro. O MicroLab deteta-o automaticamente ao adicionar o micro e mantém-no atualizado com «Atualizar a partir do repositório». Raramente o edita à mão; para ver o real de um micro, microlab service show <id>.

Estas são as coisas que declara. Os identificadores e as chaves vão em inglês (padrão do projeto).

  • stack — a tecnologia: kind (quarkus, spring-boot, node, angular, python) mais algum ajuste pontual (por exemplo o comando de arranque, que aceita ${port}). O resto do conhecimento por tecnologia (caminho de health, estilo de injeção) o MicroLab põe pelo kind.
  • Portas — a/as portas que o micro declara (o MicroLab remapeia-as para portas efetivas ao arrancar).
  • Infraestrutura — o que precisa do compose comum (Kafka, Redis, Postgres).
  • datasource — a sua base de dados, com uma devUrl opcional para o modo «cloud».
  • Dependências — por cada core que chama: o seu identificador, a propriedade que se reescreve ao injetar, o URL cloud e a especificação OpenAPI (para gerar o modelo do mock).
  • requirements — o que um micro exige para além do seu stack (outra ferramenta ou um caminho que deve existir), com optional para que seja aviso em vez de falha.
  • Quick toggles — booleanos declarados pelo micro (por exemplo «sem autenticação») que se ativam como caixas e se expandem a propriedades ao arrancar.
  • run.native.preCommands — o que se executa antes de arrancar (versionado, da equipa). Aceita ${mvn} e pode desativar-se sem apagar:
run:
native:
preCommands:
- command: ${mvn} -pl bootstrap -am install -DskipTests -T 1C
- command: npx ng build shared-ui
enabled: false # declarado mas desligado
  • prepSteps — passos bespoke do micro (por exemplo um seed de base de dados) que se executam a pedido ou após a primeira migração («Preparar base de dados»).

A personalização de arranque da sua máquina (propriedades soltas, base de dados escolhida, comando livre) não vive no manifesto: vive em settings.local.yml, fora do Git. Ver Personalizar o arranque.