This commit introduces a boilerplate inspired by https://github.com/numerique-gouv/impress. The code has been cleaned to remove unnecessary Impress logic and dependencies. Changes made: - Removed Minio, WebRTC, and create bucket from the stack. - Removed the Next.js frontend (it will be replaced by Vite). - Cleaned up impress-specific backend logics. The whole stack remains functional: - All tests pass. - Linter checks pass. - Agent Connexion sources are already set-up. Why clear out the code? To adhere to the KISS principle, we aim to maintain a minimalist codebase. Cloning Impress allowed us to quickly inherit its code quality tools and deployment configurations for staging, pre-production, and production environments. What’s broken? - The tsclient is not functional anymore. - Some make commands need to be fixed. - Helm sources are outdated. - Naming across the project sources are inconsistent (impress, visio, etc.) - CI is not configured properly. This list might be incomplete. Let's grind it.
31 lines
671 B
Bash
Executable File
31 lines
671 B
Bash
Executable File
#!/bin/bash
|
|
|
|
mkdir -p "$(dirname -- "${BASH_SOURCE[0]}")/../.git/hooks/"
|
|
PRE_COMMIT_FILE="$(dirname -- "${BASH_SOURCE[0]}")/../.git/hooks/pre-commit"
|
|
|
|
cat <<'EOF' >$PRE_COMMIT_FILE
|
|
#!/bin/bash
|
|
|
|
# directories containing potential secrets
|
|
DIRS="."
|
|
|
|
bold=$(tput bold)
|
|
normal=$(tput sgr0)
|
|
|
|
# allow to read user input, assigns stdin to keyboard
|
|
exec </dev/tty
|
|
|
|
for d in $DIRS; do
|
|
# find files containing secrets that should be encrypted
|
|
for f in $(find "${d}" -type f -regex ".*\.enc\..*"); do
|
|
if ! $(grep -q "unencrypted_suffix" $f); then
|
|
printf '\xF0\x9F\x92\xA5 '
|
|
echo "File $f has non encrypted secrets!"
|
|
exit 1
|
|
fi
|
|
done
|
|
done
|
|
EOF
|
|
|
|
chmod +x $PRE_COMMIT_FILE
|