Repository navigation
feat(deploy): port interne, ConfigMap et NetworkPolicy de la CA dans le chart Helm - #23
Merged
Merged
Conversation
…le chart Helm Le lien interne de ca-server (/internal/v1/*, mTLS) devient déployable, en option et désactivé par défaut (ca.internal.enabled) : - ca.service.internalPort (8321) : second port du Service, jamais dans une HTTPRoute, une NetworkPolicy ne voyant que les ports ; - NetworkPolicy de la CA : le port public reste ouvert au cluster, le port interne n'est joignable que depuis les pods ra-console de la release ; - ConfigMap de la liste blanche de modèles de clés d'opérateur, montée en lecture seule ; - le rendu échoue si rpId, origin ou la liste de modèles manquent : un lien interne à moitié configuré n'est pas déployé ; - entrypoint : au premier démarrage, dépose la demande de certificat internal_server (ca-server internal-cert server) et attend son approbation avant de démarrer. Le sidecar d'approbation la traite en démonstration, un opérateur nommé en production. La clé (0600, dossier 0700) et la demande survivent à un redémarrage ; les erreurs ne sont pas réessayées. Le docker-compose.yml et les valeurs de ra-console attendent que le service existe. docs/WEBUI.md §17 : la première NetworkPolicy du chart est livrée.
PhilippeVienne
force-pushed
the
feat/deploiement-lien-interne
branch
from
September 21, 2026 08:14
5924455 to
cfb29b2
Compare
PhilippeVienne
changed the base branch from
feat/lien-interne-ca-server
to
dev
September 21, 2026 08:14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contenu
Le lien interne de
ca-server(/internal/v1/*, mTLS) devient déployable, en option et désactivé par défaut (ca.internal.enabled: false). Avec le défaut, le rendu du chart (y comprisvalues-staging.yaml) est strictement inchangé.Quand il est activé :
ca.service.internalPort(8321) : second port duService, jamais dans uneHTTPRoute(uneNetworkPolicyne voit que les ports, docs/WEBUI.md §17) ;NetworkPolicyde la CA (la première du chart) : le port public reste ouvert au cluster (Gateway, enrôlement de la TSA et de l'OCSP, sondes du kubelet) ; le port interne n'est joignable que depuis les podsra-consolede la release. Tant qu'aucun pod ne porte ce composant, personne ne le joint ;ConfigMapde la liste blanche de modèles de clés d'opérateur, montée en lecture seule ;rpId,originou la liste de modèles manquent : un lien interne à moitié configuré n'est pas déployé ;internal_serveret attend son approbation avant de démarrer. Le sidecar d'approbation la traite en démonstration ; en production, un opérateur nommé l'approuve (kubectl exec … ca-server ra approve, documenté dans le README du chart). La clé (0600, dossier 0700) et la demande survivent à un redémarrage ; les erreurs ne sont pas réessayées en boucle (seul le code 3, « en attente », l'est).Points d'attention
OPENEIDAS_INTERNAL_CERT_ATTEMPTS), y compris l'API publique de la CA. C'est voulu pour le Jour 0 (serverefuse d'ouvrir le port interne sans certificat) ; en production sans sidecar, l'approbation se fait pendant ce temps. À discuter si on préfère démarrer sans le lien interne puis l'ouvrir plus tard.NetworkPolicy(CNI compatible). Sans cela, le port reste joignable du cluster ; le mTLS deca-serverreste exigé dans tous les cas.server.pem, redémarrer). Documenté.TODO.md: valeursraConsole.*,NetworkPolicydera-consoleet servicera-consoledudocker-compose.yml, qui attendent que le service existe.Vérifications
helm lintethelm template: défaut et staging inchangés (aucune ressource nouvelle) ; mode activé :Service,ConfigMapetNetworkPolicyattendus, aucuneHTTPRoutene mentionne le port interne ; échecs clairs sansrpIdni modèles.deploy/ca-server/Dockerfile(nouvelles dépendancesrustls/ringcomprises) et lancée avec PostgreSQL : le conteneur attend l'approbation, la reçoit, écrit le certificat, ouvre le lien interne en mTLS (mtls=true), l'API publique répond, le port interne refuse sans certificat client, et un redémarrage réutilise le certificat sans nouvelle demande. Aucun cluster n'a été touché.