Sobre o projeto
K8s Namespace Sync é um controlador Kubernetes que sincroniza automaticamente Secrets e ConfigMaps entre vários namespaces dentro de um cluster Kubernetes. Ele monitora alterações no namespace de origem e as sincroniza para todos os namespaces de destino, mantendo a consistência ao limpar recursos quando a origem é excluída, usando finalizers.
Os principais recursos incluem:
- Sincronização automática de Secrets e ConfigMaps.
- Detecção automática e sincronização em tempo real de alterações na origem.
- Direcionamento seletivo de namespaces e exclusão manual de namespaces específicos.
- Exclusão automática de namespaces de sistema (kube-system, kube-public, etc.).
- Filtragem de recursos com correspondência de padrões glob para regras de inclusão/exclusão.
- Métricas Prometheus para monitorar operações de sincronização, conflitos e durações.
- Eventos Kubernetes para visibilidade das operações de sincronização (SyncComplete, SyncFailed, SyncConflict, etc.).
- Condições de status para refletir o estado atual da sincronização.
O controlador pode ser instalado via Helm (registro OCI ou repositório clássico), kubectl apply ou compilado a partir do código-fonte. Ele requer Kubernetes v1.25+ devido às regras de validação CEL. O CRD impõe regras de validação no momento da admissão, como exigir um sourceNamespace não vazio e pelo menos um nome de secret ou configmap. Ele também trata NamespaceSyncs sobrepostos com cuidado para evitar conflitos, garantindo que objetos criados manualmente não sejam sobrescritos, a menos que sejam explicitamente direcionados.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.