Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions docs/.vitepress/sidebar.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,6 @@
"text": "Bouchons",
"link": "/agreement/mocks"
},
{
"text": "Règles kyverno",
"link": "/agreement/kyverno"
},
{
"text": "Labels kubernetes",
"link": "/agreement/labels-list"
},
{
"text": "Observabilité",
"link": "/agreement/observability"
Expand Down Expand Up @@ -147,6 +139,10 @@
"text": "Déploiement de votre application",
"link": "/guide/deployment-with-argo"
},
{
"text": "Règles kyverno",
"link": "/agreement/kyverno"
},
{
"text": "Bonnes pratiques",
"link": "/guide/best-practices"
Expand All @@ -173,6 +169,10 @@
}
]
},
{
"text": "Dashboard",
"link": "/guide/dashboardsecurite"
},
{
"text": "Archivage des logs",
"link": "/guide/archive-logs"
Expand Down
2 changes: 1 addition & 1 deletion docs/agreement/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Cette section regroupe les questions fréquentes de nos clients.

## Construction

### Comment simuler les services S3, SSO, SMTP, etc sur les environnements OVH ?
### Comment simuler les services S3, SSO, SMTP, etc sur les environnements PAX ?

Des bouchons sont proposés afin de simuler un serveur SMTP, création d'un bucket S3, SSO, etc.

Expand Down
4 changes: 2 additions & 2 deletions docs/agreement/introduction.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# L'offre Cloud Pi Native

La direction de la transformation numérique du ministère de l'Intérieur et des outre-mer propose une offre de services autour de deux instances de la plateforme *(OVH SecNumCloud / Cloud π)* à destination des *administrations* ou des *entreprises de services numériques* travaillant pour leur compte.
Cette offre de services est une implémentation du produit *Hexaforge* pour le ministère de l'intérieur ainsi qu'un accompagnement dédié aux spécificités des infrastructures ministérielles.
La Direction de la Transformation Numérique du Ministère de l'Intérieur et des Outre-mer propose une offre de services autours de plusieurs instances de la plateforme *(PAX / Cloud π)* à destination des *administrations* ou des *entreprises de services numériques* travaillant pour leur compte.
Cette offre de services est une implémentation du produit *Hexaforge* pour le Ministère de l'intérieur ainsi qu'un accompagment dédié aux spécificités des infrastructures ministériel.

> __:warning: Attention, les seuls bénéficiaires de cette offre managée sont les administrations ou leurs ESN partenaires.

Expand Down
2 changes: 1 addition & 1 deletion docs/agreement/mocks.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ smtp:

podLabels:
app: bouchon-smtp
env: ovh
env: pax
tier: bouchon
criticality: low
component: smtp
Expand Down
64 changes: 54 additions & 10 deletions docs/agreement/observability.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# Observabilité

> __:warning: L'observabilité n'est pas en place sur les environnements OVH.__

Dans le cadre de l'offre Cloud-Pi Native, l'observabilité est disponible via plusieurs composants:
- Prometheus/Grafana pour les métriques
- AlertManager/Grafana pour l'alerting
- ElasticSearch/Kibana pour les logs
- Prometheus pour les métriques et les dashboards de sécurité
- Loki pour les logs
- Grafana pour les dashboard et les alertes

Ces différents services sont accessibles via la console `Cloud Pi Native > Projet > Mes Projets > Sélectionner un projet > Mes Services`
Ces différents services sont accessibles via la console `Cloud Pi Native > Projet > Mes Projets > Sélectionner un projet > Services externes`

![observabilité](/img/agreement/acces_services_observabilité.png)

Expand All @@ -25,17 +24,62 @@ Par défaut, aucune alerte n'est mise en place.

Pour apprendre à créer une alerte, [cliquer ici](/guide/alerting.md)

## Dashboard
Des dashboards [Grafana](https://grafana.com/grafana/) pour consulter les métriques, les logs ainsi que des indicateurs de sécurité sont fournis par défaut pour son projet :

![dashboard par defaut](/img/agreement/dashboard-defaut.png)

Pour consulter les dashboard de sécurité, [cliquer ici](/guide/dashboardsecurite.md)


## Dashboard as code

À partir de la version 9.4.0 de la console, une fonctionnalité *Dashboard as code* est disponible.

Lors de la création d'un projet (ou lors du reprovisionnement d'un projet pour les projets créés avant la version 9.4.0 de la console), un nouveau repo de code est automatiquement créé dans gitlab : infra-observability

![repo infra-observability](/img/agreement/repo-infra-observability.png)

Ce repo de code contient 2 types de fichiers :
- Des Dashboard grafana sous forme de fichiers .json dans le répertoire "/files/dashboards/"
- Des alertes sous la forme de fichiers .yaml.tpl dans le répertoire /files/rules/

L'ajout de fichier dans ces répertoires sont automatiquements déployés dans grafana (peut prendre jusqu'à 3 minutes pour se synchroniser).

