#!/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.pub" path_assets_key="/data/ssh/assets-webhook.deploy.ed25519" path_assets_pub="/data/ssh/assets-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 programm key if [ ! -f "$path_programm_key" ]; then echo "Error: repository key $path_programm_key does not exist" else cp "$path_programm_key" "${path_ssh}/" fi # Copy programm public key if [ ! -f "$path_programm_pub" ]; then echo "Error: repository public key $path_programm_pub does not exist" else cp "$path_programm_pub" "${path_ssh}/" fi # Copy assets key if [ ! -f "$path_assets_key" ]; then echo "Error: assets key $path_assets_key does not exist" else cp "$path_assets_key" "${path_ssh}/" fi # Copy assets public key 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 # 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 ssh-keyscan -H "${GIT_SERVER}" >> "${path_ssh}/known_hosts" echo "git and ssh configured." echo "Programm webhook public key (deploy key):" echo "|------------------------------------------------------------------|" cat "${path_ssh}"/programm-webhook.deploy.ed25519.pub echo "|------------------------------------------------------------------|" echo "Assets webhook public key (deploy key):" echo "|------------------------------------------------------------------|" cat "${path_ssh}"/assets-webhook.deploy.ed25519.pub echo "|------------------------------------------------------------------|" # Initialize assets echo "Initialize assets directory" ./assets-init.sh # Initialize branches echo "Initialize branches of programm" ./programm-init.sh # # Start webhooks # echo "Starting webhooks service" exec /usr/local/bin/webhook -verbose -hooks=/etc/webhook/hooks.json -hotreload