Skip to content

Commit e43ba59

Browse files
committed
update
1 parent 7fee1fa commit e43ba59

File tree

7 files changed

+456
-1
lines changed

7 files changed

+456
-1
lines changed

docs/.DS_Store

6 KB
Binary file not shown.

docs/.vuepress/config.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,16 @@ theme: defaultTheme({
2626
'installation-daemon',
2727
'installation-taiga'
2828
],
29-
},
29+
},{
30+
text: 'Configuration',
31+
prefix: '/configuration',
32+
children: [
33+
'architecture',
34+
'data',
35+
'validation',
36+
'exemple'
37+
]
38+
}
3039
],
3140
},
3241
}),

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Sesame est un gestionnaire d'identité. Il permet de créer les identités sur l
1313
* **Sesame-daemon** : Il transmet les differents ordres de l'orchestrateur aux differents backends
1414

1515
* **Sesame-Backends** : Snippets qui peuvent être écrits dans differents language et qui executent une tâche précise
16+
* **Sesame-crawler** : Importateur de données vers Sesame
1617

1718
## Un exemple
1819

docs/configuration/architecture.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
lang: en-US
3+
title: Architecture
4+
description: Architecture de l'installation
5+
---
6+
7+
# Architecture
8+
9+
Si vous avez installé Sesame avec le script d'installation, vous avez cette structure dans le répertoire d'installation
10+
11+
```
12+
docker-compose.yml
13+
Makefile
14+
configs/
15+
├── sesame-app-manager/
16+
│ ├── statics/
17+
│ │ ├── logo.png
18+
│ └── ...
19+
├── sesame-orchestrator/
20+
│ ├── jsonforms/
21+
│ │ ├── nom_object_class.ui.yml
22+
│ │ └── ...
23+
│ └── validations/
24+
│ ├── nom_object_class.yml
25+
│ └── ...
26+
├── sesame-taiga-crawler/
27+
│ ├── .env
28+
│ └── mappings.json
29+
import
30+
├── .env
31+
├── cache
32+
└── data
33+
```
34+
### docker-compose.yml
35+
Fichier de configuration Docker Compose pour lancer les services.
36+
37+
### Makefile
38+
Fichier de configuration Make pour lancer les commandes de gestion des services et l'import des identitées depuis taiga.
39+
40+
### configs
41+
Dossier de configuration pour chaque service
42+
####sesame-app-manager
43+
`statics/` : Dossier contenant les fichiers statiques (images, etc.).
44+
45+
### sesame-orchestrator
46+
Configuration des données (API).
47+
48+
- `jsonforms/` : Dossier contenant les formulaires de l'interface d'administration.
49+
- `validations/` : Dossier contenant les fichiers de validation des objets.
50+
51+
### sesame-taiga-crawler
52+
Configuration de l'import Taiga.
53+
54+
- `.env` : Fichier de configuration des variables d'environnement.
55+
- config.yml` : Fichier de configuration des mappings des objets pour l'import de Taiga vers Sesame.
56+
## import
57+
Répertoire pour l'import de données vers Sesame

docs/configuration/data.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
lang: en-US
3+
title: Principe
4+
description: Configuration des données
5+
---
6+
# Principe
7+
Sesame possède un modele de données souple. Il est basé un peu comme le protocole LDAP Sur des schémas de données.
8+
e
9+
Le schema obligatoire est InetOrgPerson
10+
11+
Les schemas sont definis dans le repertoire configs/sesame-orchestrator/validations. Il y a un fichier par schema.
12+
13+
Chaque schema est dans un fichier yml
14+
15+
```
16+
---
17+
"$schema": http://json-schema.org/draft-07/schema#
18+
type: object
19+
properties:
20+
cn:
21+
type: string
22+
description: Common name of the inetOrgPerson.
23+
sn:
24+
type: string
25+
description: Surname of the inetOrgPerson.
26+
uid:
27+
type: string
28+
description: UID of the inetOrgPerson.
29+
displayName:
30+
type: string
31+
description: Display name of the inetOrgPerson.
32+
facsimileTelephoneNumber:
33+
type: string
34+
description: Facsimile telephone number of the inetOrgPerson.
35+
givenName:
36+
type: string
37+
description: Given name of the inetOrgPerson.
38+
labeledURI:
39+
type: string
40+
description: URI associated with the inetOrgPerson.
41+
mail:
42+
type: string
43+
format: email
44+
description: Email address of the inetOrgPerson.
45+
mobile:
46+
type: string
47+
description: Mobile number of the inetOrgPerson.
48+
postalAddress:
49+
type: string
50+
description: Postal address of the inetOrgPerson.
51+
preferredLanguage:
52+
type: string
53+
description: Preferred language of the inetOrgPerson.
54+
telephoneNumber:
55+
type: string
56+
description: Telephone number of the inetOrgPerson.
57+
title:
58+
type: string
59+
description: Title of the inetOrgPerson.
60+
userCertificate:
61+
type: string
62+
description: User certificate of the inetOrgPerson.
63+
userPassword:
64+
type: string
65+
description: User password of the inetOrgPerson.
66+
required:
67+
- cn
68+
- sn
69+
- uid
70+
```
71+
Le fichier yml porte le nom du schema et contient :
72+
73+
* $shema et type : ces deux champs sont des constantes et sont en tete du fichier
74+
75+
```
76+
---
77+
"$schema": http://json-schema.org/draft-07/schema#
78+
type: object
79+
```
80+
81+
* properties : Ce paragraphe decrit chaque champ. Chaque champ contient un type et une description
82+
83+
```
84+
properties :
85+
title:
86+
type: string
87+
description: Title of the inetOrgPerson.
88+
```
89+
* required : Definit les champs obligatoire pour l'identité
90+
91+
```
92+
required:
93+
- cn
94+
- sn
95+
- uid
96+
97+
```
98+
99+
Pour savoir les types supportés se reférer à la documentation
100+
101+
[Documentation pour la définition des données ](validation)

docs/configuration/exemple.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
lang: en-US
3+
title: Exemple
4+
description: Exemple d'ajout de champs
5+
---
6+
# Exemple
7+
8+
Nous voulons ajouter à nos identités un schema (qui suis un schema LDAP (sogxuser). Ces champs sont pour la messagerie.
9+
10+
Nous allons ajouter 3 champs :
11+
12+
* sogxquota : pour gérer les quotas dans le système de messagerie
13+
* sogxdisableflag : pour désactiver le compte sur le système de messagerie
14+
15+
dans **configs/sesame-orchestrator/validation nous creons un fichier sogxuser.yml
16+
17+
```
18+
$schema: "http://json-schema.org/draft-07/schema#"
19+
type: "object"
20+
properties:
21+
sogxquota:
22+
type: "number"
23+
description: "Quota messagerie"
24+
sogxdisableflag:
25+
type: "number"
26+
integer: true
27+
min: 0
28+
max: 1
29+
description: "Disable/enable"
30+
31+
```
32+
33+
Voila les champs sogxuser.sogxquota et sogxuser.sogxdisableflag seront disponible dans l'identité

0 commit comments

Comments
 (0)