From 31e28759659b3e6a6d651e9f17960cdfdf573f56 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 19:27:43 +0200 Subject: [PATCH 1/7] dns/write --- spcd/bootstrap.sh | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 1d0592e..8df7a3b 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -199,6 +199,26 @@ _spcd_txt_pick() { # │ functions │ # ╰───────────╯ +spcd_dns() { + local index name value + case "${1}" in + "write") + local text + while true; do + index=$((index + 1)) + name="SPCD_DNS_${index}" + eval "value=\"\${name}\"" + [ -n "${value}" ] || break + text="${text}\ +nameserver ${value} +" + done + spcd_os_write "/etc/resolv.conf" "${text}" + ;; + *) ;; + esac +} + # ╭───────────┬───────╮ # │ functions │ error │ # ╰───────────┴───────╯ @@ -896,16 +916,7 @@ spcd_query_package() { spcd_step__dns() { spcd_step "DNS" - local index value text - while true; do - index=$((index + 1)) - eval "value=\"\${SPCD_DNS_${index}}\"" - [ -n "${value}" ] || break - text="${text}\ -nameserver ${value} -" - done - spcd_os_write "/etc/resolv.conf" "${text}" + spcd_dns "write" } # ╭──────┬──────────╮ From f33bc6bbabb8166a3078ab08469513371da2d93c Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 19:31:30 +0200 Subject: [PATCH 2/7] dns/list --- spcd/bootstrap.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 8df7a3b..75b8d60 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -202,6 +202,15 @@ _spcd_txt_pick() { spcd_dns() { local index name value case "${1}" in + "list") + while true; do + index=$((index + 1)) + name="SPCD_DNS_${index}" + eval "value=\"\${name}\"" + [ -n "${value}" ] || break + echo "${name} = \"${value}\"" + done + ;; "write") local text while true; do @@ -454,6 +463,7 @@ SPCD_PM_ZYPPER="zypper" # ╰──────┴─────────────╯ spcd_step__environment_defaults_print() { + spcd_dns "list" set -- \ \ \ From ccc7619a6b33f01873005465a4a18430741ca31b Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 19:32:05 +0200 Subject: [PATCH 3/7] tasks/dns --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 7c38b7f..01e5d6c 100644 --- a/readme.md +++ b/readme.md @@ -243,7 +243,6 @@ Handle project workflows in a unified way: * test * variables * CA_n - * DNS_n #### Shell → Python From e41d0e976f5d3b9bfaea3239134e7befc2b0fe33 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 19:39:12 +0200 Subject: [PATCH 4/7] dns/printenv --- spcd/bootstrap.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 75b8d60..99764146 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -208,7 +208,7 @@ spcd_dns() { name="SPCD_DNS_${index}" eval "value=\"\${name}\"" [ -n "${value}" ] || break - echo "${name} = \"${value}\"" + spcd_os_printenv "${name}" done ;; "write") @@ -465,8 +465,6 @@ SPCD_PM_ZYPPER="zypper" spcd_step__environment_defaults_print() { spcd_dns "list" set -- \ - \ - \ "GIT_RWX" \ "GIT_SPCD" \ "GIT_SHUNIT" \ From c2b3a78617efe427667e784b8ca28522d9de8189 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 21:00:03 +0200 Subject: [PATCH 5/7] spcd_ca --- spcd/bootstrap.sh | 56 ++++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 99764146..8a99eff 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -199,6 +199,36 @@ _spcd_txt_pick() { # │ functions │ # ╰───────────╯ +spcd_ca() { + local index name value + local grep="\(After\|Before\|Issuer\|Signature Algorithm\|Subject:\)" + case "${1}" in + "list") + while true; do + index=$((index + 1)) + name="SPCD_CA_${index}" + eval "value=\"\${name}\"" + [ -n "${value}" ] || break + echo "${name} =" + echo "${value}" | + openssl x509 -noout -text | + grep "${grep}" + done + ;; + "write") + local root="${2}" + while true; do + index=$((index + 1)) + name="SPCD_CA_${index}" + eval "value=\"\${name}\"" + [ -n "${value}" ] || break + spcd_os_write "${root}/${index}.crt" "${value}" + done + ;; + *) ;; + esac +} + spcd_dns() { local index name value case "${1}" in @@ -243,19 +273,6 @@ spcd_error_os() { exit "${_SPCD_ERROR_OS}" } -# ╭───────────┬─────────╮ -# │ functions │ openssl │ -# ╰───────────┴─────────╯ - -spcd_openssl_x509() { - if [ -f "${1}" ]; then - openssl x509 \ - -in "${1}" \ - -noout -text | - grep "\(After\|Before\|Issuer\|Signature A\|Subject:\)" - fi -} - # ╭───────────┬────╮ # │ functions │ os │ # ╰───────────┴────╯ @@ -463,6 +480,7 @@ SPCD_PM_ZYPPER="zypper" # ╰──────┴─────────────╯ spcd_step__environment_defaults_print() { + spcd_ca "list" spcd_dns "list" set -- \ "GIT_RWX" \ @@ -1171,7 +1189,7 @@ spcd_step__ca_install_package() { spcd_step__ca_write_certificates() { spcd_step "Write certificates" - local root index text path + local root case "${SPCD_OS_ID}" in "${SPCD_OS_ALMA}" | "${SPCD_OS_FEDORA}" | "${SPCD_OS_ROCKY}") root="/etc/pki/ca-trust/source/anchors" @@ -1188,15 +1206,7 @@ spcd_step__ca_write_certificates() { *) ;; esac spcd_os_mkdir "${root}" - while true; do - index=$((index + 1)) - eval "text=\"\${SPCD_CA_${index}}\"" - [ -n "${text}" ] || break - path="${root}/${index}.crt" - spcd_split - spcd_os_write "${path}" "${text}" - spcd_openssl_x509 "${path}" - done + spcd_ca "write" "${root}" } spcd_step__ca_update_certificates() { From 33f0bab4ef9519693557883a54a5d5e727b964c3 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 21:00:28 +0200 Subject: [PATCH 6/7] readme --- readme.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/readme.md b/readme.md index 01e5d6c..ff2792b 100644 --- a/readme.md +++ b/readme.md @@ -241,8 +241,6 @@ Handle project workflows in a unified way: * disable & enable https * persist locales * test -* variables - * CA_n #### Shell → Python From 6a202f7f75f63d3485c9a412723f4252fd49e0b9 Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Sun, 1 Sep 2024 21:02:20 +0200 Subject: [PATCH 7/7] readme/codecs --- readme.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index ff2792b..1b93a7f 100644 --- a/readme.md +++ b/readme.md @@ -236,8 +236,11 @@ Handle project workflows in a unified way: * pacman * zypper * repositories + * codecs + * epel + * fedora + * opensuse * opensuse - * codecs repository * disable & enable https * persist locales * test