#!/bin/bash

tab() {
	sed -e "s/^/$(printf %$1s)/"
}

not_empty() {
	sed -e "/^$/d"
}

define() { IFS='\n' read -r -d '' ${1} || true; }

#ls -l | tab 10

define FILE_OPTS_COMMON <<'EOF'
encoding: gzip+base64
owner: root:root
permissions: '0644'
EOF

print_file() {
	CONTENT=$(cat $1 | gzip | base64)
	echo "- path: $2"
	cat <<<"$FILE_OPTS_COMMON" | not_empty | tab 2
	echo "  content: |"
	cat <<<"$CONTENT" | tab 4
	echo "    "
}

gen__write_files() {
	echo "write_files:"
	print_file src/srv1cv83@.service /etc/systemd/system/srv1cv83@.service | tab 2
	print_file src/srv1cv83-ras@.service /etc/systemd/system/srv1cv83-ras@.service | tab 2
	print_file src/apache-proxy /etc/nginx/sites-available/apache-proxy | tab 2
}

pushd config >/dev/null 2>&1
gen__write_files | tab 4
popd >/dev/null 2>&1