Afin de sauvegarder un dashboard dans Cloud Pi Native, il est nécessaire d'exporter le contenu JSON d'un dashboard depuis Grafana puis de copier le contenu dans un fichier /files/dashboards/mondashboard.json.

Pour cela depuis un dashboard cliquez sur *share* :
![share](/img/agreement/dashboard-share.png)

Puis *Export* et *View JSON*
![export](/img/agreement/dashboard-export-view-json.png)

Enfin cliquez sur Copy to Clipboard
![copy](/img/agreement/dashboard-copy-to-clipboard.png)

La synchronisation du repo de code gitlab *infra-observability* vers *Grafana* se fait via une *Application ArgoCD* nommée [env]-[projet]-observability :
![argo](/img/agreement/argocd-dashboard-as-code.png)

Un objet de type Kubernetes *GrafanaDashboard* est créé pour chaque dashboard créé *as code*. En cas d'erreur sur le contenu du JSON, les erreurs seront visibles depuis cet objet via ArgoCD.

> À noter que seule la branche **main** est synchronisée


La video suivante illustre cette fonctionnalité

<video width="320" height="240" controls>
<source src="https://cpin-public-ressources.s3.fr-par.scw.cloud/documentation/cloud-pi-native/dashboard-as-code.mp4" type="video/mp4" />
</video>

## Logs
Le couple Elastisearch/Kibana est utilisé pour vous donner accès à vos logs.
Le couple Loki/Grafana est utilisé pour vous donner accès à vos logs.

> __:warning: Les logs ne sont conservés que sur une durée de 7 jours.__
> __:warning: Les logs ne sont conservés que sur une durée de 30 jours.__

Pour les besoins de conservation au delà de 7 jours, le projet doit mettre en place un collecteur de logs (rsyslog, fluentbit, fluentd, vector, kafka, ...) dans le périmètre de son application afin de récupérer le flux de logs et les stockés sur un autre support (S3 par exemple)
Pour les besoins de conservation au delà de 30 jours, le projet doit mettre en place un collecteur de logs (rsyslog, fluentbit, fluentd, vector, kafka, ...) dans le périmètre de son application afin de récupérer le flux de logs et les stockés sur un autre support (S3 par exemple)

Les logs peuvent être transmises via le protocol HTTP, syslog ou vers un kafka.

Pour bénéficier de ce service, merci de créer un ticket auprès de la ServiceTeam.

Pour apprendre à utiliser kibana, [cliquer ici](/guide/logs-kibana.md)

Un exemple de mise en place d'un collecteur de log avec le produit [vector](https://vector.dev/) vers un bucket AWS S3 est disponible [ici](/guide/archive-logs.md)
6 changes: 3 additions & 3 deletions docs/agreement/support.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ La Service Team est l'équipe qui vous accompagne pour embarquer sur l'offre Clo

L'accompagnement technique se fera sur 2 plateformes :

- Plateforme d'accélération OVH; plateforme non liée aux réseaux interministères et a pour objectif de fournir aux projets un accès plus rapide à la console et aux services Cloud π native. Ainsi les projets peuvent anticiper en effectuant leurs premiers tests.

- Plateforme PAX; plateforme non lié aux réseaux interministères et a pour objectif de fournir aux projets un accès plus rapide à la console et aux services Cloud π native. Ainsi les projets peuvent anticiper en effectuat leurs premiers tests.
- Cluster Cloud π native sur les infrastructures du ministère de l'intérieur

