Pular para o conteúdo

Dependências (local, cloud ou mock)

Uma dependência é um core que um micro chama por REST. Quando inicia um cenário, para cada dependência escolhe como a resolver: o MicroLab reescreve o URL que esse micro usa para chamar, sem tocar no código do repo.

OpçãoO que fazQuando usá-la
localAponta para o par iniciado no mesmo cenárioTestar a comunicação real entre os seus micros
cloudAponta para o ambiente DEV (pode requerer VPN corporativa)Usar um core que não quer iniciar
mockAponta para o servidor de mocks do MicroLabTrabalhar sem VPN nem iniciar o core

Para que a resolução local funcione, o core de destino tem de fazer parte do cenário. Se não estiver, o MicroLab avisa.

Cada dependência declara que propriedade de configuração reescrever (por exemplo app.rest-client.pagos.url). Ao arrancar, o MicroLab calcula o URL efetivo conforme a resolução escolhida e injeta-o como configuração, com a perspetiva correta (host ou contentor) conforme onde corre o cliente. O repo do micro não é modificado.

As dependências externas (gateways, autenticação) ficam fixadas em cloud. Se qualquer dependência for resolvida contra a cloud, a app mostra o aviso de que é necessária ligação (VPN) à rede corporativa, e as credenciais de cloud (${creds.x}) têm de estar definidas.

Na secção Cenários, o painel de Dependências tem um seletor local/cloud/mock por dependência. Pode mudá-lo:

  • Antes de arrancar: é guardado como parte do cenário.
  • Com o cenário em execução: muitas resoluções aplicam-se a quente, sem reinício; outras reiniciam o micro afetado. A app diz-lhe qual das duas aconteceu.

A partir do CLI, o equivalente é microlab set-resolution <dep> <local|dev|mock> (ou --resolve ao iniciar, como override pontual dessa invocação).

Quando uma dependência é resolvida como mock, o MicroLab serve as respostas que definiu para esse serviço na secção Mocks. Não é preciso iniciar nada para as editar: o catálogo de mocks vive no disco e é servido com recarga a quente.