ConnXL Docs

Operar

Ambientes

Um suplemento possui um conjunto ordenado de ambientes — Development, QA, Staging, UAT, Production — e cada um corre o seu próprio agent, ativo de forma independente. Esta página cobre como renomear, a cache de resultados por ambiente e como a configuração se move entre ambientes.

6 min de leitura

O que é um ambiente

Um suplemento possui um conjunto ordenado de ambientes com nome — até cinco, numa ordem de promoção fixa (Development, QA, Staging, UAT, Production por omissão; não precisas de preencher todas as posições, e os nomes são teus para editar). Um suplemento novo começa com um único ambiente Development.

  • Cada ambiente corre o seu próprio agent — o seu próprio processo connxl-agent (ou várias réplicas), autenticado por um certificado limitado a esse ambiente específico. Não há "ambiente ativo" nem fixação: Development e Production são servidos em paralelo por agents diferentes, e nada do que fazes num afeta se o outro está ativo.
  • Development (posição 1) é a fonte (source). É o único ambiente onde crias ou editas estrutura — funções, definições de ligação, botões de friso, o painel de tarefas. O backend impõe isto, não só o dashboard.
  • Todos os outros ambientes são destinos de promoção. Aí só editas valores específicos do ambiente — credenciais, hosts, definições de cache. Uma edição estrutural (adicionar uma função, mudar a forma de uma ligação) é rejeitada fora do ambiente fonte; trazes a estrutura com Promote em vez disso.

Renomear e eliminar

Abre as Definições de um ambiente para o renomear. O slug — comparado sem distinguir maiúsculas/minúsculas com o CONNXL_ENV_ID do agent no momento da ligação — fica fixo na criação e não pode mudar, por isso renomear o nome de exibição nunca quebra a identidade de um agent em execução.

Eliminar tem efeito em cascata

Eliminar um ambiente remove com ele as suas ligações, funções, botões de friso, painel de tarefas e histórico de versões. O ambiente fonte e o ambiente do qual um suplemento depende atualmente para o seu último agent restante estão protegidos contra eliminação.

A cache de resultados

Cada ambiente tem a sua própria configuração de cache — o bloco cache do snapshot do agent, editado a partir do separador Configuration na página do Agent. Controla se (e como) os resultados das funções são colocados em cache antes de uma chamada voltar a alcançar a tua fonte de dados.

  • Backenddisabled (por omissão; nada é colocado em cache), memory (no processo do agent — limpo ao reiniciar, por réplica), ou valkey (partilhado por todas as réplicas do ambiente, apoiado numa ligação Valkey que registas como qualquer outra fonte de dados).
  • Defaults — o TTL e os limites de tamanho universais aplicados a qualquer função que nenhum segmento abaixo cubra.
  • Segments — uma lista ordenada de regras glob sobre ids de função (MODULE.NAME, por ex. SALES.*). O primeiro segmento correspondente vence, por isso coloca os padrões mais específicos acima dos mais genéricos. Cada segmento pode definir o seu próprio TTL e limites de tamanho, sobrepondo-se aos defaults apenas para as funções que corresponde.
FieldTypeDescription
backendRequired
disabled | memory | valkeyOnde vivem os resultados em cache. valkey precisa de uma ligação kv registada neste ambiente — sem uma, a opção fica indisponível.
connectionIdOptional
idA ligação kv (Valkey) por trás de uma cache valkey. O URL da ligação é um segredo, por isso a configuração de cache faz referência a ela pelo id em vez de guardar o URL diretamente.
defaults.ttlSecondsOptional
intTempo de vida (TTL) por omissão de um resultado em cache, em segundos. Em branco/0 significa que não há limite por omissão definido.
defaults.maxEntriesOptional
intLimite por omissão do número de entradas em cache.
defaults.maxBytesOptional
intLimite por omissão de tamanho em cache, em bytes.
resources[].nameOptional
stringUm nome para o segmento. default é reservado, e os nomes têm de ser únicos dentro do ambiente.
resources[].matchRequired
globUm glob sobre ids de função (por ex. SALES.*). Ordenados de cima para baixo; o primeiro que corresponder vence.
resources[].ttlSeconds / maxEntries / maxBytesOptional
intSobrepõe-se aos defaults para as funções que este segmento corresponde.

Um padrão que não corresponde a nada é apenas um aviso

O dashboard verifica o glob de cada segmento contra os ids de função atuais do teu ambiente e assinala um que não corresponda a nenhum deles — útil para apanhar um nome de módulo com erro de escrita. É apenas indicativo: um padrão pode legitimamente visar uma função que ainda não construíste, por isso nunca bloqueia o guardar.

A colocação em cache só se aplica quando é escolhido um backend diferente de disabled; escolher disabled mantém o seletor de backend ativo (para poderes voltar a ligar a cache) mas torna todos os outros campos inertes.

Como a configuração se move entre ambientes

A estrutura nunca se edita a si própria num ambiente a jusante — é trazida deliberadamente com Promote, a partir da página desse ambiente. O Promote:

  • Copia a estrutura do ambiente fonte (funções, forma das ligações, botões de friso, painel de tarefas) para o ambiente de destino.
  • Preserva os valores próprios do destino — as suas credenciais, o host do agent e a configuração de cache ficam intocados, por isso promover uma função nova para Production não sobrepõe a palavra-passe da base de dados de Production.
  • Publica automaticamente — um promote atualiza a configuração de trabalho do destino e torna-a ativa no mesmo passo, registado como uma entrada promote no histórico de versões desse ambiente.

Consulta Versões para o fluxo completo de guardar/publicar/comparar/restaurar, e como um promote aparece no histórico de um ambiente.

Nesta página