|
|
#!/bin/env bash
|
|
|
|
|
|
#
|
|
|
# Étape 1 : ajouter les lignes suivantes dans .git/config
|
|
|
#
|
|
|
# [filter "secrets"]
|
|
|
# clean = ../scripts/filter-secrets.sh clean
|
|
|
# smudge = ../scripts/filter-secrets.sh smudge
|
|
|
#
|
|
|
# Étape 2 : ajouter les lignes suivantes dans le .git/info/attributes
|
|
|
# NB : il s'agit de la liste des fichiers sur lequel git doit appliquer le filtre
|
|
|
#
|
|
|
# config.yaml filter=secrets
|
|
|
# .env filter=secrets
|
|
|
#
|
|
|
#
|
|
|
|
|
|
if [ "$1" == "clean" ]; then
|
|
|
# Clean (replace sensitive data with placeholders)
|
|
|
sed -e 's/XXXXXXXXX/{API_KEY_PLACEHOLDER}/g' \
|
|
|
-e 's/YYYYYYYYY/{SENDING_API_KEY_PLACEHOLDER}/g' \
|
|
|
-e 's/ZZZZZZZZZ/{SMTP_PASSWORD_PLACEHOLDER}/g' \
|
|
|
-e 's/AAAAAAAAA/{POSTGRES_PASSWORD_PLACEHOLDER}/g' \
|
|
|
-e 's/BBBBBBBBB/{TWS_USERID_PLACEHOLDER}/g' \
|
|
|
-e 's/CCCCCCCCCC/{TWS_PASSWORD_PLACEHOLDER}/g'
|
|
|
|
|
|
# Si une erreur se produit avec sed, renvoyer un code d'erreur
|
|
|
if [ $? -ne 0 ]; then
|
|
|
echo "Erreur lors de l'exécution du clean"
|
|
|
exit 1
|
|
|
fi
|
|
|
elif [ "$1" == "smudge" ]; then
|
|
|
# Smudge (replace placeholders with sensitive data)
|
|
|
sed -e 's/{API_KEY_PLACEHOLDER}/XXXXXXXXX/g' \
|
|
|
-e 's/{SENDING_API_KEY_PLACEHOLDER}/YYYYYYYYY/g' \
|
|
|
-e 's/{SMTP_PASSWORD_PLACEHOLDER}/ZZZZZZZZZ/g' \
|
|
|
-e 's/{POSTGRES_PASSWORD_PLACEHOLDER}/AAAAAAAAA/g' \
|
|
|
-e 's/{TWS_USERID_PLACEHOLDER}/BBBBBBBBB/g' \
|
|
|
-e 's/{TWS_PASSWORD_PLACEHOLDER}/CCCCCCCCCC/g'
|
|
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
echo "Erreur lors de l'exécution du smudge"
|
|
|
exit 1
|
|
|
fi
|
|
|
fi
|
|
|
exit 0
|
|
|
|