Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
4bcbeaf1a8
|
|||
|
235dfba462
|
Executable
+40
@@ -0,0 +1,40 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT="$(git rev-parse --show-toplevel)/scripts/util/sanitize_node.sh"
|
||||||
|
|
||||||
|
FILES=$(git diff --cached --name-only --diff-filter=ACM -- 'nodes/*.json' || true)
|
||||||
|
|
||||||
|
[[ -z "$FILES" ]] && exit 0
|
||||||
|
|
||||||
|
DIRTY=0
|
||||||
|
|
||||||
|
while IFS= read -r file; do
|
||||||
|
staged_tmp=$(mktemp)
|
||||||
|
sanitized_tmp=$(mktemp)
|
||||||
|
|
||||||
|
# 1. get staged version
|
||||||
|
git show ":$file" > "$staged_tmp"
|
||||||
|
|
||||||
|
# 2. sanitize IN PLACE (on temp copy)
|
||||||
|
cp "$staged_tmp" "$sanitized_tmp"
|
||||||
|
"$SCRIPT" "$sanitized_tmp"
|
||||||
|
|
||||||
|
# 3. if sanitizer changed file, update working tree
|
||||||
|
if ! diff -q "$staged_tmp" "$sanitized_tmp" >/dev/null; then
|
||||||
|
cp "$sanitized_tmp" "$file"
|
||||||
|
echo "Sanitized: $file"
|
||||||
|
DIRTY=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f "$staged_tmp" "$sanitized_tmp"
|
||||||
|
|
||||||
|
done <<< "$FILES"
|
||||||
|
|
||||||
|
if [[ "$DIRTY" -ne 0 ]]; then
|
||||||
|
echo ""
|
||||||
|
echo "Commit paused, sanitized files must be re-staged."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -28,6 +28,10 @@ Clone this repository, `cd` into it, and run:
|
|||||||
|
|
||||||
bundle install
|
bundle install
|
||||||
|
|
||||||
|
### Enable Git hooks
|
||||||
|
|
||||||
|
git config core.hooksPath .githooks
|
||||||
|
|
||||||
## Common tasks
|
## Common tasks
|
||||||
|
|
||||||
### Bootstrap a new host server
|
### Bootstrap a new host server
|
||||||
|
|||||||
@@ -72,4 +72,4 @@
|
|||||||
"role[ldap_client]",
|
"role[ldap_client]",
|
||||||
"role[ejabberd]"
|
"role[ejabberd]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -72,4 +72,4 @@
|
|||||||
"role[ldap_client]",
|
"role[ldap_client]",
|
||||||
"role[ejabberd]"
|
"role[ejabberd]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -63,4 +63,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[garage_node]"
|
"role[garage_node]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -63,4 +63,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[garage_node]"
|
"role[garage_node]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -63,4 +63,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[garage_node]"
|
"role[garage_node]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -61,4 +61,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[garage_node]"
|
"role[garage_node]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+1
-1
@@ -63,4 +63,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[garage_node]"
|
"role[garage_node]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+1
-1
@@ -63,4 +63,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[garage_node]"
|
"role[garage_node]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+1
-1
@@ -76,4 +76,4 @@
|
|||||||
"role[gitea]",
|
"role[gitea]",
|
||||||
"role[gitea_actions_runner]"
|
"role[gitea_actions_runner]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+1
-1
@@ -55,4 +55,4 @@
|
|||||||
"role[base]",
|
"role[base]",
|
||||||
"role[kvm_host]"
|
"role[kvm_host]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -61,4 +61,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[dirsrv_supplier]"
|
"role[dirsrv_supplier]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -55,4 +55,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[dirsrv_supplier]"
|
"role[dirsrv_supplier]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -56,4 +56,4 @@
|
|||||||
"role[base]",
|
"role[base]",
|
||||||
"recipe[kosmos_kvm::host]"
|
"recipe[kosmos_kvm::host]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -68,4 +68,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[email_server]"
|
"role[email_server]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -66,4 +66,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[postgresql_primary]"
|
"role[postgresql_primary]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -61,4 +61,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[postgresql_replica]"
|
"role[postgresql_replica]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -59,4 +59,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[prometheus_server]"
|
"role[prometheus_server]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -59,4 +59,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[remotestorage_discourse]"
|
"role[remotestorage_discourse]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -58,4 +58,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[rskj_mainnet]"
|
"role[rskj_mainnet]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -57,4 +57,4 @@
|
|||||||
"role[base]",
|
"role[base]",
|
||||||
"role[kvm_guest]"
|
"role[kvm_guest]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -58,4 +58,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[rskj_testnet]"
|
"role[rskj_testnet]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -57,4 +57,4 @@
|
|||||||
"role[kvm_guest]",
|
"role[kvm_guest]",
|
||||||
"role[rskj_testnet]"
|
"role[rskj_testnet]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+1
-1
@@ -70,4 +70,4 @@
|
|||||||
"role[strfry]",
|
"role[strfry]",
|
||||||
"role[blossom]"
|
"role[blossom]"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user