diff --git a/promo/README.md b/promo/README.md new file mode 100644 index 0000000..03ab2a1 --- /dev/null +++ b/promo/README.md @@ -0,0 +1,27 @@ +# promo/ — page de présentation Set-OPS + +`index.html` — page web **autonome** (un seul fichier, aucun asset externe, aucune +dépendance réseau) présentant ce qu'un sysadmin peut faire avec Set-OPS. + +- **Thème** : identité *Alliance Boréale* (ciel nocturne + aurore + constellation), + reprise des thèmes Keycloak/Forgejo du dépôt. +- **Honnêteté** : les capacités **éprouvées** (déployées sur VM réelles) sont distinguées + de la **feuille de route**, conformément au principe « ne jamais affirmer plus que ce + qui est prouvé » (cf. `docs/audit/`). + +## Voir / publier + +Ouvrir directement dans un navigateur : + +```bash +xdg-open promo/index.html +``` + +Servir localement : + +```bash +python3 -m http.server -d promo 8080 # puis http://localhost:8080/ +``` + +Le fichier est prêt à déposer tel quel sur n'importe quel hébergement statique +(Forgejo Pages, un vhost `serveur_nginx`, etc.). diff --git a/promo/index.html b/promo/index.html new file mode 100644 index 0000000..83ad720 --- /dev/null +++ b/promo/index.html @@ -0,0 +1,662 @@ + + + + + +Set-OPS — Ton écosystème numérique souverain, prouvé + + + + + + + + + + + + + + +
+
+ Alliance Boréale · moteur d'écosystèmes souverains +

Ton écosystème numérique, souverain — et prouvé.

+

Set‑OPS est un moteur Ansible qui construit et exploite tout un écosystème interne — identité, confiance, DNS, données, courriel, observabilité, forge — sur ta propre grappe Proxmox. À partir d'un plan déclaratif. Sans SaaS. Sans conteneur propriétaire. Et exploitable sans aucune IA.

+ +
+ édite le plan + make instancier + make deployer + make prouver +
+
+
+ + +
+
+
+ La méthode +

Tu décris. Le moteur génère. Ansible déploie. La preuve suit.

+

Set‑OPS se pilote par un plan, pas par l'édition de l'inventaire. Les registres sont la source unique de vérité ; l'inventaire Ansible en est dérivé. Tu ne touches jamais hosts.yml à la main.

+
+
+
01 · décrire

Un plan déclaratif

Serveurs, applications, bases, domaines, nomenclature — des registres lisibles par la machine, ta seule source de vérité.

+
02 · générer

Un inventaire dérivé

VMID, IP, VLAN et passerelle sont dérivés de la fonction. make instancier montre le diff avant d'appliquer.

+
03 · déployer

Par groupes, en couches

Chaque groupe a son playbook homonyme. L'orchestrateur déploie socle → PKI → services → apps → agents, dans l'ordre.

+
04 · prouver

Une preuve rejouable

make prouver rejoue les vérifications et produit un rapport horodaté. Le dépôt n'affirme jamais plus qu'il ne prouve.

+
+
+
+ +
+ + +
+
+
+ Tout ce que tu peux faire +

Sept piliers. Un écosystème complet, natif, chiffré, relié.

+

Tout ce qu'un hébergeur met en ligne, Set‑OPS le tient en interne — en logiciel libre, sur systemd et paquets, sans dépendance à un géant. Voici, pilier par pilier, ce que tu déploies et exploites. Le badge Éprouvé marque ce qui tourne sur des VM réelles ; Feuille de route ce qui est planifié.

+
+ +
+ + +
+
+ +

Identité & accès

+ Éprouvé +
+

Une identité, un mot de passe, pour tout le parc.

+
OpenLDAPKeycloakoauth2-proxyOIDC · RBAC
+
    +
  • Un annuaire central (OpenLDAP) source unique des identités.
  • +
  • SSO web via Keycloak, qui fédère l'annuaire — « se connecter avec ton organisation ».
  • +
  • Mets n'importe quelle app derrière le SSO avec oauth2-proxy, même sans OIDC natif.
  • +
  • RBAC : des rôles de realm pilotent les niveaux d'accès (ex. Grafana Admin/Editor/Viewer).
  • +
+
+ + +
+
+ +

Confiance & PKI

+ Éprouvé +
+

Ta propre autorité de certification. Tout le trafic interne, chiffré et vérifié.

+
step-caACMEclient_pkimTLS
+
    +
  • Une AC interne (step-ca) qui émet les certificats par ACME.
  • +
  • Certificats d'hôte auto-renouvelés, avec rechargement des vrais consommateurs.
  • +
  • Zéro-confiance est-ouest : PostgreSQL en verify-full, LDAPS, métriques & logs en HTTPS, LMTP vérifié.
  • +
  • Aucune dépendance à une AC publique pour la confiance interne.
  • +
+
+ + +
+
+ +

Nommage & réseau

+ Éprouvé +
+

Un DNS interne cohérent, et un réseau convergé multi-tenant.

+
PowerDNSUnboundVLAN dérivémake devis-reseau
+
    +
  • DNS autoritatif interne (PowerDNS) : les enregistrements d'exposition se dérivent du plan.
  • +
  • Résolveur local (Unbound) + plancher /etc/hosts, sans casser Internet.
  • +
  • Réseau convergé 10/8, VLAN dérivé par tenant, isolation inter-tenant.
  • +
  • Config du switch générée (VLANs, passerelles, ACLs) depuis les nomenclatures.
  • +
+
+ + +
+
+ +

Données

+ Éprouvé +
+

Bases relationnelles et cache, provisionnés depuis le registre.

+
PostgreSQLRedisTLS verify-fullbinding app→base
+
    +
  • PostgreSQL provisionne ses bases & rôles depuis le registre — le secret ne quitte jamais le rôle.
  • +
  • Chiffrement obligatoire : la base refuse toute connexion non-TLS du réseau.
  • +
  • Cache réseau Redis authentifié (accès sans mot de passe refusé).
  • +
  • Liens déclaratifs : une app se relie à sa base sans group_vars codés en dur.
  • +
+
+ + +
+
+ +

Courriel souverain

+ Éprouvé +
+

Recevoir et envoyer, de bout en bout, sur ton infra.

+
PostfixDovecotrspamdDKIM · SASL
+
    +
  • MTA Postfix + soumission :587 authentifiée (SASL déléguée à Dovecot).
  • +
  • Boîtes Dovecot (IMAP, Maildir), utilisateurs résolus sur l'annuaire LDAP.
  • +
  • Antispam & signature : rspamd + DKIM. Flux prouvé SMTP→LDAP→LMTP→IMAP.
  • +
  • Interne de bout en bout — aucune fuite vers un tiers.
  • +
+
+ + +
+
+ +

Reverse-proxy & TLS

+ Éprouvé +
+

Déclare une exposition — tout le reste se dérive.

+
nginx edgeTLS step-caX-ForwardedWAF
+
    +
  • Un champ expose produit vhost + SAN de cert + enregistrement DNS + alias plancher, auto-dérivés.
  • +
  • Terminaison TLS avec le cert step-ca (chaîne validée, plus de snakeoil).
  • +
  • Un seul edge route tout le trafic HTTP(S) externe vers les services internes.
  • +
  • Prêt pour une frontière publique OPNsense en bordure.
  • +
+
+ + +
+
+ +

Observabilité & supervision

+ Éprouvé +
+

Voir toute la flotte : métriques, journaux, tableaux de bord, impact.

+
PrometheusLokiGrafanaIcinga2 · BPM
+
    +
  • Métriques (Prometheus scrape la flotte en HTTPS) & journaux centralisés (Loki).
  • +
  • Tableaux de bord Grafana, accès par le SSO, dashboards provisionnés.
  • +
  • Supervision active Icinga2 + IcingaDB + Icinga Web 2, sous SSO.
  • +
  • Impact métier (BPM) : agrège des services en processus métier — irremplaçable par un graphe.
  • +
+
+ + +
+
+ +

Applicatif & forge

+ Éprouvé +
+

Tes services internes, adossés à l'identité commune.

+
ForgejoSSO OIDCbranding
+
    +
  • Forge Git Forgejo : dépôts, CI, wiki — branchée au SSO, comptes auto-créés depuis l'annuaire.
  • +
  • Adossée à PostgreSQL (base provisionnée depuis le registre) et exposée par l'edge.
  • +
  • Identité visuelle par le mécanisme officiel (pas de fork), résistante aux mises à jour.
  • +
  • La couche collaboration & web applicative arrive — voir la feuille de route.
  • +
+
+ +
+
+
+ +
+ + +
+
+
+ Le socle & la méthode +

Ce qui traverse toutes les VM.

+

Sous les piliers, un socle commun tient l'ensemble : durcissement, pare-feu, sauvegardes, et l'outillage qui rend le tout reproductible.

+
+
+
+

Durcissement par défaut

+

Chaque VM naît sécurisée.

+
SSH clé-onlyAppArmorauditdfail2banunattended-upgrades
+
    +
  • Accès SSH par clé dès le départ (mot de passe désactivé, AuthenticationMethods publickey).
  • +
  • AppArmor, auditd, fail2ban, sysctl, journald — appliqués par le groupe socle.
  • +
  • nftables préparé dans le template, activé au bon moment sur les clones.
  • +
+
+
+

Pare-feu est-ouest

+

Moindre privilège, dérivé du registre des flux.

+
nftablesregistre des fluxpolicy drop
+
    +
  • Qui-parle-à-qui déclaré dans un registre de flux (port, sens, pair, chiffrement, raison).
  • +
  • Règles par hôte générées : ip saddr = moindre privilège, reste refusé.
  • +
  • Le même registre alimente nftables interne et OPNsense en bordure.
  • +
+
+
+

Sauvegardes 3-2-1

+

L'état, pas les VM — car l'infra se reconstruit par le code.

+
resticchiffréjobs déclaratifsTier 0
+
    +
  • Sauvegardes restic hors-nœud, chiffrées, avec rétention automatique.
  • +
  • Jobs déclaratifs par nœud (dumps PG, LDIF, Maildir, dépôts Git, clés d'AC).
  • +
  • Restauration prouvée, jusqu'au Tier 0 (les clés de l'autorité de certification).
  • +
+
+
+

Le plan & le GUI

+

Une source unique, éditable en ligne de commande ou à l'écran.

+
registresGUI localbindingsorchestrateur
+
    +
  • Interface locale (make inventaire-ui) : vues Serveurs, Applications, Domaines, Réseau, Flux, Couches.
  • +
  • Bindings déclaratifs : les relations service→service vivent dans le plan.
  • +
  • Orchestrateur en couches : un point d'entrée ordonné, déterministe, généré.
  • +
+
+
+
+
+ +
+ + +
+
+
+ La console de l'opérateur +

De la grappe nue à l'écosystème vivant.

+

Tout passe par make et un plan. Un modèle générique socle — DNS, AC/PKI, edge TLS, courriel — est prêt à copier, renseigner, déployer. Puis tu vis dans le plan.

+
    +
  • Golden template Debian 13 construit une fois, cloné pour chaque VM.
  • +
  • Clone Proxmox + cloud-init pour l'identité initiale, puis conformité par groupes.
  • +
  • Reconstruction from-zero en une commande — crée les VM manquantes puis déploie tout.
  • +
  • Multi-tenant portable : une instance par écosystème, prouvée par reconstruction.
  • +
+
+ +
+
+ +
+ + +
+
+
+ Cycle de vie +

Du template nu à la flotte, et retour à zéro.

+
+
+
socle

Goldeniser

Une VM Debian 13 minimale devient le golden template : socle, durcissement, cloud-init, qemu-guest-agent.

+
clone

Cloner & identifier

Clone via l'API Proxmox ; cloud-init donne hostname, clé, IP, DNS. VMID/IP/VLAN lus dans le plan.

+
conformité

Converger

Les playbooks de groupes appliquent l'état voulu, relançables sans effet de bord. La flotte converge.

+
from-zero

Reconstruire

Tout supprimer, puis make myDay : l'écosystème renaît du code — la preuve de portabilité sans réserve.

+
+
+
+ +
+ + +
+
+
+ Preuve & souveraineté +

Il ne fait pas que le dire. Il le prouve.

+

Un outil d'exploitation réelle, pas une démonstration. Chaque affirmation publique est tracée vers une commande de preuve rejouable — ou corrigée.

+
+
+

Vérifier

make verifier enchaîne lint, tests, cohérence, syntaxe et les preuves. Un dépôt qui se tient droit.

+

Prouver

make prouver produit un rapport horodaté et rejouable — 16 preuves reliées au registre des affirmations. Une pièce justificative.

+

Valider

make valider : recette fonctionnelle sur la flotte vivante — cibles UP, vhosts HTTPS, courriel livré, sauvegardes restaurées.

+
+
+
100 %logiciel libre (AGPLv3) — rien n'est verrouillé
+
0dépendance SaaS · zéro conteneur propriétaire
+
0IA requise — la doc, make et le GUI suffisent
+
natifsystemd + paquets — pas de PaaS, pas de magie
+
+
+
+ +
+ + +
+
+
+ Feuille de route +

Ce qui arrive — annoncé, pas surestimé.

+

Fidèle au principe : on ne présente jamais comme prêt ce qui ne l'est pas. Ces capacités sont conçues et attendues, en rôles natifs comme les autres.

+
+
+
Collaboration

Nextcloud & Collabora

Fichiers, agenda, édition en ligne — sous la même identité SSO. Build prioritaire, offre « maison-OBNL ».

+
Couche web

Frontal & dorsal applicatifs

Présentation (UI, assets) et application (API), servis derrière l'edge — pour mettre tes propres webapps en ligne.

+
Certification

Label Souverain · Résilient · Exemplaire

Trois niveaux accumulatifs pour attester la qualité d'un écosystème — garde-fou social inclus.

+
+
+
+ + +
+
+

Reprends la souveraineté de ton infrastructure.

+

Un plan, ta grappe Proxmox, et tout un écosystème numérique — libre, chiffré, prouvé. Sous le ciel de l'Alliance Boréale.

+ +
+
+ + + + + +