What's left to do ?
What's left to do ?
What's left to do ?
Bone of the project
- Remplacer le setup actuel d'Authentik avec l'opérateur Weebo-Authentik
- Migrer Authentik vers CNPG le 2026-10-18 : Cluster
auth/authentik-pg(PostgreSQL 18.4, 3 Go), importé depuis la PostgreSQL du chart, désormais retirée. Plus de Redis : Authentik n'en utilise plus - Opérateur passé en 0.18.1 le 2026-10-17 (
instanceRefstructuré,pathGrants) - Métriques de l'opérateur (port 9090) scrapées par otel-node, via les annotations de discovery sur le pod
- Migrer les utilisateurs et groupes existants vers l'opérateur
- Migrer les applications existantes vers l'opérateur
- Migrer Authentik vers CNPG le 2026-10-18 : Cluster
- Suites de la migration CNPG d'Authentik
- Mutation des Secrets de vault-secrets-webhook coupée le 2026-10-18 (
secretsMutation: false) : aucun Secret ne s'en servait (seulauth/authentikporte des référencesvault:, jamais mutées, résolues par vault-env dans les pods), elle ne faisait que bloquer. Le constat d'origine : sans annotationsvault.security.banzaicloud.io/*sur le Secret, il cherche Vault àhttps://vault:8200, qui ne résout plus, et refuse toute écriture d'un Secret à référencesvault:(failurePolicy: Fail). Ça bloque aussi leur suppression en foreground : le garbage collector ne peut pas retirer le finalizerforegroundDeletion(cas d'authentik-postgresql-auth, retiré à la main le 2026-10-18 en remplaçant la référence dans le même patch). Contourné pour Authentik parApplyOutOfSyncOnly=trueet l'hôte de la base en env - Sauvegardes CNPG vers RustFS (plugin barman-cloud +
ScheduledBackup) pourauthentik-pg,forgejo-pgetbatlehub-pg: aucune n'en a. Authentik y garde aussi ses sessions et sa file de tâches - Rétention bornée le 2026-10-18 : tâches gardées 7 jours (
AUTHENTIK_WORKER__TASK_EXPIRATION, chart), événements 90 jours (event_retentiondu tenant, réglé en base, pas dans Git : à reposer si la base repart de zéro, et lesexpiresexistants ont été ramenés à 90 jours).tasklogettaskfaisaient 2,4 Go des 3 Go - Cause du volume : l'opérateur weebo-authentik réécrivait chaque objet à chaque réconciliation, 99,96 % des événements d'Authentik. Corrigé en weebo-authentik 0.18.3 et validé le 2026-10-18 : 0 événement sur l'heure 18:30-19:30, contre ~480
model_updatedpar heure avant - RFC 0003 - Test de dérive de la RFC 0003 : renommer une Application dans l'UI, elle doit revenir sous 5 minutes (
drift correcteddans les logs de l'opérateur) - Health check Argo CD pour
postgresql.cnpg.io/Clusterdans1.pulu-conf, pour que les sync-waves attendent les bases - Redémarrages d'
authentik-server: fuite dans/dev/shm, qui a déclenché une boucle de SIGBUS le 2026-10-18 de 07:59 à 12:00. À chaque recyclage gunicorn, des fichiers Prometheus multiprocess indexés par PID restent derrière ; 64 Mi se remplissent en ~39 jours. Ralenti (AUTHENTIK_WEB__MAX_REQUESTS=10000,/dev/shmenemptyDirMemory de 256 Mi), pas corrigé : la fuite est dans legunicorn.conf.pyd'Authentik. Détail dans2.argo/helm/auth/main/templates/authentik/authentik.yaml - Vérifier que l'auto-sync de l'Application racine
mainavaitpruneavant le gel du 2026-10-18 : il a été remis àselfHeal: trueseul
- Mutation des Secrets de vault-secrets-webhook coupée le 2026-10-18 (
- ProxyAuthK8S - Will wait for 0.2.0 - Ouroboros
- Point d'accés externe au cluster Kubernetes pour l'authentification OIDC
- Rejeter toutes requêtes qui ne viendrais pas de ProxyAuthK8S ?
- Expo : kube.weebo.poc
- Expo a travers le noeud principal ?
- Setup RustFS
- OIDC
- Operator officielle
- Expo : s3-main.weebo.poc
- Angos
- Pull-through caches (dont quay.io), workspaces Che tirés via angos
- Job d'import de mes images (skopeo)
- OIDC user : Allow users to login with OIDC
- OIDC Kube : Allow Kubernetes to authenticate with OIDC (e.g. Create a Dockerconfigjson from service account that can be used to pull images from a private registry)
- Cote angos :
[auth.oidc.kube]sur l'issuer du cluster, ServiceAccount dedie + ClusterRoleBinding pour lire la JWKS, et une policy en lecture seule pour ce provider. Un pod qui presente son propre jeton projete (audienceangos) est authentifie - Cote noeud : pull d'image sans imagePullSecret, verifie de bout en bout le 2026-09-08. Quatre pieces, dans cet ordre : DaemonSet installeur (namespace
angos-node, PSA privileged), drapeaux kubelet Talos, entree DNS + CA du registre pour containerd, et le ClusterRoleangos-image-pull-audiencesans lequel l'apiserver refuse au noeud le jeton pour l'audienceangos
- Cote angos :
- OIDC CI : Directly push images to angos registry from GitHub Actions using OIDC
- Page
/me/: rend a l'utilisateur connecte son propre jeton OIDC et la commandedocker loginprete a coller, servie par oauth2-proxy depuis un ConfigMap - UI web : SSO navigateur via oauth2-proxy, sur la meme application Authentik que le device grant. angos ne lit aucun cookie, l'IngressRoute ne route par le proxy que ce qui porte la session ou n'est pas une route d'API
- Scan d'images : StatefulSet
angos-scanner(trivy par defaut), active registre par registre viascan: true, desactive partout par defaut. Identite Basic dediee dans Vault, mot de passe et hash argon2id ecrits par terraform, rapport SARIF attache en referrer de l'image- Verifie en local (podman) de bout en bout le 2026-09-13 : push -> job -> rapport. Reste a activer sur le cluster
- grype ne recoit pas les credentials de
[scanner.registry]en 1.8.0 et pull en anonyme ; contourne parGRYPE_REGISTRY_AUTH_*dans le chart, a retirer quand upstream corrige
- Expo : registry.pkg.weebo.poc
- Batlehub - en 1.7.0
- Opérateur weebo-batlehub en mode external, config gérée par l'opérateur, registres en
BatleHubRegistry - npm, cargo et go en hybride, namespaces de batleforc
- OIDC : Allow users to login with OIDC
- OIDC Kube : Allow Kubernetes to authenticate with OIDC (e.g. Create a configuration in pod from service account that can be used to pull artifacts from a private registry)
- OIDC CI : Directly push artifacts to batlehub registry from GitHub Actions using OIDC (Like VsCode Extension or other)
- Expo :
- pkg.weebo.poc
- npm.pkg.weebo.poc
- *.pkg.weebo.poc
- Opérateur weebo-batlehub en mode external, config gérée par l'opérateur, registres en
- Kuberarmor
- Kloak
- Weebo Si Hardening
- Bascule Weebo5 → Weebo-SI : runbook (élévation admin 2FA tracée, KubeArmor)
- NetPolicy (networkProfiles, Enforce)
- NetPolicy guard (policyGuard, activé en DryRun, passer en Enforce)
- DWOC restrictions (dwocPin, activé en DryRun, passer en Enforce)
- Image Pull Policy
- Image Registry (imagePolicy, Enforce, via angos + egress direct vers les registres coupé)
- Package Registry (registryConfig)
- Endpoint auth (endpointAuth, Enforce)
- KubeArmor policies (kubearmorPolicy, needs KubeArmor)
- Pod Security (podSecurity, dispo depuis l'opérateur 0.3.0, à passer en DryRun puis
pods audit) - Resource quotas (resourceQuotas, dispo depuis l'opérateur 0.3.0, templates dans weebo-si-hardening-templates)
- Eclipse Che
- Expo : cde.dev.weebo.poc && *.cde.dev.weebo.poc
- Deploy App
- Deploy User through Weebo-Si-Hardening (identity)
- IDEs pilotés par
che.editors(éditeurs maison) - Autres IDEs : openchamber (derrière l'auth Che), abcdesktop avec un JetBrains ?
- Properly apply a CiliumNetworkPolicy with default deny for all
- Setup Stalwart as an internal mail system for the cluster and connect every app to it (prevent mail to go outside the cluster) - RFC 0001 (opérateur weebo-stalwart sur weebo-operator-kit)
- Weebo.poc for internal messaging (entre les apps du cluster et les utilisateurs du cluster ou user <-> user)
- weebo.[fr/net/untruc] for external messaging si nécessaire plus tard
- Mettre en place un script de provisioning, si un objet authentik user a une annotations stalwart/email, alors créer le mail dans stalwart et le lier à l'utilisateur authentik https://stalw.art/docs/auth/backend/oidc/
- Idem, si un user n'existe plus dans Authentik, verouiller le mail dans Stalwart
- ces deux points relèvent de la brique de liaison (RFC 0002 : en-tête
link.weebo.io/stalwart+ contrôleur weebo-link, sans Kyverno), pas de weebo-stalwart, qui n'expose que desStalwartAccount(state: Locked)
- Mise en place d'un forgejo pour assurer que le code source est toujours la (préviens les indispo github)
- Expo : git.weebo.poc, CNPG + RustFS, OIDC Authentik
- Opérateur forgejo pour gérer les projets et les utilisateurs (org batleforc-org, groupe Authentik batleforc → team Owners)
- Che reconnaît Forgejo comme git service (lecture anonyme des devfiles, PAT pour le privé)
- Che : « sign in with Forgejo » (
che.forgejo.oauth, app OAuth2 +mv/eclipse-che/forgejo) - Fork auto des projets github lister ?
- Couper github pour eclipse che pour inciter les devs a utiliser le forgejo interne
- Plateforme engineering
- Git provider Integration ?
- podman build/run ?
- CI/CD pipelines
- Dev Environment
Documentation
-
Installation Guide
-
User Guide
-
Big Picture Infra
-
Big Picture Database
-
Big Picture Monitoring
-
Big Picture Registry
-
Big Picture Security
-
Big Picture Dev Environment
-
Macro Infra
- Kubernetes/Talos
- Cilium / Networking
- Inbound
- Outbound
- Envoyer vers Traefik
- Authentification
- Authentik
- Weebo-Authentik Operator
- Outpost
- PreAuth-Proxy
- Dex
- Authentik
- Vault
- PKI
- Secrets
- External Secrets
- ArgoCD
- Bonne pratique GitOps
- Segmentation des applications
- Cert-Manager / Trust Manager
- Ingress / Traefik (RFC 0006, docs/rfc/0006-ingress-public-interne, Draft)
- Error Pages
- Internal
- External
- Weebo.poc
- VPN or internal only endpoint
- Maintenance Page
- Request ID
- WAF ?
- Error Pages
- Hook / Kyverno
- Storage
- Longhorn
- LocalStorage
- ProxyAuthK8S
-
Database
- PostgreSQL
- CNPG
- MongoDB
- MongoDB Operator
- ClickHouse
- ClickHouse Operator
- RustFS
- PostgreSQL
-
Monitoring
- ClickStack (dashboards existants : weebo-si-hardening, Probe health)
- OpenTelemetry eBPF Instrumentation
- Otel Collector
-
Registry
- Batlehub
- Mode d'authentification (OIDC / KUBE / ETC)
- Gestion des registres (
BatleHubRegistry, hybride npm/cargo/go) - Analyse de sécurité des packages
- Exposition des registres (pkg.weebo.poc, npm.pkg.weebo.poc, *.pkg.weebo.poc)
- D-2 ?
- Angos
- Mode d'authentification (OIDC / KUBE / ETC)
- Gestion des registres
- Analyse de sécurité des images
- D-2 ?
- Batlehub
-
Security
- Kloak
- KubeArmor
- Weebo-SI Hardening
- Netbird
-
Dev Environment
- Eclipse Che
- Future components ?
- Plateform ingineering ?
- Git provider Integration ?
- podman build/run ?