87 lines
2.2 KiB
Bash
87 lines
2.2 KiB
Bash
#!/bin/sh
|
|
|
|
#
|
|
# Create hosts.json with by replacing environment variables in template file
|
|
#
|
|
|
|
# Define the template file path
|
|
template_file="/etc/webhook/hooks.json.tmpl"
|
|
|
|
# Define the output file path
|
|
output_file="/etc/webhook/hooks.json"
|
|
|
|
# Check if the template file exists
|
|
if [ ! -f "$template_file" ]; then
|
|
echo "Template file $template_file not found."
|
|
# exit 1
|
|
else
|
|
envsubst <"$template_file" >"$output_file"
|
|
echo "Generated $output_file"
|
|
fi
|
|
|
|
#
|
|
# Copy ssh keys and config
|
|
#
|
|
|
|
path_ssh="/root/.ssh"
|
|
path_dadi_staging_key="/data/ssh/dadi-staging-webhook.deploy.ed25519"
|
|
path_dadi_staging_pub="/data/ssh/dadi-staging-webhook.deploy.ed25519.pub"
|
|
path_ssh_config="/data/ssh/config"
|
|
|
|
# Create .ssh folder if not present
|
|
if [ ! -d "$path_ssh" ]; then
|
|
# Create the folder
|
|
mkdir -p "$path_ssh"
|
|
echo "Folder created: $path_ssh"
|
|
fi
|
|
|
|
# Copy dadi staging key
|
|
if [ ! -f "$path_dadi_staging_key" ]; then
|
|
echo "Error: repository key $path_dadi_staging_key does not exist"
|
|
else
|
|
cp "$path_dadi_staging_key" "${path_ssh}/"
|
|
fi
|
|
|
|
# Copy dadi staging public key
|
|
if [ ! -f "$path_dadi_staging_pub" ]; then
|
|
echo "Error: repository public key $path_dadi_staging_pub does not exist"
|
|
else
|
|
cp "$path_dadi_staging_pub" "${path_ssh}/"
|
|
fi
|
|
|
|
# Copy ssh config
|
|
if [ ! -f "$path_ssh_config" ]; then
|
|
echo "Error: ssh config $path_ssh_config does not exist"
|
|
else
|
|
cp "$path_ssh_config" "${path_ssh}/"
|
|
fi
|
|
|
|
# Create or append known_hosts
|
|
|
|
echo "Validating: $GIT_SERVER_DADI_STAGING"
|
|
ssh-keyscan -H "$GIT_SERVER_DADI_STAGING" >>"${path_ssh}"/known_hosts
|
|
|
|
echo "git and ssh configured."
|
|
echo "|--- dadi staging webhook public key (deploy key): --------------------|"
|
|
cat "${path_ssh}"/dadi-staging-webhook.deploy.ed25519.pub
|
|
echo "|---- Config ------------------------------------------------------|"
|
|
cat "${path_ssh}"/config
|
|
echo "|---- known_hosts -------------------------------------------------|"
|
|
cat "${path_ssh}"/known_hosts
|
|
echo "|------------------------------------------------------------------|"
|
|
|
|
# Initialize branches
|
|
|
|
echo "Initialize branches of dadi staging"
|
|
./dadi-staging-init.sh
|
|
|
|
# Generate index.html
|
|
./generate_index_html.sh
|
|
|
|
#
|
|
# Start webhooks
|
|
#
|
|
|
|
echo "Starting webhooks service"
|
|
exec /usr/local/bin/webhook -verbose -hooks=/etc/webhook/hooks.json -hotreload
|