71 lines
3.4 KiB
Plaintext
71 lines
3.4 KiB
Plaintext
# Règles SSH & Automatisation — Flux local
|
||
|
||
- Interdiction de secrets en clair; secrets via `~/.4nk_template/.env` ou variables CI
|
||
- Scripts SSH conservés exécutables, journaux non sensibles
|
||
- Le flux local prime: agents exécutés avant merge/push/release; CI neutralisable via `CI_SKIP=true` et `[skip ci]`
|
||
---
|
||
alwaysApply: true
|
||
---
|
||
|
||
# Automatisation SSH et scripts
|
||
|
||
[portée]
|
||
Création, usage et vérification du dossier scripts/ et de ses trois scripts standards liés aux opérations SSH et CI.
|
||
|
||
[objectifs]
|
||
|
||
- Garantir la présence de scripts/ avec auto-ssh-push.sh, init-ssh-env.sh, setup-ssh-ci.sh.
|
||
- Encadrer l’usage de ces scripts (locaux et CI), la sécurité, l’idempotence et la traçabilité.
|
||
- Documenter toute mise à jour dans docs/SSH_UPDATE.md et CHANGELOG.md.
|
||
|
||
[directives]
|
||
|
||
- Créer et maintenir `scripts/auto-ssh-push.sh`, `scripts/init-ssh-env.sh`, `scripts/setup-ssh-ci.sh`.
|
||
- Exiger permissions d’exécution adaptées sur scripts/ (exécution locale et CI).
|
||
- Interdire le stockage de clés privées ou secrets en clair dans le dépôt.
|
||
- Utiliser des variables d’environnement et secrets CI pour toute donnée sensible.
|
||
- Rendre chaque script idempotent et verbosable ; produire un code de sortie non-zéro en cas d’échec.
|
||
- Tracer les opérations : consigner un résumé dans docs/SSH_UPDATE.md (objectif, variables requises, effets, points d’échec).
|
||
- Ajouter un contrôle automatique dans la CI pour vérifier l’existence et l’exécutabilité de ces scripts.
|
||
|
||
[validations]
|
||
|
||
- Échec bloquant si un des trois scripts manque ou n’est pas exécutable.
|
||
- Échec bloquant si docs/SSH_UPDATE.md n’est pas mis à jour lors d’une modification de scripts.
|
||
- Échec bloquant si un secret attendu n’est pas fourni en CI.
|
||
|
||
[artefacts concernés]
|
||
|
||
- scripts/**, docs/SSH_UPDATE.md, .gitea/workflows/ci.yml, CHANGELOG.md, docs/CONFIGURATION.md.
|
||
|
||
# Automatisation SSH et scripts
|
||
|
||
[portée]
|
||
Création, usage et vérification du dossier scripts/ et de ses trois scripts standards liés aux opérations SSH et CI.
|
||
|
||
[objectifs]
|
||
|
||
- Garantir la présence de scripts/ avec auto-ssh-push.sh, init-ssh-env.sh, setup-ssh-ci.sh.
|
||
- Encadrer l’usage de ces scripts (locaux et CI), la sécurité, l’idempotence et la traçabilité.
|
||
- Documenter toute mise à jour dans docs/SSH_UPDATE.md et CHANGELOG.md.
|
||
|
||
[directives]
|
||
|
||
- Créer et maintenir `scripts/auto-ssh-push.sh`, `scripts/init-ssh-env.sh`, `scripts/setup-ssh-ci.sh`.
|
||
- Exiger permissions d’exécution adaptées sur scripts/ (exécution locale et CI).
|
||
- Interdire le stockage de clés privées ou secrets en clair dans le dépôt.
|
||
- Utiliser des variables d’environnement et secrets CI pour toute donnée sensible.
|
||
- Rendre chaque script idempotent et verbosable ; produire un code de sortie non-zéro en cas d’échec.
|
||
- Tracer les opérations : consigner un résumé dans docs/SSH_UPDATE.md (objectif, variables requises, effets, points d’échec).
|
||
- Ajouter un contrôle automatique dans la CI pour vérifier l’existence et l’exécutabilité de ces scripts.
|
||
|
||
[validations]
|
||
|
||
- Échec bloquant si un des trois scripts manque ou n’est pas exécutable.
|
||
- Échec bloquant si docs/SSH_UPDATE.md n’est pas mis à jour lors d’une modification de scripts.
|
||
- Échec bloquant si un secret attendu n’est pas fourni en CI.
|
||
|
||
[artefacts concernés]
|
||
|
||
- scripts/**, docs/SSH_UPDATE.md, .gitea/workflows/ci.yml, CHANGELOG.md, docs/CONFIGURATION.md.
|