Skip to content

florianbusi/dashlord

 
 

Repository files navigation

DashLord Incubateur des territoires

Ce repo contient le code nécessaire pour générer le tableau de bord des bonnes pratiques techniques des projets de l'incubateur des territoires.
Le résultat peut être visible à cette adresse:
https:/incubateur-territoires.github.io/dashlord

Exemples :

Usage

Ajouter une URL dans le dashlord

Vous devez éditer le fichier ./dashlord.yml et ajouter une entrée pour votre URL.

💡 Bonne pratique : enlever les slashs à la fin des urls

Déployer sa propre version de DashLord :

  • Créer un nouveau repository à partir du template dashlord
  • Éditer le fichier dashlord.yml
  • Éditer le fichier .github/workflows/scans.yml si nécessaire
  • Éditer le fichier .github/workflows/report.yml si nécessaire (vérifier le base-path où sera publié le site web, il s'agira du nom du repository)
  • Dans les settings du repository, dans "Actions", positionner "Workflows permissions" sur "Read and write" (si l'option n'est pas disponible pour le dépôt, activez la d'abord au niveau de l'organisation)
  • Dans les settings du repository, dans "Pages", selectionner gh-pages comme branche source (vous pouvez soit la créer en amont soit la selectionner après le premier scan qui la créera)
  • Lancer DashLord scans dans l'onglet Actions de votre projet GitHub

Une fois les scans terminés, un rapport sera généré dans la branche gh-pages du repository, il sera disponible sur https://[organisation].github.io/[repository] (publiquement).

Customisation

Ces workflows sont également déclenchables manuellement dans l'onglet "Actions"

Outils

Chaque outil peut être activé/désactivé dans le rapport avec la clé tools de dashlord.yml.

Repo desc
SocialGouv/dashlord-actions Dashlord specific actions
SocialGouv/dashlord-nuclei-action Dump nuclei result
SocialGouv/httpobs-action Dump Mozilla HTTP Observatory result
SocialGouv/thirdparties-action Dump third party scripts scan result
SocialGouv/wappalyzer-action Dump Wappalyzer scan result
MTES-MCT/dependabotalerts-action Dump Github dependabot security alerts
MTES-MCT/codescanalerts-action Dump Github CodeQL security alerts
MTES-MCT/updownio-action Dump updown.io stats
MTES-MCT/nmap-action Dump nmap port scan stats
MTES-MCT/stats-action Detect /stats page.
SocialGouv/thirdparties thirdparty scripts database
swinton/screenshot-website grab website screenshot
SocialGouv/detect-404-action detect 404 errors
aquasecurity/trivy-action Scan docker images vulnerabilities

Configuration

Certains outils nécessitent une configuration supplémentaire :

dependabot (détection de vulnérabilités issues des dépendances du projet)

ajouter un secret GitHub DEPENDABOTALERTS_TOKEN et lui donner pour valeur un token d'accès personnel ayant droit de lecture sur "Dependabot alerts" en sélectionnant les dépôts à scanner

codescan (analyse statique de la qualité de code)

ajouter un secret GitHub CODESCANALERTS_TOKEN et lui donner pour valeur un token d'accès personnel ayant droit de lecture sur "Code scanning alerts" en sélectionnant les dépôts à scanner

updown.io (Mesures de disponibilité)

DashLord peut monitorer le niveau de performance et de disponibilité de vos applications. (mise en place = 10mins)

  • Créez un compte sur updown.io
  • Ajoutez-y les urls à monitorer (telles que définies dans dashlord.yml)
  • Activez l'outil avec updownio: true dans le fichier dashlord.yml
  • Ajouter votre clé d'API updown.io "readonly" dans un secret GitHub nommé UPDOWNIO_API_KEY (onglet settings/secrets)

Si vous fournissez un token write à l'action init, les urls manquantes seront automatiquement ajoutées à votre compte updown.io.

▶ Au prochain scan, les informations updown.io seront remontées dans DashLord

customCss :

You can host the css file in your Dashlord repo but the link needs to point to a file with the correct Content-Type Header. See here for details

Contribute

Vous pouvez contribuer en remontant des issues de qualité, en améliorant la documentation, ou en ajoutant du code.

🤗 Toutes les suggestions sont bienvenues.

cf CONTRIBUTING.md

Dev

DashLord fonctionne en deux étapes :

  1. Acquisition des données : Pour chaque URL, chaque outil est executé et génère un fichier JSON qui sera versionné dans le repository
  2. Génération du rapport : À partir des données existantes, l'action report aggrège, compresse les résultats et produit un rapport web statique.

Voir aussi : SocialGouv/dashlord-actions

Releases

No releases published

Packages

No packages published

Languages

  • HTML 100.0%