- Add pre-commit hook (scripts/hooks/pre-commit) that automatically calculates MD5 checksums of ConfigMaps (element-values.yaml, synapse-values.yaml) - Update annotations in kustomization.yaml to trigger Flux CD HelmRelease syncs - Add install script (scripts/install-hooks.sh) for easy hook setup - Add comprehensive documentation (docs/ops-configmap-sync.md) explaining: * Why Flux doesn't auto-detect ConfigMap changes * How the checksum-based workaround works * How to install and use the hook * Troubleshooting and manual sync procedures - Update README.md with post-clone hook installation step This solves the issue where Flux CD doesn't automatically re-deploy when external ConfigMaps are modified. Users no longer need manual checksum updates. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
28 lines
720 B
Bash
Executable File
28 lines
720 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Install Git Hooks for GitOps automation
|
|
# Must be run after cloning the repository
|
|
|
|
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null)" || {
|
|
echo "❌ Not in a git repository"
|
|
exit 1
|
|
}
|
|
|
|
HOOKS_DIR="$REPO_ROOT/.git/hooks"
|
|
HOOK_SOURCE="$REPO_ROOT/scripts/hooks/pre-commit"
|
|
HOOK_DEST="$HOOKS_DIR/pre-commit"
|
|
|
|
# Verify source exists
|
|
if [ ! -f "$HOOK_SOURCE" ]; then
|
|
echo "❌ Hook source not found: $HOOK_SOURCE"
|
|
exit 1
|
|
fi
|
|
|
|
# Create symlink (force if exists)
|
|
mkdir -p "$HOOKS_DIR"
|
|
ln -sf "../../scripts/hooks/pre-commit" "$HOOK_DEST"
|
|
chmod +x "$HOOK_SOURCE"
|
|
|
|
echo "✅ Git hooks installed:"
|
|
echo " • pre-commit: ConfigMap checksum auto-update"
|
|
echo " See: docs/ops-configmap-sync.md"
|