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.
- Backend —
disabled(por omissão; nada é colocado em cache),memory(no processo do agent — limpo ao reiniciar, por réplica), ouvalkey(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.
| Field | Type | Description |
|---|---|---|
backendRequired | disabled | memory | valkey | Onde vivem os resultados em cache. valkey precisa de uma ligação kv registada neste ambiente — sem uma, a opção fica indisponível. |
connectionIdOptional | id | A 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 | int | Tempo 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 | int | Limite por omissão do número de entradas em cache. |
defaults.maxBytesOptional | int | Limite por omissão de tamanho em cache, em bytes. |
resources[].nameOptional | string | Um nome para o segmento. default é reservado, e os nomes têm de ser únicos dentro do ambiente. |
resources[].matchRequired | glob | Um glob sobre ids de função (por ex. SALES.*). Ordenados de cima para baixo; o primeiro que corresponder vence. |
resources[].ttlSeconds / maxEntries / maxBytesOptional | int | Sobrepõ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
promoteno 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.
Dashboard
O dashboard é onde configuras os suplementos e observas os agents que os servem. Tudo é delimitado pelo URL — organização, depois suplemento, depois ambiente — por isso a trilha de navegação diz-te exatamente o que estás a editar.
Versões
Cada ambiente mantém um histórico restaurável de configurações publicadas. Esta página cobre o modelo rascunho vs. ativo, guardar e publicar uma versão, comparar dois snapshots (incluindo o teu rascunho por publicar), restaurar, e promover uma versão entre ambientes.