provisioning/taskservs/coredns/default/prepare

56 lines
1.8 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env nu
# Info: Prepare for coredns installation
# Author: JesusPerezLorenzo
# Release: 1.0.2
# Date: 26-02-2024
use lib_provisioning/cmd/env.nu *
use lib_provisioning/cmd/lib.nu *
use lib_provisioning/utils/ui.nu *
print $"(_ansi green_bold)CoreDNS(_ansi reset) with ($env.PROVISIONING_VARS) "
let run_root = $env.PROVISIONING_WK_ENV_PATH
if $env.PROVISIONING_RESOURCES == null {
print $"๐Ÿ›‘ PROVISIONING_RESOURCES not found"
exit 1
}
#let resources_path = ($env.PROVISIONING_SETTINGS_SRC_PATH | path join "resources")
let resources_path = ($run_root | path join "resources")
if not ($resources_path | path exists) { ^mkdir -p $resources_path }
if not ($resources_path | path exists) {
print $"๐Ÿ›‘ Path ($resources_path | path dirname) not found"
exit 1
}
let dns_tpl = ($run_root | path join "dns.tpl")
if not ($dns_tpl | path exists) {
print $"๐Ÿ›‘ dns.tpl not found in ($run_root)"
exit 1
}
let defs = load_defs
$defs.taskserv.entries | enumerate | each {|it|
let filename = ($it.item | get -i file | default "")
let domain = ($it.item | get -i domain | default "")
if $filename != "" and $domain != "" {
let resources_filename_path = ($resources_path | path join $"($filename | path basename).j2")
cp $dns_tpl $resources_filename_path
if not ($resources_filename_path | path exists) {
print $"๐Ÿ›‘ Path ($resources_filename_path) not found for ($it.index)"
exit 1
}
(open -r $resources_filename_path | str replace --all "DOMAIN_NAME" $domain | str replace --all "DOMAIN_POS" $"($it.index)"
| save --force $resources_filename_path )
#^sed -i $"\"s/DOMAIN_NAME/($domain)/g\"" $resources_filename_path
#^sed -i $"\"s/DOMAIN_POS/($it.index)/g\"" $resources_filename_path
# Clean up and compact lines
#^sed -i -e '/\S/!d' $resources_filename_path #2>/dev/null
}
}