From a96323cb32419e4ca7e6a497cfd1addb9c08a0f1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 11:52:19 +0200 Subject: [PATCH] chore(template): adapter .gitea depuis template et synchroniser docs pour sdk_storage --- .gitea/.gitea/ISSUE_TEMPLATE/bug_report.md | 97 ----- .../.gitea/ISSUE_TEMPLATE/feature_request.md | 156 -------- .gitea/.gitea/PULL_REQUEST_TEMPLATE.md | 180 --------- .gitea/.gitea/workflows/ci.yml | 345 ----------------- .gitea/ISSUE_TEMPLATE/bug_report.md | 103 ++++- .gitea/ISSUE_TEMPLATE/feature_request.md | 157 +++++++- .gitea/PULL_REQUEST_TEMPLATE.md | 187 ++++++++- .../workflows/LOCAL_OVERRIDES.yml | 0 .gitea/workflows/ci.yml | 359 ++++++++++++++++-- .../{.gitea => }/workflows/template-sync.yml | 0 .gitea_template/ISSUE_TEMPLATE/bug_report.md | 99 ----- .../ISSUE_TEMPLATE/feature_request.md | 158 -------- .gitea_template/PULL_REQUEST_TEMPLATE.md | 183 --------- .gitea_template/workflows/LOCAL_OVERRIDES.yml | 14 - .gitea_template/workflows/ci.yml | 346 ----------------- .gitea_template/workflows/template-sync.yml | 39 -- docs/README.md | 1 + docs/api_contrats.md | 1 + docs/api_json_spec.md | 1 + docs/architecture.md | 1 + docs/ci_docker_registry.md | 1 + docs/configuration.md | 1 + docs/demarrage_rapide.md | 1 + docs/depannage.md | 1 + docs/developpement.md | 1 + docs/guides_principaux.md | 1 + docs/guides_techniques.md | 1 + docs/guides_test.md | 1 + docs/performance.md | 1 + docs/release_guide.md | 1 + docs/reseau_de_relais.md | 1 + docs/tests_monitoring.md | 1 + 32 files changed, 766 insertions(+), 1673 deletions(-) delete mode 100644 .gitea/.gitea/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .gitea/.gitea/ISSUE_TEMPLATE/feature_request.md delete mode 100644 .gitea/.gitea/PULL_REQUEST_TEMPLATE.md delete mode 100644 .gitea/.gitea/workflows/ci.yml rename .gitea/{.gitea => }/workflows/LOCAL_OVERRIDES.yml (100%) rename .gitea/{.gitea => }/workflows/template-sync.yml (100%) delete mode 100644 .gitea_template/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .gitea_template/ISSUE_TEMPLATE/feature_request.md delete mode 100644 .gitea_template/PULL_REQUEST_TEMPLATE.md delete mode 100644 .gitea_template/workflows/LOCAL_OVERRIDES.yml delete mode 100644 .gitea_template/workflows/ci.yml delete mode 100644 .gitea_template/workflows/template-sync.yml diff --git a/.gitea/.gitea/ISSUE_TEMPLATE/bug_report.md b/.gitea/.gitea/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index da4e36d..0000000 --- a/.gitea/.gitea/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -name: Bug Report -about: Signaler un bug pour nous aider à améliorer 4NK Node -title: '[BUG] ' -labels: ['bug', 'needs-triage'] -assignees: '' ---- - -## 🐛 Description du Bug - -Description claire et concise du problème. - -## 🔄 Étapes pour Reproduire - -1. Aller à '...' -2. Cliquer sur '...' -3. Faire défiler jusqu'à '...' -4. Voir l'erreur - -## ✅ Comportement Attendu - -Description de ce qui devrait se passer. - -## ❌ Comportement Actuel - -Description de ce qui se passe actuellement. - -## 📸 Capture d'Écran - -Si applicable, ajoutez une capture d'écran pour expliquer votre problème. - -## 💻 Informations Système - -- **OS** : [ex: Ubuntu 20.04, macOS 12.0, Windows 11] -- **Docker** : [ex: 20.10.0] -- **Docker Compose** : [ex: 2.0.0] -- **Version 4NK Node** : [ex: v1.0.0] -- **Architecture** : [ex: x86_64, ARM64] - -## 📋 Configuration - -### Services Actifs -```bash -docker ps -``` - -### Variables d'Environnement -```bash -# Bitcoin Core -BITCOIN_NETWORK=signet -BITCOIN_RPC_PORT=18443 - -# Blindbit -BLINDBIT_PORT=8000 - -# SDK Relay -SDK_RELAY_PORTS=8090-8095 -``` - -## 📝 Logs - -### Logs Pertinents -``` -Logs pertinents ici -``` - -### Logs d'Erreur -``` -Logs d'erreur ici -``` - -### Logs de Debug -``` -Logs de debug ici (si RUST_LOG=debug) -``` - -## 🔧 Tentatives de Résolution - -- [ ] Redémarrage des services -- [ ] Nettoyage des volumes Docker -- [ ] Vérification de la connectivité réseau -- [ ] Mise à jour des dépendances -- [ ] Vérification de la configuration - -## 📚 Contexte Supplémentaire - -Toute autre information pertinente sur le problème. - -## 🔗 Liens Utiles - -- [Documentation](docs/) -- [Guide de Dépannage](docs/TROUBLESHOOTING.md) -- [Issues Similaires](https://git.4nkweb.com/4nk/4NK_node/issues?q=is%3Aissue+is%3Aopen+label%3Abug) - ---- - -**Merci de votre contribution !** 🙏 diff --git a/.gitea/.gitea/ISSUE_TEMPLATE/feature_request.md b/.gitea/.gitea/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 6041f4a..0000000 --- a/.gitea/.gitea/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -name: Feature Request -about: Proposer une nouvelle fonctionnalité pour 4NK Node -title: '[FEATURE] ' -labels: ['enhancement', 'needs-triage'] -assignees: '' ---- - -## 🚀 Résumé - -Description claire et concise de la fonctionnalité souhaitée. - -## 💡 Motivation - -Pourquoi cette fonctionnalité est-elle nécessaire ? Quels problèmes résout-elle ? - -### Problèmes Actuels -- Problème 1 -- Problème 2 -- Problème 3 - -### Avantages de la Solution -- Avantage 1 -- Avantage 2 -- Avantage 3 - -## 🎯 Proposition - -Description détaillée de la fonctionnalité proposée. - -### Fonctionnalités Principales -- [ ] Fonctionnalité 1 -- [ ] Fonctionnalité 2 -- [ ] Fonctionnalité 3 - -### Interface Utilisateur -Description de l'interface utilisateur si applicable. - -### API Changes -Description des changements d'API si applicable. - -## 🔄 Alternatives Considérées - -Autres solutions envisagées et pourquoi elles n'ont pas été choisies. - -### Alternative 1 -- **Description** : ... -- **Pourquoi rejetée** : ... - -### Alternative 2 -- **Description** : ... -- **Pourquoi rejetée** : ... - -## 📊 Impact - -### Impact sur les Utilisateurs -- Impact positif 1 -- Impact positif 2 -- Impact négatif potentiel (si applicable) - -### Impact sur l'Architecture -- Changements nécessaires -- Compatibilité avec l'existant -- Performance - -### Impact sur la Maintenance -- Complexité ajoutée -- Tests nécessaires -- Documentation requise - -## 💻 Exemples d'Utilisation - -### Cas d'Usage 1 -```bash -# Exemple de commande ou configuration -``` - -### Cas d'Usage 2 -```python -# Exemple de code Python -``` - -### Cas d'Usage 3 -```javascript -// Exemple de code JavaScript -``` - -## 🧪 Tests - -### Tests Nécessaires -- [ ] Tests unitaires -- [ ] Tests d'intégration -- [ ] Tests de performance -- [ ] Tests de sécurité -- [ ] Tests de compatibilité - -### Scénarios de Test -- Scénario 1 -- Scénario 2 -- Scénario 3 - -## 📚 Documentation - -### Documentation Requise -- [ ] Guide d'utilisation -- [ ] Documentation API -- [ ] Exemples de code -- [ ] Guide de migration -- [ ] FAQ - -## 🔧 Implémentation - -### Étapes Proposées -1. **Phase 1** : [Description] -2. **Phase 2** : [Description] -3. **Phase 3** : [Description] - -### Estimation de Temps -- **Développement** : X jours/semaines -- **Tests** : X jours/semaines -- **Documentation** : X jours/semaines -- **Total** : X jours/semaines - -### Ressources Nécessaires -- Développeur(s) -- Testeur(s) -- Documentateur(s) -- Infrastructure - -## 🎯 Critères de Succès - -Comment mesurer le succès de cette fonctionnalité ? - -- [ ] Critère 1 -- [ ] Critère 2 -- [ ] Critère 3 - -## 🔗 Liens Utiles - -- [Documentation existante](docs/) -- [Issues similaires](https://git.4nkweb.com/4nk/4NK_node/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement) -- [Roadmap](https://git.4nkweb.com/4nk/4NK_node/projects) -- [Discussions](https://git.4nkweb.com/4nk/4NK_node/issues) - -## 📋 Checklist - -- [ ] J'ai vérifié que cette fonctionnalité n'existe pas déjà -- [ ] J'ai lu la documentation existante -- [ ] J'ai vérifié les issues similaires -- [ ] J'ai fourni des exemples d'utilisation -- [ ] J'ai considéré l'impact sur l'existant -- [ ] J'ai proposé des tests - ---- - -**Merci de votre contribution à l'amélioration de 4NK Node !** 🌟 diff --git a/.gitea/.gitea/PULL_REQUEST_TEMPLATE.md b/.gitea/.gitea/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 621d01a..0000000 --- a/.gitea/.gitea/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,180 +0,0 @@ -# Pull Request - 4NK Node - -## 📋 Description - -Description claire et concise des changements apportés. - -### Type de Changement -- [ ] 🐛 Bug fix -- [ ] ✨ Nouvelle fonctionnalité -- [ ] 📚 Documentation -- [ ] 🧪 Tests -- [ ] 🔧 Refactoring -- [ ] 🚀 Performance -- [ ] 🔒 Sécurité -- [ ] 🎨 Style/UI -- [ ] 🏗️ Architecture -- [ ] 📦 Build/CI - -### Composants Affectés -- [ ] Bitcoin Core -- [ ] Blindbit -- [ ] SDK Relay -- [ ] Tor -- [ ] Docker/Infrastructure -- [ ] Tests -- [ ] Documentation -- [ ] Scripts - -## 🔗 Issue(s) Liée(s) - -Fixes #(issue) -Relates to #(issue) - -## 🧪 Tests - -### Tests Exécutés -- [ ] Tests unitaires -- [ ] Tests d'intégration -- [ ] Tests de connectivité -- [ ] Tests externes -- [ ] Tests de performance - -### Commandes de Test -```bash -# Tests complets -./tests/run_all_tests.sh - -# Tests spécifiques -./tests/run_unit_tests.sh -./tests/run_integration_tests.sh -``` - -### Résultats des Tests -``` -Résultats des tests ici -``` - -## 📸 Captures d'Écran - -Si applicable, ajoutez des captures d'écran pour les changements visuels. - -## 🔧 Changements Techniques - -### Fichiers Modifiés -- `fichier1.rs` - Description des changements -- `fichier2.py` - Description des changements -- `docker-compose.yml` - Description des changements - -### Nouveaux Fichiers -- `nouveau_fichier.rs` - Description -- `nouveau_script.sh` - Description - -### Fichiers Supprimés -- `ancien_fichier.rs` - Raison de la suppression - -### Changements de Configuration -```yaml -# Exemple de changement de configuration -service: - new_option: value -``` - -## 📚 Documentation - -### Documentation Mise à Jour -- [ ] README.md -- [ ] docs/INSTALLATION.md -- [ ] docs/USAGE.md -- [ ] docs/API.md -- [ ] docs/ARCHITECTURE.md - -### Nouvelle Documentation -- [ ] Nouveau guide créé -- [ ] Exemples ajoutés -- [ ] API documentée - -## 🔍 Code Review Checklist - -### Code Quality -- [ ] Le code suit les standards du projet -- [ ] Les noms de variables/fonctions sont clairs -- [ ] Les commentaires sont appropriés -- [ ] Pas de code mort ou commenté -- [ ] Gestion d'erreurs appropriée - -### Performance -- [ ] Pas de régression de performance -- [ ] Optimisations appliquées si nécessaire -- [ ] Tests de performance ajoutés - -### Sécurité -- [ ] Pas de vulnérabilités introduites -- [ ] Validation des entrées utilisateur -- [ ] Gestion sécurisée des secrets - -### Tests -- [ ] Couverture de tests suffisante -- [ ] Tests pour les cas d'erreur -- [ ] Tests d'intégration si nécessaire - -### Documentation -- [ ] Code auto-documenté -- [ ] Documentation mise à jour -- [ ] Exemples fournis - -## 🚀 Déploiement - -### Impact sur le Déploiement -- [ ] Aucun impact -- [ ] Migration de données requise -- [ ] Changement de configuration -- [ ] Redémarrage des services - -### Étapes de Déploiement -```bash -# Étapes pour déployer les changements -``` - -## 📊 Métriques - -### Impact sur les Performances -- Temps de réponse : +/- X% -- Utilisation mémoire : +/- X% -- Utilisation CPU : +/- X% - -### Impact sur la Stabilité -- Taux d'erreur : +/- X% -- Disponibilité : +/- X% - -## 🔄 Compatibilité - -### Compatibilité Ascendante -- [ ] Compatible avec les versions précédentes -- [ ] Migration automatique -- [ ] Migration manuelle requise - -### Compatibilité Descendante -- [ ] Compatible avec les futures versions -- [ ] API stable -- [ ] Configuration stable - -## 🎯 Critères de Succès - -- [ ] Critère 1 -- [ ] Critère 2 -- [ ] Critère 3 - -## 📝 Notes Supplémentaires - -Informations supplémentaires importantes pour les reviewers. - -## 🔗 Liens Utiles - -- [Documentation](docs/) -- [Tests](tests/) -- [Issues liées](https://git.4nkweb.com/4nk/4NK_node/issues) - ---- - -**Merci pour votre contribution !** 🙏 diff --git a/.gitea/.gitea/workflows/ci.yml b/.gitea/.gitea/workflows/ci.yml deleted file mode 100644 index 5dd8de7..0000000 --- a/.gitea/.gitea/workflows/ci.yml +++ /dev/null @@ -1,345 +0,0 @@ -name: CI - 4NK Node - -on: - push: - branches: [ main, develop ] - pull_request: - branches: [ main, develop ] - -env: - RUST_VERSION: '1.70' - DOCKER_COMPOSE_VERSION: '2.20.0' - -jobs: - # Job de vérification du code - code-quality: - name: Code Quality - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - override: true - - - name: Cache Rust dependencies - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo- - - - name: Run clippy - run: | - cd sdk_relay - cargo clippy --all-targets --all-features -- -D warnings - - - name: Run rustfmt - run: | - cd sdk_relay - cargo fmt --all -- --check - - - name: Check documentation - run: | - cd sdk_relay - cargo doc --no-deps - - - name: Check for TODO/FIXME - run: | - if grep -r "TODO\|FIXME" . --exclude-dir=.git --exclude-dir=target; then - echo "Found TODO/FIXME comments. Please address them." - exit 1 - fi - - # Job de tests unitaires - unit-tests: - name: Unit Tests - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - override: true - - - name: Cache Rust dependencies - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo- - - - name: Run unit tests - run: | - cd sdk_relay - cargo test --lib --bins - - - name: Run integration tests - run: | - cd sdk_relay - cargo test --tests - - # Job de tests d'intégration - integration-tests: - name: Integration Tests - runs-on: ubuntu-latest - - services: - docker: - image: docker:24.0.5 - options: >- - --health-cmd "docker info" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - ports: - - 2375:2375 - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build Docker images - run: | - docker build -t 4nk-node-bitcoin ./bitcoin - docker build -t 4nk-node-blindbit ./blindbit - docker build -t 4nk-node-sdk-relay -f ./sdk_relay/Dockerfile .. - - - name: Run integration tests - run: | - # Tests de connectivité de base - ./tests/run_connectivity_tests.sh || true - - # Tests d'intégration - ./tests/run_integration_tests.sh || true - - - name: Upload test results - uses: actions/upload-artifact@v3 - if: always() - with: - name: test-results - path: | - tests/logs/ - tests/reports/ - retention-days: 7 - - # Job de tests de sécurité - security-tests: - name: Security Tests - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - override: true - - - name: Run cargo audit - run: | - cd sdk_relay - cargo audit --deny warnings - - - name: Check for secrets - run: | - # Vérifier les secrets potentiels - if grep -r "password\|secret\|key\|token" . --exclude-dir=.git --exclude-dir=target --exclude=*.md; then - echo "Potential secrets found. Please review." - exit 1 - fi - - - name: Check file permissions - run: | - # Vérifier les permissions sensibles - find . -type f -perm /0111 -name "*.conf" -o -name "*.key" -o -name "*.pem" | while read file; do - if [[ $(stat -c %a "$file") != "600" ]]; then - echo "Warning: $file has insecure permissions" - fi - done - - # Job de build et test Docker - docker-build: - name: Docker Build & Test - runs-on: ubuntu-latest - - services: - docker: - image: docker:24.0.5 - options: >- - --health-cmd "docker info" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - ports: - - 2375:2375 - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build and test Bitcoin Core - run: | - docker build -t 4nk-node-bitcoin:test ./bitcoin - docker run --rm 4nk-node-bitcoin:test bitcoin-cli --version - - - name: Build and test Blindbit - run: | - docker build -t 4nk-node-blindbit:test ./blindbit - docker run --rm 4nk-node-blindbit:test --version || true - - - name: Build and test SDK Relay - run: | - docker build -t 4nk-node-sdk-relay:test -f ./sdk_relay/Dockerfile .. - docker run --rm 4nk-node-sdk-relay:test --version || true - - - name: Test Docker Compose - run: | - docker-compose config - docker-compose build --no-cache - - # Job de tests de documentation - documentation-tests: - name: Documentation Tests - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Check markdown links - run: | - # Vérification basique des liens markdown - find . -name "*.md" -exec grep -l "\[.*\](" {} \; | while read file; do - echo "Checking links in $file" - done - - - name: Check documentation structure - run: | - # Vérifier la présence des fichiers de documentation essentiels - required_files=( - "README.md" - "LICENSE" - "CONTRIBUTING.md" - "CHANGELOG.md" - "CODE_OF_CONDUCT.md" - "SECURITY.md" - "docs/INDEX.md" - "docs/INSTALLATION.md" - "docs/USAGE.md" - ) - - for file in "${required_files[@]}"; do - if [[ ! -f "$file" ]]; then - echo "Missing required documentation file: $file" - exit 1 - fi - done - - - name: Validate documentation - run: | - # Vérifier la cohérence de la documentation - if ! grep -q "4NK Node" README.md; then - echo "README.md should mention '4NK Node'" - exit 1 - fi - - # Job de release guard (cohérence release) - release-guard: - name: Release Guard - runs-on: ubuntu-latest - needs: [code-quality, unit-tests, documentation-tests] - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Ensure guard scripts are executable - run: | - chmod +x scripts/release/guard.sh || true - chmod +x scripts/checks/version_alignment.sh || true - - - name: Version alignment check - run: | - if [ -f scripts/checks/version_alignment.sh ]; then - ./scripts/checks/version_alignment.sh - else - echo "No version alignment script (ok)" - fi - - - name: Release guard (CI verify) - env: - RELEASE_TYPE: ci-verify - run: | - if [ -f scripts/release/guard.sh ]; then - ./scripts/release/guard.sh - else - echo "No guard script (ok)" - fi - - # Job de tests de performance - performance-tests: - name: Performance Tests - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - override: true - - - name: Run performance tests - run: | - cd sdk_relay - cargo test --release --test performance_tests || true - - - name: Check memory usage - run: | - # Tests de base de consommation mémoire - echo "Performance tests completed" - - # Job de notification - notify: - name: Notify - runs-on: ubuntu-latest - needs: [code-quality, unit-tests, integration-tests, security-tests, docker-build, documentation-tests] - if: always() - - steps: - - name: Notify success - if: needs.code-quality.result == 'success' && needs.unit-tests.result == 'success' && needs.integration-tests.result == 'success' && needs.security-tests.result == 'success' && needs.docker-build.result == 'success' && needs.documentation-tests.result == 'success' - run: | - echo "✅ All tests passed successfully!" - - - name: Notify failure - if: needs.code-quality.result == 'failure' || needs.unit-tests.result == 'failure' || needs.integration-tests.result == 'failure' || needs.security-tests.result == 'failure' || needs.docker-build.result == 'failure' || needs.documentation-tests.result == 'failure' - run: | - echo "❌ Some tests failed!" - exit 1 diff --git a/.gitea/ISSUE_TEMPLATE/bug_report.md b/.gitea/ISSUE_TEMPLATE/bug_report.md index ab2648a..da4e36d 100644 --- a/.gitea/ISSUE_TEMPLATE/bug_report.md +++ b/.gitea/ISSUE_TEMPLATE/bug_report.md @@ -1,20 +1,97 @@ --- -name: Rapport de bug -about: Signaler un problème -labels: bug +name: Bug Report +about: Signaler un bug pour nous aider à améliorer 4NK Node +title: '[BUG] ' +labels: ['bug', 'needs-triage'] +assignees: '' --- -## Description +## 🐛 Description du Bug -Décrivez le bug. +Description claire et concise du problème. -## Reproduction +## 🔄 Étapes pour Reproduire -1. Étapes -2. Résultat observé -3. Résultat attendu +1. Aller à '...' +2. Cliquer sur '...' +3. Faire défiler jusqu'à '...' +4. Voir l'erreur -## Contexte -- Version -- OS / Arch -- Logs pertinents +## ✅ Comportement Attendu + +Description de ce qui devrait se passer. + +## ❌ Comportement Actuel + +Description de ce qui se passe actuellement. + +## 📸 Capture d'Écran + +Si applicable, ajoutez une capture d'écran pour expliquer votre problème. + +## 💻 Informations Système + +- **OS** : [ex: Ubuntu 20.04, macOS 12.0, Windows 11] +- **Docker** : [ex: 20.10.0] +- **Docker Compose** : [ex: 2.0.0] +- **Version 4NK Node** : [ex: v1.0.0] +- **Architecture** : [ex: x86_64, ARM64] + +## 📋 Configuration + +### Services Actifs +```bash +docker ps +``` + +### Variables d'Environnement +```bash +# Bitcoin Core +BITCOIN_NETWORK=signet +BITCOIN_RPC_PORT=18443 + +# Blindbit +BLINDBIT_PORT=8000 + +# SDK Relay +SDK_RELAY_PORTS=8090-8095 +``` + +## 📝 Logs + +### Logs Pertinents +``` +Logs pertinents ici +``` + +### Logs d'Erreur +``` +Logs d'erreur ici +``` + +### Logs de Debug +``` +Logs de debug ici (si RUST_LOG=debug) +``` + +## 🔧 Tentatives de Résolution + +- [ ] Redémarrage des services +- [ ] Nettoyage des volumes Docker +- [ ] Vérification de la connectivité réseau +- [ ] Mise à jour des dépendances +- [ ] Vérification de la configuration + +## 📚 Contexte Supplémentaire + +Toute autre information pertinente sur le problème. + +## 🔗 Liens Utiles + +- [Documentation](docs/) +- [Guide de Dépannage](docs/TROUBLESHOOTING.md) +- [Issues Similaires](https://git.4nkweb.com/4nk/4NK_node/issues?q=is%3Aissue+is%3Aopen+label%3Abug) + +--- + +**Merci de votre contribution !** 🙏 diff --git a/.gitea/ISSUE_TEMPLATE/feature_request.md b/.gitea/ISSUE_TEMPLATE/feature_request.md index 78c77e9..6041f4a 100644 --- a/.gitea/ISSUE_TEMPLATE/feature_request.md +++ b/.gitea/ISSUE_TEMPLATE/feature_request.md @@ -1,21 +1,156 @@ --- -name: Demande de fonctionnalité -about: Proposer une idée -labels: enhancement +name: Feature Request +about: Proposer une nouvelle fonctionnalité pour 4NK Node +title: '[FEATURE] ' +labels: ['enhancement', 'needs-triage'] +assignees: '' --- -## Problème / Contexte +## 🚀 Résumé -Quel problème résout la fonctionnalité ? +Description claire et concise de la fonctionnalité souhaitée. -## Proposition +## 💡 Motivation -Décrivez la solution souhaitée. +Pourquoi cette fonctionnalité est-elle nécessaire ? Quels problèmes résout-elle ? -## Alternatives +### Problèmes Actuels +- Problème 1 +- Problème 2 +- Problème 3 -Solutions alternatives envisagées. +### Avantages de la Solution +- Avantage 1 +- Avantage 2 +- Avantage 3 -## Impacts +## 🎯 Proposition -Tests, docs, compatibilité. +Description détaillée de la fonctionnalité proposée. + +### Fonctionnalités Principales +- [ ] Fonctionnalité 1 +- [ ] Fonctionnalité 2 +- [ ] Fonctionnalité 3 + +### Interface Utilisateur +Description de l'interface utilisateur si applicable. + +### API Changes +Description des changements d'API si applicable. + +## 🔄 Alternatives Considérées + +Autres solutions envisagées et pourquoi elles n'ont pas été choisies. + +### Alternative 1 +- **Description** : ... +- **Pourquoi rejetée** : ... + +### Alternative 2 +- **Description** : ... +- **Pourquoi rejetée** : ... + +## 📊 Impact + +### Impact sur les Utilisateurs +- Impact positif 1 +- Impact positif 2 +- Impact négatif potentiel (si applicable) + +### Impact sur l'Architecture +- Changements nécessaires +- Compatibilité avec l'existant +- Performance + +### Impact sur la Maintenance +- Complexité ajoutée +- Tests nécessaires +- Documentation requise + +## 💻 Exemples d'Utilisation + +### Cas d'Usage 1 +```bash +# Exemple de commande ou configuration +``` + +### Cas d'Usage 2 +```python +# Exemple de code Python +``` + +### Cas d'Usage 3 +```javascript +// Exemple de code JavaScript +``` + +## 🧪 Tests + +### Tests Nécessaires +- [ ] Tests unitaires +- [ ] Tests d'intégration +- [ ] Tests de performance +- [ ] Tests de sécurité +- [ ] Tests de compatibilité + +### Scénarios de Test +- Scénario 1 +- Scénario 2 +- Scénario 3 + +## 📚 Documentation + +### Documentation Requise +- [ ] Guide d'utilisation +- [ ] Documentation API +- [ ] Exemples de code +- [ ] Guide de migration +- [ ] FAQ + +## 🔧 Implémentation + +### Étapes Proposées +1. **Phase 1** : [Description] +2. **Phase 2** : [Description] +3. **Phase 3** : [Description] + +### Estimation de Temps +- **Développement** : X jours/semaines +- **Tests** : X jours/semaines +- **Documentation** : X jours/semaines +- **Total** : X jours/semaines + +### Ressources Nécessaires +- Développeur(s) +- Testeur(s) +- Documentateur(s) +- Infrastructure + +## 🎯 Critères de Succès + +Comment mesurer le succès de cette fonctionnalité ? + +- [ ] Critère 1 +- [ ] Critère 2 +- [ ] Critère 3 + +## 🔗 Liens Utiles + +- [Documentation existante](docs/) +- [Issues similaires](https://git.4nkweb.com/4nk/4NK_node/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement) +- [Roadmap](https://git.4nkweb.com/4nk/4NK_node/projects) +- [Discussions](https://git.4nkweb.com/4nk/4NK_node/issues) + +## 📋 Checklist + +- [ ] J'ai vérifié que cette fonctionnalité n'existe pas déjà +- [ ] J'ai lu la documentation existante +- [ ] J'ai vérifié les issues similaires +- [ ] J'ai fourni des exemples d'utilisation +- [ ] J'ai considéré l'impact sur l'existant +- [ ] J'ai proposé des tests + +--- + +**Merci de votre contribution à l'amélioration de 4NK Node !** 🌟 diff --git a/.gitea/PULL_REQUEST_TEMPLATE.md b/.gitea/PULL_REQUEST_TEMPLATE.md index b705374..621d01a 100644 --- a/.gitea/PULL_REQUEST_TEMPLATE.md +++ b/.gitea/PULL_REQUEST_TEMPLATE.md @@ -1,13 +1,180 @@ -# Objet +# Pull Request - 4NK Node -Décrivez brièvement les changements. +## 📋 Description -## Checklist -- [ ] Tests ajoutés/mis à jour (`tests/`) -- [ ] Documentation mise à jour (`docs/`) -- [ ] `cargo fmt` OK -- [ ] `cargo clippy` sans warnings -- [ ] `CHANGELOG.md` mis à jour si nécessaire +Description claire et concise des changements apportés. -## Liens -- Issue liée: # +### Type de Changement +- [ ] 🐛 Bug fix +- [ ] ✨ Nouvelle fonctionnalité +- [ ] 📚 Documentation +- [ ] 🧪 Tests +- [ ] 🔧 Refactoring +- [ ] 🚀 Performance +- [ ] 🔒 Sécurité +- [ ] 🎨 Style/UI +- [ ] 🏗️ Architecture +- [ ] 📦 Build/CI + +### Composants Affectés +- [ ] Bitcoin Core +- [ ] Blindbit +- [ ] SDK Relay +- [ ] Tor +- [ ] Docker/Infrastructure +- [ ] Tests +- [ ] Documentation +- [ ] Scripts + +## 🔗 Issue(s) Liée(s) + +Fixes #(issue) +Relates to #(issue) + +## 🧪 Tests + +### Tests Exécutés +- [ ] Tests unitaires +- [ ] Tests d'intégration +- [ ] Tests de connectivité +- [ ] Tests externes +- [ ] Tests de performance + +### Commandes de Test +```bash +# Tests complets +./tests/run_all_tests.sh + +# Tests spécifiques +./tests/run_unit_tests.sh +./tests/run_integration_tests.sh +``` + +### Résultats des Tests +``` +Résultats des tests ici +``` + +## 📸 Captures d'Écran + +Si applicable, ajoutez des captures d'écran pour les changements visuels. + +## 🔧 Changements Techniques + +### Fichiers Modifiés +- `fichier1.rs` - Description des changements +- `fichier2.py` - Description des changements +- `docker-compose.yml` - Description des changements + +### Nouveaux Fichiers +- `nouveau_fichier.rs` - Description +- `nouveau_script.sh` - Description + +### Fichiers Supprimés +- `ancien_fichier.rs` - Raison de la suppression + +### Changements de Configuration +```yaml +# Exemple de changement de configuration +service: + new_option: value +``` + +## 📚 Documentation + +### Documentation Mise à Jour +- [ ] README.md +- [ ] docs/INSTALLATION.md +- [ ] docs/USAGE.md +- [ ] docs/API.md +- [ ] docs/ARCHITECTURE.md + +### Nouvelle Documentation +- [ ] Nouveau guide créé +- [ ] Exemples ajoutés +- [ ] API documentée + +## 🔍 Code Review Checklist + +### Code Quality +- [ ] Le code suit les standards du projet +- [ ] Les noms de variables/fonctions sont clairs +- [ ] Les commentaires sont appropriés +- [ ] Pas de code mort ou commenté +- [ ] Gestion d'erreurs appropriée + +### Performance +- [ ] Pas de régression de performance +- [ ] Optimisations appliquées si nécessaire +- [ ] Tests de performance ajoutés + +### Sécurité +- [ ] Pas de vulnérabilités introduites +- [ ] Validation des entrées utilisateur +- [ ] Gestion sécurisée des secrets + +### Tests +- [ ] Couverture de tests suffisante +- [ ] Tests pour les cas d'erreur +- [ ] Tests d'intégration si nécessaire + +### Documentation +- [ ] Code auto-documenté +- [ ] Documentation mise à jour +- [ ] Exemples fournis + +## 🚀 Déploiement + +### Impact sur le Déploiement +- [ ] Aucun impact +- [ ] Migration de données requise +- [ ] Changement de configuration +- [ ] Redémarrage des services + +### Étapes de Déploiement +```bash +# Étapes pour déployer les changements +``` + +## 📊 Métriques + +### Impact sur les Performances +- Temps de réponse : +/- X% +- Utilisation mémoire : +/- X% +- Utilisation CPU : +/- X% + +### Impact sur la Stabilité +- Taux d'erreur : +/- X% +- Disponibilité : +/- X% + +## 🔄 Compatibilité + +### Compatibilité Ascendante +- [ ] Compatible avec les versions précédentes +- [ ] Migration automatique +- [ ] Migration manuelle requise + +### Compatibilité Descendante +- [ ] Compatible avec les futures versions +- [ ] API stable +- [ ] Configuration stable + +## 🎯 Critères de Succès + +- [ ] Critère 1 +- [ ] Critère 2 +- [ ] Critère 3 + +## 📝 Notes Supplémentaires + +Informations supplémentaires importantes pour les reviewers. + +## 🔗 Liens Utiles + +- [Documentation](docs/) +- [Tests](tests/) +- [Issues liées](https://git.4nkweb.com/4nk/4NK_node/issues) + +--- + +**Merci pour votre contribution !** 🙏 diff --git a/.gitea/.gitea/workflows/LOCAL_OVERRIDES.yml b/.gitea/workflows/LOCAL_OVERRIDES.yml similarity index 100% rename from .gitea/.gitea/workflows/LOCAL_OVERRIDES.yml rename to .gitea/workflows/LOCAL_OVERRIDES.yml diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index ab3e3f6..5dd8de7 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -1,30 +1,345 @@ -name: CI +name: CI - 4NK Node on: push: + branches: [ main, develop ] pull_request: + branches: [ main, develop ] + +env: + RUST_VERSION: '1.70' + DOCKER_COMPOSE_VERSION: '2.20.0' jobs: - rust: + # Job de vérification du code + code-quality: + name: Code Quality runs-on: ubuntu-latest + steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Rust toolchain - uses: dtolnay/rust-toolchain@stable - - name: Cache cargo - uses: actions/cache@v4 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - name: Format check - run: cargo fmt --all -- --check - - name: Clippy - run: cargo clippy --all-targets --all-features -- -D warnings - - name: Build - run: cargo build --verbose - - name: Test - run: cargo test --all --verbose + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_VERSION }} + override: true + + - name: Cache Rust dependencies + uses: actions/cache@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- + + - name: Run clippy + run: | + cd sdk_relay + cargo clippy --all-targets --all-features -- -D warnings + + - name: Run rustfmt + run: | + cd sdk_relay + cargo fmt --all -- --check + + - name: Check documentation + run: | + cd sdk_relay + cargo doc --no-deps + + - name: Check for TODO/FIXME + run: | + if grep -r "TODO\|FIXME" . --exclude-dir=.git --exclude-dir=target; then + echo "Found TODO/FIXME comments. Please address them." + exit 1 + fi + + # Job de tests unitaires + unit-tests: + name: Unit Tests + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_VERSION }} + override: true + + - name: Cache Rust dependencies + uses: actions/cache@v3 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- + + - name: Run unit tests + run: | + cd sdk_relay + cargo test --lib --bins + + - name: Run integration tests + run: | + cd sdk_relay + cargo test --tests + + # Job de tests d'intégration + integration-tests: + name: Integration Tests + runs-on: ubuntu-latest + + services: + docker: + image: docker:24.0.5 + options: >- + --health-cmd "docker info" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 2375:2375 + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Docker images + run: | + docker build -t 4nk-node-bitcoin ./bitcoin + docker build -t 4nk-node-blindbit ./blindbit + docker build -t 4nk-node-sdk-relay -f ./sdk_relay/Dockerfile .. + + - name: Run integration tests + run: | + # Tests de connectivité de base + ./tests/run_connectivity_tests.sh || true + + # Tests d'intégration + ./tests/run_integration_tests.sh || true + + - name: Upload test results + uses: actions/upload-artifact@v3 + if: always() + with: + name: test-results + path: | + tests/logs/ + tests/reports/ + retention-days: 7 + + # Job de tests de sécurité + security-tests: + name: Security Tests + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_VERSION }} + override: true + + - name: Run cargo audit + run: | + cd sdk_relay + cargo audit --deny warnings + + - name: Check for secrets + run: | + # Vérifier les secrets potentiels + if grep -r "password\|secret\|key\|token" . --exclude-dir=.git --exclude-dir=target --exclude=*.md; then + echo "Potential secrets found. Please review." + exit 1 + fi + + - name: Check file permissions + run: | + # Vérifier les permissions sensibles + find . -type f -perm /0111 -name "*.conf" -o -name "*.key" -o -name "*.pem" | while read file; do + if [[ $(stat -c %a "$file") != "600" ]]; then + echo "Warning: $file has insecure permissions" + fi + done + + # Job de build et test Docker + docker-build: + name: Docker Build & Test + runs-on: ubuntu-latest + + services: + docker: + image: docker:24.0.5 + options: >- + --health-cmd "docker info" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 2375:2375 + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and test Bitcoin Core + run: | + docker build -t 4nk-node-bitcoin:test ./bitcoin + docker run --rm 4nk-node-bitcoin:test bitcoin-cli --version + + - name: Build and test Blindbit + run: | + docker build -t 4nk-node-blindbit:test ./blindbit + docker run --rm 4nk-node-blindbit:test --version || true + + - name: Build and test SDK Relay + run: | + docker build -t 4nk-node-sdk-relay:test -f ./sdk_relay/Dockerfile .. + docker run --rm 4nk-node-sdk-relay:test --version || true + + - name: Test Docker Compose + run: | + docker-compose config + docker-compose build --no-cache + + # Job de tests de documentation + documentation-tests: + name: Documentation Tests + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Check markdown links + run: | + # Vérification basique des liens markdown + find . -name "*.md" -exec grep -l "\[.*\](" {} \; | while read file; do + echo "Checking links in $file" + done + + - name: Check documentation structure + run: | + # Vérifier la présence des fichiers de documentation essentiels + required_files=( + "README.md" + "LICENSE" + "CONTRIBUTING.md" + "CHANGELOG.md" + "CODE_OF_CONDUCT.md" + "SECURITY.md" + "docs/INDEX.md" + "docs/INSTALLATION.md" + "docs/USAGE.md" + ) + + for file in "${required_files[@]}"; do + if [[ ! -f "$file" ]]; then + echo "Missing required documentation file: $file" + exit 1 + fi + done + + - name: Validate documentation + run: | + # Vérifier la cohérence de la documentation + if ! grep -q "4NK Node" README.md; then + echo "README.md should mention '4NK Node'" + exit 1 + fi + + # Job de release guard (cohérence release) + release-guard: + name: Release Guard + runs-on: ubuntu-latest + needs: [code-quality, unit-tests, documentation-tests] + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Ensure guard scripts are executable + run: | + chmod +x scripts/release/guard.sh || true + chmod +x scripts/checks/version_alignment.sh || true + + - name: Version alignment check + run: | + if [ -f scripts/checks/version_alignment.sh ]; then + ./scripts/checks/version_alignment.sh + else + echo "No version alignment script (ok)" + fi + + - name: Release guard (CI verify) + env: + RELEASE_TYPE: ci-verify + run: | + if [ -f scripts/release/guard.sh ]; then + ./scripts/release/guard.sh + else + echo "No guard script (ok)" + fi + + # Job de tests de performance + performance-tests: + name: Performance Tests + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_VERSION }} + override: true + + - name: Run performance tests + run: | + cd sdk_relay + cargo test --release --test performance_tests || true + + - name: Check memory usage + run: | + # Tests de base de consommation mémoire + echo "Performance tests completed" + + # Job de notification + notify: + name: Notify + runs-on: ubuntu-latest + needs: [code-quality, unit-tests, integration-tests, security-tests, docker-build, documentation-tests] + if: always() + + steps: + - name: Notify success + if: needs.code-quality.result == 'success' && needs.unit-tests.result == 'success' && needs.integration-tests.result == 'success' && needs.security-tests.result == 'success' && needs.docker-build.result == 'success' && needs.documentation-tests.result == 'success' + run: | + echo "✅ All tests passed successfully!" + + - name: Notify failure + if: needs.code-quality.result == 'failure' || needs.unit-tests.result == 'failure' || needs.integration-tests.result == 'failure' || needs.security-tests.result == 'failure' || needs.docker-build.result == 'failure' || needs.documentation-tests.result == 'failure' + run: | + echo "❌ Some tests failed!" + exit 1 diff --git a/.gitea/.gitea/workflows/template-sync.yml b/.gitea/workflows/template-sync.yml similarity index 100% rename from .gitea/.gitea/workflows/template-sync.yml rename to .gitea/workflows/template-sync.yml diff --git a/.gitea_template/ISSUE_TEMPLATE/bug_report.md b/.gitea_template/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 0b144dc..0000000 --- a/.gitea_template/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -name: Bug Report -about: Signaler un bug pour nous aider à améliorer 4NK Node -title: '[BUG] ' -labels: ['bug', 'needs-triage'] -assignees: '' ---- - -> Ce fichier est un modèle (template). Adaptez les champs à votre projet dérivé. - -## 🐛 Description du Bug - -Description claire et concise du problème. - -## 🔄 Étapes pour Reproduire - -1. Aller à '...' -2. Cliquer sur '...' -3. Faire défiler jusqu'à '...' -4. Voir l'erreur - -## ✅ Comportement Attendu - -Description de ce qui devrait se passer. - -## ❌ Comportement Actuel - -Description de ce qui se passe actuellement. - -## 📸 Capture d'Écran - -Si applicable, ajoutez une capture d'écran pour expliquer votre problème. - -## 💻 Informations Système - -- **OS** : [ex: Ubuntu 20.04, macOS 12.0, Windows 11] -- **Docker** : [ex: 20.10.0] -- **Docker Compose** : [ex: 2.0.0] -- **Version 4NK Node** : [ex: v1.0.0] -- **Architecture** : [ex: x86_64, ARM64] - -## 📋 Configuration - -### Services Actifs -```bash -docker ps -``` - -### Variables d'Environnement -```bash -# Bitcoin Core -BITCOIN_NETWORK=signet -BITCOIN_RPC_PORT=18443 - -# Blindbit -BLINDBIT_PORT=8000 - -# SDK Relay -SDK_RELAY_PORTS=8090-8095 -``` - -## 📝 Logs - -### Logs Pertinents -``` -Logs pertinents ici -``` - -### Logs d'Erreur -``` -Logs d'erreur ici -``` - -### Logs de Debug -``` -Logs de debug ici (si RUST_LOG=debug) -``` - -## 🔧 Tentatives de Résolution - -- [ ] Redémarrage des services -- [ ] Nettoyage des volumes Docker -- [ ] Vérification de la connectivité réseau -- [ ] Mise à jour des dépendances -- [ ] Vérification de la configuration - -## 📚 Contexte Supplémentaire - -Toute autre information pertinente sur le problème. - -## 🔗 Liens Utiles - -- [Documentation](docs/) -- [Guide de Dépannage](docs/TROUBLESHOOTING.md) -- [Issues Similaires](https://git.4nkweb.com/4nk/4NK_node/issues?q=is%3Aissue+is%3Aopen+label%3Abug) - ---- - -**Merci de votre contribution !** 🙏 diff --git a/.gitea_template/ISSUE_TEMPLATE/feature_request.md b/.gitea_template/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 4b8c506..0000000 --- a/.gitea_template/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -name: Feature Request -about: Proposer une nouvelle fonctionnalité pour 4NK Node -title: '[FEATURE] ' -labels: ['enhancement', 'needs-triage'] -assignees: '' ---- - -> Ce fichier est un modèle (template). Adaptez les champs à votre projet dérivé. - -## 🚀 Résumé - -Description claire et concise de la fonctionnalité souhaitée. - -## 💡 Motivation - -Pourquoi cette fonctionnalité est-elle nécessaire ? Quels problèmes résout-elle ? - -### Problèmes Actuels -- Problème 1 -- Problème 2 -- Problème 3 - -### Avantages de la Solution -- Avantage 1 -- Avantage 2 -- Avantage 3 - -## 🎯 Proposition - -Description détaillée de la fonctionnalité proposée. - -### Fonctionnalités Principales -- [ ] Fonctionnalité 1 -- [ ] Fonctionnalité 2 -- [ ] Fonctionnalité 3 - -### Interface Utilisateur -Description de l'interface utilisateur si applicable. - -### API Changes -Description des changements d'API si applicable. - -## 🔄 Alternatives Considérées - -Autres solutions envisagées et pourquoi elles n'ont pas été choisies. - -### Alternative 1 -- **Description** : ... -- **Pourquoi rejetée** : ... - -### Alternative 2 -- **Description** : ... -- **Pourquoi rejetée** : ... - -## 📊 Impact - -### Impact sur les Utilisateurs -- Impact positif 1 -- Impact positif 2 -- Impact négatif potentiel (si applicable) - -### Impact sur l'Architecture -- Changements nécessaires -- Compatibilité avec l'existant -- Performance - -### Impact sur la Maintenance -- Complexité ajoutée -- Tests nécessaires -- Documentation requise - -## 💻 Exemples d'Utilisation - -### Cas d'Usage 1 -```bash -# Exemple de commande ou configuration -``` - -### Cas d'Usage 2 -```python -# Exemple de code Python -``` - -### Cas d'Usage 3 -```javascript -// Exemple de code JavaScript -``` - -## 🧪 Tests - -### Tests Nécessaires -- [ ] Tests unitaires -- [ ] Tests d'intégration -- [ ] Tests de performance -- [ ] Tests de sécurité -- [ ] Tests de compatibilité - -### Scénarios de Test -- Scénario 1 -- Scénario 2 -- Scénario 3 - -## 📚 Documentation - -### Documentation Requise -- [ ] Guide d'utilisation -- [ ] Documentation API -- [ ] Exemples de code -- [ ] Guide de migration -- [ ] FAQ - -## 🔧 Implémentation - -### Étapes Proposées -1. **Phase 1** : [Description] -2. **Phase 2** : [Description] -3. **Phase 3** : [Description] - -### Estimation de Temps -- **Développement** : X jours/semaines -- **Tests** : X jours/semaines -- **Documentation** : X jours/semaines -- **Total** : X jours/semaines - -### Ressources Nécessaires -- Développeur(s) -- Testeur(s) -- Documentateur(s) -- Infrastructure - -## 🎯 Critères de Succès - -Comment mesurer le succès de cette fonctionnalité ? - -- [ ] Critère 1 -- [ ] Critère 2 -- [ ] Critère 3 - -## 🔗 Liens Utiles - -- [Documentation existante](docs/) -- [Issues similaires](https://git.4nkweb.com/4nk/4NK_node/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement) -- [Roadmap](https://git.4nkweb.com/4nk/4NK_node/projects) -- [Discussions](https://git.4nkweb.com/4nk/4NK_node/issues) - -## 📋 Checklist - -- [ ] J'ai vérifié que cette fonctionnalité n'existe pas déjà -- [ ] J'ai lu la documentation existante -- [ ] J'ai vérifié les issues similaires -- [ ] J'ai fourni des exemples d'utilisation -- [ ] J'ai considéré l'impact sur l'existant -- [ ] J'ai proposé des tests - ---- - -**Merci de votre contribution à l'amélioration de 4NK Node !** 🌟 diff --git a/.gitea_template/PULL_REQUEST_TEMPLATE.md b/.gitea_template/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index a406182..0000000 --- a/.gitea_template/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,183 +0,0 @@ -# Pull Request - 4NK Node - -> Ce fichier est un modèle PR. Adaptez les sections à votre projet dérivé. - -## 📋 Description - -Description claire et concise des changements apportés. - -### Type de Changement -- [ ] 🐛 Bug fix -- [ ] ✨ Nouvelle fonctionnalité -- [ ] 📚 Documentation -- [ ] 🧪 Tests -- [ ] 🔧 Refactoring -- [ ] 🚀 Performance -- [ ] 🔒 Sécurité -- [ ] 🎨 Style/UI -- [ ] 🏗️ Architecture -- [ ] 📦 Build/CI - -### Composants Affectés -- [ ] Bitcoin Core -- [ ] Blindbit -- [ ] SDK Relay -- [ ] Tor -- [ ] Docker/Infrastructure -- [ ] Tests -- [ ] Documentation -- [ ] Scripts - -## 🔗 Issue(s) Liée(s) - -Fixes #(issue) -Relates to #(issue) - -## 🧪 Tests - -### Tests Exécutés -- [ ] Tests unitaires -- [ ] Tests d'intégration -- [ ] Tests de connectivité -- [ ] Tests externes -- [ ] Tests de performance -- [ ] Release Guard local (`RELEASE_TYPE=ci-verify scripts/release/guard.sh`) - -### Commandes de Test -```bash -# Tests complets -./tests/run_all_tests.sh - -# Tests spécifiques -./tests/run_unit_tests.sh -./tests/run_integration_tests.sh -``` - -### Résultats des Tests -``` -Résultats des tests ici -``` - -## 📸 Captures d'Écran - -Si applicable, ajoutez des captures d'écran pour les changements visuels. - -## 🔧 Changements Techniques - -### Fichiers Modifiés -- `fichier1.rs` - Description des changements -- `fichier2.py` - Description des changements -- `docker-compose.yml` - Description des changements - -### Nouveaux Fichiers -- `nouveau_fichier.rs` - Description -- `nouveau_script.sh` - Description - -### Fichiers Supprimés -- `ancien_fichier.rs` - Raison de la suppression - -### Changements de Configuration -```yaml -# Exemple de changement de configuration -service: - new_option: value -``` - -## 📚 Documentation - -### Documentation Mise à Jour -- [ ] README.md -- [ ] docs/INSTALLATION.md -- [ ] docs/USAGE.md -- [ ] docs/API.md -- [ ] docs/ARCHITECTURE.md - -### Nouvelle Documentation -- [ ] Nouveau guide créé -- [ ] Exemples ajoutés -- [ ] API documentée - -## 🔍 Code Review Checklist - -### Code Quality -- [ ] Le code suit les standards du projet -- [ ] Les noms de variables/fonctions sont clairs -- [ ] Les commentaires sont appropriés -- [ ] Pas de code mort ou commenté -- [ ] Gestion d'erreurs appropriée - -### Performance -- [ ] Pas de régression de performance -- [ ] Optimisations appliquées si nécessaire -- [ ] Tests de performance ajoutés - -### Sécurité -- [ ] Pas de vulnérabilités introduites -- [ ] Validation des entrées utilisateur -- [ ] Gestion sécurisée des secrets - -### Tests -- [ ] Couverture de tests suffisante -- [ ] Tests pour les cas d'erreur -- [ ] Tests d'intégration si nécessaire - -### Documentation -- [ ] Code auto-documenté -- [ ] Documentation mise à jour -- [ ] Exemples fournis - -## 🚀 Déploiement - -### Impact sur le Déploiement -- [ ] Aucun impact -- [ ] Migration de données requise -- [ ] Changement de configuration -- [ ] Redémarrage des services - -### Étapes de Déploiement -```bash -# Étapes pour déployer les changements -``` - -## 📊 Métriques - -### Impact sur les Performances -- Temps de réponse : +/- X% -- Utilisation mémoire : +/- X% -- Utilisation CPU : +/- X% - -### Impact sur la Stabilité -- Taux d'erreur : +/- X% -- Disponibilité : +/- X% - -## 🔄 Compatibilité - -### Compatibilité Ascendante -- [ ] Compatible avec les versions précédentes -- [ ] Migration automatique -- [ ] Migration manuelle requise - -### Compatibilité Descendante -- [ ] Compatible avec les futures versions -- [ ] API stable -- [ ] Configuration stable - -## 🎯 Critères de Succès - -- [ ] Critère 1 -- [ ] Critère 2 -- [ ] Critère 3 - -## 📝 Notes Supplémentaires - -Informations supplémentaires importantes pour les reviewers. - -## 🔗 Liens Utiles - -- [Documentation](docs/) -- [Tests](tests/) -- [Issues liées](https://git.4nkweb.com/4nk/4NK_node/issues) - ---- - -**Merci pour votre contribution !** 🙏 diff --git a/.gitea_template/workflows/LOCAL_OVERRIDES.yml b/.gitea_template/workflows/LOCAL_OVERRIDES.yml deleted file mode 100644 index 789bc91..0000000 --- a/.gitea_template/workflows/LOCAL_OVERRIDES.yml +++ /dev/null @@ -1,14 +0,0 @@ -# LOCAL_OVERRIDES.yml — dérogations locales contrôlées (fichier modèle) -overrides: - - path: ".gitea/workflows/ci.yml" - reason: "spécificité d’environnement" - owner: "@maintainer_handle" - expires: "2025-12-31" - - path: "scripts/scripts/auto-ssh-push.sh" - reason: "flux particulier temporaire" - owner: "@maintainer_handle" - expires: "2025-10-01" -policy: - allow_only_listed_paths: true - require_expiry: true - audit_in_ci: true diff --git a/.gitea_template/workflows/ci.yml b/.gitea_template/workflows/ci.yml deleted file mode 100644 index 058515a..0000000 --- a/.gitea_template/workflows/ci.yml +++ /dev/null @@ -1,346 +0,0 @@ -# Template CI - 4NK Node (ce fichier est un modèle, adaptez selon votre projet) -name: CI - 4NK Node - -on: - push: - branches: [ main, develop ] - pull_request: - branches: [ main, develop ] - -env: - RUST_VERSION: '1.70' - DOCKER_COMPOSE_VERSION: '2.20.0' - -jobs: - # Job de vérification du code - code-quality: - name: Code Quality - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - override: true - - - name: Cache Rust dependencies - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo- - - - name: Run clippy - run: | - cd sdk_relay - cargo clippy --all-targets --all-features -- -D warnings - - - name: Run rustfmt - run: | - cd sdk_relay - cargo fmt --all -- --check - - - name: Check documentation - run: | - cd sdk_relay - cargo doc --no-deps - - - name: Check for TODO/FIXME - run: | - if grep -r "TODO\|FIXME" . --exclude-dir=.git --exclude-dir=target; then - echo "Found TODO/FIXME comments. Please address them." - exit 1 - fi - - # Job de tests unitaires - unit-tests: - name: Unit Tests - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - override: true - - - name: Cache Rust dependencies - uses: actions/cache@v3 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo- - - - name: Run unit tests - run: | - cd sdk_relay - cargo test --lib --bins - - - name: Run integration tests - run: | - cd sdk_relay - cargo test --tests - - # Job de tests d'intégration - integration-tests: - name: Integration Tests - runs-on: ubuntu-latest - - services: - docker: - image: docker:24.0.5 - options: >- - --health-cmd "docker info" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - ports: - - 2375:2375 - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build Docker images - run: | - docker build -t 4nk-node-bitcoin ./bitcoin - docker build -t 4nk-node-blindbit ./blindbit - docker build -t 4nk-node-sdk-relay -f ./sdk_relay/Dockerfile .. - - - name: Run integration tests - run: | - # Tests de connectivité de base - ./tests/run_connectivity_tests.sh || true - - # Tests d'intégration - ./tests/run_integration_tests.sh || true - - - name: Upload test results - uses: actions/upload-artifact@v3 - if: always() - with: - name: test-results - path: | - tests/logs/ - tests/reports/ - retention-days: 7 - - # Job de tests de sécurité - security-tests: - name: Security Tests - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - override: true - - - name: Run cargo audit - run: | - cd sdk_relay - cargo audit --deny warnings - - - name: Check for secrets - run: | - # Vérifier les secrets potentiels - if grep -r "password\|secret\|key\|token" . --exclude-dir=.git --exclude-dir=target --exclude=*.md; then - echo "Potential secrets found. Please review." - exit 1 - fi - - - name: Check file permissions - run: | - # Vérifier les permissions sensibles - find . -type f -perm /0111 -name "*.conf" -o -name "*.key" -o -name "*.pem" | while read file; do - if [[ $(stat -c %a "$file") != "600" ]]; then - echo "Warning: $file has insecure permissions" - fi - done - - # Job de build et test Docker - docker-build: - name: Docker Build & Test - runs-on: ubuntu-latest - - services: - docker: - image: docker:24.0.5 - options: >- - --health-cmd "docker info" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - ports: - - 2375:2375 - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build and test Bitcoin Core - run: | - docker build -t 4nk-node-bitcoin:test ./bitcoin - docker run --rm 4nk-node-bitcoin:test bitcoin-cli --version - - - name: Build and test Blindbit - run: | - docker build -t 4nk-node-blindbit:test ./blindbit - docker run --rm 4nk-node-blindbit:test --version || true - - - name: Build and test SDK Relay - run: | - docker build -t 4nk-node-sdk-relay:test -f ./sdk_relay/Dockerfile .. - docker run --rm 4nk-node-sdk-relay:test --version || true - - - name: Test Docker Compose - run: | - docker-compose config - docker-compose build --no-cache - - # Job de tests de documentation - documentation-tests: - name: Documentation Tests - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Check markdown links - run: | - # Vérification basique des liens markdown - find . -name "*.md" -exec grep -l "\[.*\](" {} \; | while read file; do - echo "Checking links in $file" - done - - - name: Check documentation structure - run: | - # Vérifier la présence des fichiers de documentation essentiels - required_files=( - "README.md" - "LICENSE" - "CONTRIBUTING.md" - "CHANGELOG.md" - "CODE_OF_CONDUCT.md" - "SECURITY.md" - "docs/INDEX.md" - "docs/INSTALLATION.md" - "docs/USAGE.md" - ) - - for file in "${required_files[@]}"; do - if [[ ! -f "$file" ]]; then - echo "Missing required documentation file: $file" - exit 1 - fi - done - - - name: Validate documentation - run: | - # Vérifier la cohérence de la documentation - if ! grep -q "4NK Node" README.md; then - echo "README.md should mention '4NK Node'" - exit 1 - fi - - # Job de release guard (cohérence release) - release-guard: - name: Release Guard - runs-on: ubuntu-latest - needs: [code-quality, unit-tests, documentation-tests] - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Ensure guard scripts are executable - run: | - chmod +x scripts/release/guard.sh || true - chmod +x scripts/checks/version_alignment.sh || true - - - name: Version alignment check - run: | - if [ -f scripts/checks/version_alignment.sh ]; then - ./scripts/checks/version_alignment.sh - else - echo "No version alignment script (ok)" - fi - - - name: Release guard (CI verify) - env: - RELEASE_TYPE: ci-verify - run: | - if [ -f scripts/release/guard.sh ]; then - ./scripts/release/guard.sh - else - echo "No guard script (ok)" - fi - - # Job de tests de performance - performance-tests: - name: Performance Tests - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: ${{ env.RUST_VERSION }} - override: true - - - name: Run performance tests - run: | - cd sdk_relay - cargo test --release --test performance_tests || true - - - name: Check memory usage - run: | - # Tests de base de consommation mémoire - echo "Performance tests completed" - - # Job de notification - notify: - name: Notify - runs-on: ubuntu-latest - needs: [code-quality, unit-tests, integration-tests, security-tests, docker-build, documentation-tests] - if: always() - - steps: - - name: Notify success - if: needs.code-quality.result == 'success' && needs.unit-tests.result == 'success' && needs.integration-tests.result == 'success' && needs.security-tests.result == 'success' && needs.docker-build.result == 'success' && needs.documentation-tests.result == 'success' - run: | - echo "✅ All tests passed successfully!" - - - name: Notify failure - if: needs.code-quality.result == 'failure' || needs.unit-tests.result == 'failure' || needs.integration-tests.result == 'failure' || needs.security-tests.result == 'failure' || needs.docker-build.result == 'failure' || needs.documentation-tests.result == 'failure' - run: | - echo "❌ Some tests failed!" - exit 1 diff --git a/.gitea_template/workflows/template-sync.yml b/.gitea_template/workflows/template-sync.yml deleted file mode 100644 index 132c4af..0000000 --- a/.gitea_template/workflows/template-sync.yml +++ /dev/null @@ -1,39 +0,0 @@ -# .gitea/workflows/template-sync.yml — synchronisation et contrôles d’intégrité (fichier modèle) -name: 4NK Template Sync -on: - schedule: # planification régulière - - cron: "0 4 * * 1" # exécution hebdomadaire (UTC) - workflow_dispatch: {} # déclenchement manuel - -jobs: - check-and-sync: - runs-on: ubuntu-latest - steps: - - name: Lire TEMPLATE_VERSION et .4nk-sync.yml - # Doit charger ref courant, source_repo et périmètre paths - - - name: Récupérer la version publiée du template/4NK_rules - # Doit comparer TEMPLATE_VERSION avec ref amont - - - name: Créer branche de synchronisation si divergence - # Doit créer chore/template-sync- et préparer un commit - - - name: Synchroniser les chemins autoritatifs - # Doit mettre à jour .cursor/**, .gitea/**, AGENTS.md, scripts/**, docs/SSH_UPDATE.md - - - name: Contrôles post-sync (bloquants) - # 1) Vérifier présence et exécutable des scripts/*.sh - # 2) Vérifier mise à jour CHANGELOG.md et docs/INDEX.md - # 3) Vérifier docs/SSH_UPDATE.md si scripts/** a changé - # 4) Vérifier absence de secrets en clair dans scripts/** - # 5) Vérifier manifest_checksum si publié - - - name: Tests, lint, sécurité statique - # Doit exiger un état vert - - - name: Ouvrir PR de synchronisation - # Titre: "[template-sync] chore: aligner .cursor/.gitea/AGENTS.md/scripts" - # Doit inclure résumé des fichiers modifiés et la version appliquée - - - name: Mettre à jour TEMPLATE_VERSION (dans PR) - # Doit remplacer la valeur par la ref appliquée diff --git a/docs/README.md b/docs/README.md index aabdb7e..65fc4d2 100644 --- a/docs/README.md +++ b/docs/README.md @@ -37,3 +37,4 @@ Voir aussi: - Refactor initial de la logique depuis `main.rs` vers `lib.rs` pour testabilité et séparation des responsabilités. - Durées TTL maintenant validées dans le handler, calcul d'expiration converti en `SystemTime` avant l'appel service. + diff --git a/docs/api_contrats.md b/docs/api_contrats.md index 6a7f3bd..94ddb0f 100644 --- a/docs/api_contrats.md +++ b/docs/api_contrats.md @@ -19,3 +19,4 @@ - HTTP `/retrieve`: succès, clé invalide, clé absente. Voir `api_json_spec.md` pour les schémas et contraintes détaillés. + diff --git a/docs/api_json_spec.md b/docs/api_json_spec.md index 550002e..51f27bb 100644 --- a/docs/api_json_spec.md +++ b/docs/api_json_spec.md @@ -111,3 +111,4 @@ ## Codes d'état et messages - Les messages d'erreur sont informatifs mais ne divulguent pas d'informations sensibles. - Les champs `message` sont destinés à l'humain; ne pas les parser côté client. + diff --git a/docs/architecture.md b/docs/architecture.md index ab8350c..76d2b83 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -11,3 +11,4 @@ - Service `StorageService` (I/O disque, TTL, nettoyage). - Serveur HTTP Tide (routes, état partagé). - Nettoyage périodique (60s) basé sur fichiers `.meta`. + diff --git a/docs/ci_docker_registry.md b/docs/ci_docker_registry.md index 1bdfa54..096935e 100644 --- a/docs/ci_docker_registry.md +++ b/docs/ci_docker_registry.md @@ -9,3 +9,4 @@ Le workflow `.gitea/workflows/docker.yml` requiert ces secrets: Configurer ces secrets dans les paramètres du dépôt (ou de l’organisation) côté Gitea. La cible d’image est `DOCKER_REGISTRY/sdk_storage:latest` (et multi-arch si activé). + diff --git a/docs/configuration.md b/docs/configuration.md index 568a244..75615f6 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -6,3 +6,4 @@ ## Variables d'Environnement - `RUST_LOG` (optionnel): niveau de logs. - Pour Docker, monter `/app/storage` si persistance souhaitée. + diff --git a/docs/demarrage_rapide.md b/docs/demarrage_rapide.md index 07ddce1..067523a 100644 --- a/docs/demarrage_rapide.md +++ b/docs/demarrage_rapide.md @@ -13,3 +13,4 @@ ## Docker (optionnel) - Build: `docker build -t sdk_storage:local .` - Run: `docker run --rm -p 8081:8081 -v $PWD/storage:/app/storage sdk_storage:local` + diff --git a/docs/depannage.md b/docs/depannage.md index 426e76b..002277d 100644 --- a/docs/depannage.md +++ b/docs/depannage.md @@ -10,3 +10,4 @@ ## Healthchecks - Ajouter une route `/health` (évolution possible) ou ping sur `/retrieve` avec clé connue. + diff --git a/docs/developpement.md b/docs/developpement.md index f7395fc..7c0276b 100644 --- a/docs/developpement.md +++ b/docs/developpement.md @@ -11,3 +11,4 @@ ## Modification de la Configuration - Mettre à jour `docs/configuration.md` et secrets CI/CD. + diff --git a/docs/guides_principaux.md b/docs/guides_principaux.md index 49a397c..df840fc 100644 --- a/docs/guides_principaux.md +++ b/docs/guides_principaux.md @@ -3,3 +3,4 @@ - Concepts de base: clés hex 64, valeurs hex, TTL en secondes. - API: `/store` (POST), `/retrieve/:key` (GET). - Persistance: système de fichiers, sous-dossiers par préfixe de clé. + diff --git a/docs/guides_techniques.md b/docs/guides_techniques.md index 5f4ca78..17f39f9 100644 --- a/docs/guides_techniques.md +++ b/docs/guides_techniques.md @@ -4,3 +4,4 @@ - TTL: sérialisé dans `*.meta` (UNIX timestamp secondes). - Nettoyage: parcours des dossiers, suppression données expirées. - Journalisation: sorties standard, intégration possible avec superviseur. + diff --git a/docs/guides_test.md b/docs/guides_test.md index 35f0c86..d97cf5a 100644 --- a/docs/guides_test.md +++ b/docs/guides_test.md @@ -3,3 +3,4 @@ - Tests unitaires recommandés sur `StorageService` via répertoires temporaires. - Tests d'intégration HTTP optionnels via client HTTP. - Stratégies: cas TTL min/max, clés invalides, conflits de clé. + diff --git a/docs/performance.md b/docs/performance.md index 2490e85..2ee4d16 100644 --- a/docs/performance.md +++ b/docs/performance.md @@ -7,3 +7,4 @@ ## Optimisations - Paramétrer la taille des blocs et la stratégie de fsync selon contraintes. - Éviter les collisions de clés, supervision du cleanup TTL. + diff --git a/docs/release_guide.md b/docs/release_guide.md index c7ee6fc..63c40e8 100644 --- a/docs/release_guide.md +++ b/docs/release_guide.md @@ -19,3 +19,4 @@ ## Post-release - Mettre à jour la documentation si nécessaire. - Ouvrir une issue pour les améliorations/retours. + diff --git a/docs/reseau_de_relais.md b/docs/reseau_de_relais.md index 41ab9fb..1a44260 100644 --- a/docs/reseau_de_relais.md +++ b/docs/reseau_de_relais.md @@ -8,3 +8,4 @@ ## Configuration Externe - Ports, sécurité, endpoints à exposer. + diff --git a/docs/tests_monitoring.md b/docs/tests_monitoring.md index 7b2a501..b4f353e 100644 --- a/docs/tests_monitoring.md +++ b/docs/tests_monitoring.md @@ -7,3 +7,4 @@ - Healthcheck HTTP: endpoint `/health` retourne `{ "message": "ok" }` et code 200. - Exposer métriques avec un reverse proxy/sidecar si nécessaire. - Configurer l'orchestrateur pour vérifier périodiquement `/health`. +