## Prérequis organisationnels
Expand Down Expand Up @@ -36,7 +36,7 @@ En plus de ces prérequis, les éléments suivants sont à fournir par le projet
- Estimation des ressources nécessaires CPU/RAM
- Calendrier du projet et échéances importantes et état d'avancement du projet (déjà en production, nouvelle application, etc.)

## Accompagnement sur OVH
## Accompagnement sur PAX

- Création de compte pour l'accès à la console et aux services
- Accostage entre la chaine primaire et la chaine secondaire (github action)
Expand Down
76 changes: 75 additions & 1 deletion docs/guide/best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,81 @@ Criticality : " "
Component : " "
```

Tous les labels disponibles [ici](/agreement/labels-list).
Dans le cadre de l'offre de services du MIOM, il sera demandé d'ajouter les labels suivants sur vos ressources kubernetes :

### Type d'environnement

Ajouter un label `env: <element>` où `element` est un élément de la liste suivante :

- dev
- formation
- qualif
- test
- preprod
- prod

### Tiers

Ajouter un label `tier: <element>` où `element` est un élément de la liste suivante :

- frontend
- backend
- db
- cache
- auth

### Criticité

Ajouter un label `criticality: <element>` où `element` est un élément de la liste suivante :

- high
- medium
- low

### Composant

Ajouter un label `component: <element>` où `element` est un élément de la liste suivante :

- web :
- nginx
- apache
- caddy
- tomcat

- defaults :
- python
- node
- openjdk
- golang
- php
- ruby
- perl
- drupal
- java

- database :
- postgres
- mariadb
- mysql
- mongo
- cassandra
- cockroach
- influx
- etcd

- caching :
- varnish
- redis
- memcached

- broker :
- rabbitmq
- kafka
- apachemq
- kubemq

- others :
- busybox

## Tag d'images

Expand Down
30 changes: 30 additions & 0 deletions docs/guide/dashboardsecurite.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Dasboard Sécurité

Retrouver ce service dans la console Cloud Pi via le menu `Projet > Mes Projets > Sélectionner un projet > Mes Services` et cliquer sur l'icône Grafana correspondant au cluster sur lequel votre déploiement applicatif est présent.

Dans cette section, nous allons découvrir comment créer un nouveau dashboard contenant un graphique.

## Connexion
Pour visualiser vos métriques, sélectionner Grafana dans le tableau de bord "Mes Services".

Pour se logguer, cliquer sur le bouton en bas de page commençant par "Sign in with..."

![signin](/img/guide/grafana-sign-in.png)

Une fois connecté, l'accès aux dashboards est disponible via la menu hamburger en haut à gauche

![menu](/img/guide/grafana_menu.png)
![menu dashboard](/img/guide/grafana_menu_dashboard.png)

Par défaut, les équipes de Cloud Pi Native ont prévu un dashboard reprenant les informations d'infrastructure (CPU/RAM/Quota/Réseaux/Stockage) de vos différents namespace ainsi que des dashboard de sécurité Kyverno/Trivy/Falco

![dashboard_infra](/img/guide/dashboard_infra.png)

### Kyverno
Le dashboard [PolicyReport](/img/guide/kyverno.png) remonte les informations l'état de la conformité des règles Kyverno. La consultation permet d'avoir le détail du nombre de règles respecté ou non ainsi que les règles en question.

### Trivy
Le dashboard [Trivy Operator](/img/guide/trivy_dashboard.png) permet de consulter les vulnérabilités (CVE) et criticité pour les différentes workload ainsi que leur évolution dans le temps.

### Falco
Le Falco dashboard permet d'avoir une vision au runtime des activités anormales (Lancement d'un shell dans un container, etc ...).
57 changes: 0 additions & 57 deletions docs/guide/logs-kibana.md

This file was deleted.

Binary file modified docs/public/img/agreement/acces_services_observabilité.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/public/img/agreement/dashboard-defaut.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/public/img/agreement/dashboard-share.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/public/img/guide/dashboard_infra.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/public/img/guide/kyverno_dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/public/img/guide/trivy_dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.