01. October 2023
Enoncé TP 5

TP5 : Secret & ConfigMap
🇫🇷 Version Française
Backend Configmap
Créér une ConfigMap pour rendre plus propre la gestion des variable d’environnement de notre backend.
Les variables misent en ConfigMap pourront être réutiliser par d’autres pods si besoin (partage du hostname de la bdd entre micro service par exemple).
La ConfigMap créé aura comme nom : back-configmap
.
Remplacer toutes les variables d’environnements renseignées avant par une référence vers la ConfigMap.
MongoDb Secret
Créér un secret de type opaque pour mongo contenant le username et le password du user root que l’on va utiliser.
Modifier le deployment pour qu’il utilise ce secret via variable d’environnement.
Attention il va falloir supprimer entièrement votre base Mongo pour pouvoir initialiser un user root.
Le Secret créé aura comme nom : mongo-secret
.
Mongo aura besoin de deux variable d’environnement :
MONGO_INITDB_ROOT_USERNAME
MONGO_INITDB_ROOT_PASSWORD
Backend Secret
Créér un Secret pour renseigné le username/password de la base de donnée, modifié plus tôt.
Comme pour les ConfigMap les variables misent en Secret pourront être réutiliser par d’autres pods si besoin (partage du username/password de la bdd entre micro service par exemple).
Le Secret créé aura comme nom : back-secret
.
Notre backend va donc devoir etre modifié comme ceci :
- Ajout de deux variables d’environnments:
- MONGO_USERNAME
- MONGO_PASSWORD
- Modification de l’image pour passer de la version
1.0
à la version1.1
(Avec authentification).
Verification
Une fois le deployment re-créer il faut voir apparaitre la log:
1Successfully added user: {
2 "user" : "Admin",
3 "roles" : [
4 {
5 "role" : "root",
6 "db" : "admin"
7 }
8 ]
9}
Elle signifie que le user admin s’est bien créer.
Après ça redémarrer les backends et vérifier que l’appli marche.
Note : n’utilisez pas le username root
car c’est un mot clé reservé par mongo et ça ne créera pas de user.
🇬🇧 English version
Backend Configmap
Create a ConfigMap to make the management of environment variables in our backend cleaner.
The variables placed in ConfigMap can be reused by other pods if necessary (sharing the hostname of the database between micro services for example).
The ConfigMap created will have the name: back-configmap
.
Replace all the environment variables used before with a reference to the ConfigMap.
MongoDb Secret
Create an opaque secret for mongo containing the username and password of the root user that we will use.
Modify the deployment to use this secret via environment variable.
Please note, you will have to completely delete your Mongo database to be able to initialize a root user.
The Secret created will have the name: mongo-secret
.
Mongo will need these two environment variables:
MONGO_INITDB_ROOT_USERNAME
MONGO_INITDB_ROOT_PASSWORD
Backend Secret
Create a Secret to fill in the username/password of the database, modified earlier.
As with the ConfigMap, the variables set to Secret can be reused by other pods if necessary (sharing the database username/password between micro services for example).
The Secret created will have the name: back-secret
.
Our backend will therefore have to be modified like this:
- Added two environment variables:
- MONGO_USERNAME
- MONGO_PASSWORD
- Modification of the image to go from version
1.0
to version1.1
(With authentication).
Verification
Once the deployment is re-created, you should see the log appear in the pod:
1Successfully added user: {
2 "user" : "Root_User",
3 "roles" : [
4 {
5 "role" : "root",
6 "db" : "admin"
7 }
8 ]
9}
It means that the admin user has been created successfully.
After that, restart the backends and check that the app is working.
Note : do not use root
as mongodb username because it’s a reserved keywork and it will not work.