Files
jenkins-docker/scripts/setup-secrets.sh
2026-08-27 16:08:01 +00:00

24 lines
835 B
Bash
Executable File

#!/usr/bin/env bash
# Generates the SSH keypair (controller -> agents) and the Jenkins admin
# password consumed by docker-compose.yml as Docker secrets. Safe to re-run;
# it skips anything that already exists.
set -euo pipefail
cd "$(dirname "$0")/.."
mkdir -p secrets
if [ ! -f secrets/agent_ssh_key ]; then
ssh-keygen -t ed25519 -f secrets/agent_ssh_key -N "" -C "jenkins-agent"
echo "Generated secrets/agent_ssh_key(.pub)"
else
echo "secrets/agent_ssh_key already exists, skipping"
fi
if [ ! -f secrets/jenkins_admin_password.txt ]; then
openssl rand -base64 18 > secrets/jenkins_admin_password.txt
echo "Generated Jenkins admin password (saved to secrets/jenkins_admin_password.txt):"
cat secrets/jenkins_admin_password.txt
else
echo "secrets/jenkins_admin_password.txt already exists, skipping"
fi