Skip to content

Configurazione ​

Come configurare il manager dell'operatore stesso. Per configurare la piattaforma, consulta le pagine di riferimento delle custom resource. Un elenco sintetico di flag e variabili d'ambiente si trova nella pagina Riferimento di configurazione.

Namespace osservati ​

Per impostazione predefinita l'operatore osserva tutti i namespace. Per limitarlo — ad esempio per assegnare a un'istanza dell'operatore una porzione di un cluster di grandi dimensioni — imposta --watch-namespaces (o la variabile d'ambiente WATCH_NAMESPACES) su un elenco separato da virgole:

bash
--watch-namespaces=forge-gateway,forge-langfuse,forge-ui,forge-data

Mantieni raggiungibili i namespace di sistema

Quando limiti l'osservazione, la risorsa cluster-scoped License e i namespace *-system degli operatori di capacità devono restare raggiungibili. L'operatore usa un reader senza cache per queste letture cross-namespace, ma verifica che l'RBAC continui a consentirle.

In Helm, imposta watchNamespaces: [...] (lista vuota = tutti i namespace).

Leader election ​

La leader election è attiva di default. Poiché il motore Helm integrato nel binario si basa su un unico reconciler attivo (l'action.Configuration di Helm non è concurrency-safe), ti conviene mantenere la leader election abilitata anche con una sola replica. Inoltre ogni controller viene eseguito con MaxConcurrentReconciles = 1.

Risorse ​

Il manager esegue il rendering e l'installazione degli Helm chart in-process, operazione che consuma molta memoria. Assegnagli memoria adeguata — ~1Gi è una base sicura:

yaml
resources:
  requests: { cpu: 100m, memory: 512Mi }
  limits:   { memory: 1Gi }

I limiti di default di Kubebuilder sono troppo bassi e si manifestano come OOM kill solo nel cluster (non con make run in locale, che usa il kubeconfig e la memoria della macchina locale).

RBAC ​

L'operatore include un ClusterRole ampio perché installa CRD, RBAC di cluster, admission webhook e workload in più namespace. I metodi di installazione lo predispongono automaticamente. Se assembli l'RBAC a mano, l'operatore necessita, tra l'altro, di:

  • Gestione completa delle risorse *.core.navique.com e del relativo /status.
  • Gestione dei CRD upstream che emette (postgresql.cnpg.io, external-secrets.io, litellm.palena.ai, langfuse.palena.ai, …).
  • get/list/watch su customresourcedefinitions (per attendere Established).
  • Oggetti di gestione delle release Helm (Secret nei namespace delle release).
  • Oggetti Lease per la leader election.
  • Il ServiceAccount a privilegio minimo e l'RBAC della console del management plane.

Comportamento di installazione degli operatori di capacità ​

Ogni chart incluso ha valori di installazione di default verificati e integrati nel registry dell'operatore — consulta Chart inclusi. In genere non devi modificarli. Quando i default upstream di un chart sono obsoleti (ad esempio un tag d'immagine fissato ma vecchio), l'operatore li sovrascrive per allinearli alla versione del chart con cui viene distribuito.

Per i cluster air-gapped, replica le immagini upstream nel tuo registry e fornisci gli override delle immagini; i chart sono incorporati nel binario e non richiedono accesso alla rete.

Console di gestione ​

L'operatore distribuisce la console del management plane di default, anche in assenza di una risorsa ManagementPlane. Per modificarne host, ingress, SSO, immagine o comportamento di discovery, crea una risorsa ManagementPlane. Per disabilitarla completamente, imposta il corrispondente valore del chart/di installazione (la console può essere disattivata dove non è desiderata).

Alta disponibilità ​

Esegui il manager con più repliche e la leader election attiva; solo il leader esegue la riconciliazione e il failover è automatico. I workload della piattaforma sono resi HA tramite le rispettive risorse (ad es. PostgresCluster.managed.instances: 3, Gateway.instance.replicas, repliche dei datastore di Langfuse).

Nucleo open source sotto AGPL-3.0. I componenti Enterprise sono proprietari e soggetti a licenza.