mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
chore(ci): clean up nf-generate
This commit is contained in:
parent
2687644d41
commit
e3d22ca33f
1 changed files with 36 additions and 5 deletions
|
|
@ -1,13 +1,44 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
|
NF_GENERATE_EVAL_ARGS=(${NF_GENERATE_EVAL_ARGS-})
|
||||||
|
NF_GENERATE_EVAL_ARGS+=(--show-trace)
|
||||||
|
|
||||||
|
nf-eval() {
|
||||||
|
local EVAL_FMT=$1 EVAL_ATTR=$2 EVAL_OUT=$3 \
|
||||||
|
EVAL_ARGS=()
|
||||||
|
shift 3
|
||||||
|
|
||||||
|
if [[ $EVAL_ATTR != *#* ]]; then
|
||||||
|
EVAL_ATTR="${NF_CONFIG_ROOT}#${EVAL_ATTR}"
|
||||||
|
fi
|
||||||
|
EVAL_ARGS=(
|
||||||
|
"${NF_GENERATE_EVAL_ARGS[@]}"
|
||||||
|
"$EVAL_FMT"
|
||||||
|
"$EVAL_ATTR"
|
||||||
|
"$@"
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ $EVAL_OUT != /* ]]; then
|
||||||
|
EVAL_OUT="$NF_CONFIG_ROOT/$EVAL_OUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $EVAL_FMT = --json ]]; then
|
||||||
|
nix eval "${EVAL_ARGS[@]}" \
|
||||||
|
| jq -M .
|
||||||
|
else
|
||||||
|
nix eval "${EVAL_ARGS[@]}"
|
||||||
|
fi > "$EVAL_OUT"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
for node in reisen; do
|
for node in reisen; do
|
||||||
nix eval --json "${NF_CONFIG_ROOT}#lib.generate.nodes.$node.users" | jq -M . > "$NF_CONFIG_ROOT/systems/$node/users.json"
|
nf-eval --json "lib.generate.nodes.$node.users" "systems/$node/users.json"
|
||||||
nix eval --json "${NF_CONFIG_ROOT}#lib.generate.nodes.$node.systems" | jq -M . > "$NF_CONFIG_ROOT/systems/$node/systems.json"
|
nf-eval --json "lib.generate.nodes.$node.systems" "systems/$node/systems.json"
|
||||||
nix eval --json "${NF_CONFIG_ROOT}#lib.generate.nodes.$node.extern" | jq -M . > "$NF_CONFIG_ROOT/systems/$node/extern.json"
|
nf-eval --json "lib.generate.nodes.$node.extern" "systems/$node/extern.json"
|
||||||
nix eval --raw "${NF_CONFIG_ROOT}#lib.generate.nodes.$node.ssh.root.authorizedKeys.text" > "$NF_CONFIG_ROOT/systems/$node/root.authorized_keys"
|
nf-eval --raw "lib.generate.nodes.$node.ssh.root.authorizedKeys.text" "systems/$node/root.authorized_keys"
|
||||||
done
|
done
|
||||||
nix eval --json "${NF_CONFIG_ROOT}#lib.generate.systems" | jq -M . > "$NF_CONFIG_ROOT/ci/systems.json"
|
nf-eval --json "lib.generate.systems" "ci/systems.json"
|
||||||
|
|
||||||
for ciconfig in "${NF_CONFIG_FILES[@]}"; do
|
for ciconfig in "${NF_CONFIG_FILES[@]}"; do
|
||||||
echo "processing ${ciconfig}..." >&2
|
echo "processing ${ciconfig}..." >&2
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue