Sommaire
Pourquoi isoler tôt la configuration et les journaux
Sans convention, l’état partagé provoque des courses d’écriture, les jetons se mélangent entre profils, et les agrégateurs peinent à isoler un incident nocturne. Isoler par projet clarifie la responsabilité et réduit la surface d’erreur lors des promotions successives.
- Conflits d’état : verrous et caches mélangés entre pipelines.
- Audit flou : lignes sans préfixe projet stable.
- Jetons larges : une fuite touche plusieurs dépôts sur l’hôte.
Matrice décisionnelle : où placer les journaux lorsque plusieurs projets cohabitent
Le débit, la sensibilité et l’exploitation quotidienne orientent le choix entre sous-chemin unique, volume dédié ou export immédiat. Le tableau suivant résume les compromis usuels en 2026 sur des pools Mac partagés :
| Stratégie | Avantages | Risques / mitigations |
|---|---|---|
| Sous-répertoire par projet sur un volume unique | Simplicité, sauvegardes unifiées, corrélation centralisée | Saturation disque partagée ; mitiger par quotas et rotation agressive |
| Volume ou montage dédié par équipe | Isolation forte, performances prévisibles pour les charges verbeuses | Coût ops plus élevé ; documenter la carte des montages par nœud |
| Collecte immédiate vers un bus externe | Rétention courte sur le Mac, corrélation par trace_id côté SaaS | Dépendance réseau ; prévoir tampon local borné en cas de perte de liaison |
Étape 1 — Identifiant de projet et arborescence dédiée
PROJECT_SLUG stable ; racine /etc/openclaw/projects/<slug> avec config, state, cache optionnel. Propriétaire = compte service OpenClaw ; groupe lecture limitée pour fichiers non secrets.
sudo install -d -m 0750 -o openclaw -g openclawproj \
/etc/openclaw/projects/acme-api/{config,state}
Point de contrôle
Le même chemin ne doit figurer dans aucun autre fichier launchd ni service concurrent. Après modification, exécutez grep -R "projects/" /etc/openclaw et archivez la sortie dans le ticket de déploiement pour comparaison future.
Étape 2 — Variables d’exécution par lancement
Exportez les chemins avant le worker pour éviter le profil par défaut. Noms selon build ; gardez config + état + logs cohérents par lancement.
export PROJECT_SLUG=acme-api
export OPENCLAW_CONFIG_DIR=/etc/openclaw/projects/$PROJECT_SLUG/config
export OPENCLAW_STATE_DIR=/etc/openclaw/projects/$PROJECT_SLUG/state
Le binaire doit échouer si une variable manque plutôt qu’écrire dans un chemin global.
Étape 3 — Journalisation segmentée et rétention
Cible /var/log/openclaw/<slug> ou volume dédié. Incluez project et trace_id dans le format structuré.
sudo install -d -m 0750 -o openclaw -g staff /var/log/openclaw/acme-api
ls -le /var/log/openclaw/acme-api
Rétention type quatorze jours puis archive froide selon politique.
Étape 4 — Jetons distincts et périmètre minimal
Un secret par projet, scopes minimaux. Chemin type /etc/openclaw/projects/<slug>/secrets en 0600, jamais dans Git. Détail : secrets et droits minimaux sur MeshMac.
sudo install -m 0600 -o openclaw -g staff \
/run/secrets/acme-api.token /etc/openclaw/projects/acme-api/secrets/api.token
Étape 5 — Vérifications avant bascule réelle
Empreinte config non sensible, fumée avec trace_id par projet, vérifier l’exclusivité du fichier d’état.
- Checksums canari vs lot.
- Coupure réseau courte pour tampon logs.
- Utilisateur non privilégié sans lecture
secrets.
Étape 6 — Déploiement itératif et dépannage ciblé
Lorsque les journaux semblent absents mais que l’espace disque baisse, vérifiez les liens symboliques, la rotation et un éventuel double chemin vers le même fichier. Si deux projets écrivent encore ensemble, inspectez les variables manquantes dans les unités launchd héritées d’une image modèle.
Informations reproductibles à consigner
- ·Identifiant
PROJECT_SLUG, révision du paquet de configuration et empreinte du bundle de secrets. - ·Chemin réel des logs après résolution des liens, taille observée et politique de rétention en jours.
- ·Liste des scopes associés à chaque jeton sans jamais copier la valeur dans le ticket.
FAQ courte
Peut-on mutualiser un seul répertoire de configuration pour accélérer la mise en route ?
OK pour prototypes jetables ; dès deux équipes sur l’hôte, séparez les répertoires.
Comment éviter l’explosion des coûts de stockage des logs ?
Rotation, quotas par slug, export incrémental ; alerte à quatre-vingts pour cent du plafond Go.
Suite : hub OpenClaw, aide, accueil, blog.
Déployez OpenClaw sur des nœuds Mac MeshMac prêts pour le multi-projets
Séparez config / logs / jetons sur nœuds gérés : achat sans compte, aide SSH/VNC, accueil, blog.