programm-webhook/webhooks-git/entrypoint.sh

81 lines
1.7 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_programm_key="/data/ssh/programm-webhook.deploy.ed25519"
path_programm_pub="/data/ssh/programm-webhook.deploy.ed25519"
path_assets_key="/data/ssh/assets-webhook.deploy.ed25519"
path_assets_pub="/data/ssh/assets-webhook.deploy.ed25519"
path_ssh_config="/data/ssh/config"
if [ ! -f "$path_programm_key" ];
then
echo "Error: repository key $path_programm_key does not exist"
else
cp "$path_programm_key" "$path_ssh"
fi
if [ ! -f "$path_programm_publ" ];
then
echo "Error: repository public key $path_programm_pub does not exist"
else
cp "$path_programm_pub" "$path_ssh"
fi
if [ ! -f "$path_assets_key" ];
then
echo "Error: assets key $path_assets_key does not exist"
else
cp "$path_assets_key" "$path_ssh"
fi
if [ ! -f "$path_assets_pub" ];
then
echo "Error: assets public key $path_assets_pub does not exist"
else
cp "$path_assets_pub" "$path_ssh"
fi
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 known_hosts
#
ssh-keyscan ${GIT_SERVER} >> /root/.ssh/known_hosts
#
# Start webhooks
#
echo "Starting webhooks service"
exec /usr/local/bin/webhook -verbose -hooks=/etc/webhook/hooks.json -hotreload