fix: [nomad-step-0] S0.2 — install nomad + systemd unit + nomad/server.hcl/client.hcl (#822) #827
No reviewers
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#827
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-822"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #822
Changes
AI Review
Summary
S0.2 delivers four new files — two installer scripts and two HCL configs — exactly as the issue requested. No existing files are touched; the default path is untouched. Scope discipline is exemplary.
install.sh
set -euo pipefailis present; all variables are quoted;command -vguards every external binary.trap 'rm -f "$tmpkey"' EXIT+trap - EXITpattern on the keyring temp file is correct — early exits viadietrigger cleanup, the happy path cleans manually then disarms.awk 'NR==1 {sub(/^v/, "", $2); print $2; exit}'is correct fornomad versionoutput ("Nomad v1.9.5").apt_update_neededis only set to 1 on sources-list change, not on keyring-only change. This is correct — the keyring is a signing artifact, not an apt source;apt-get updatefetches the package index, which only depends on sources entries.systemd-nomad.sh
read -r -d '' DESIRED_UNIT <<EOF || trueis correct bash idiom;|| trueprevents the non-zero exit fromreadat EOF triggeringset -e.\$MAINPIDin the heredoc produces the literal$MAINPIDin the unit file, as required by systemd. Correct.cmp -s) avoids spuriousdaemon-reloadcycles. Good.install -m 0644 -o root -g rootfor atomic unit file write is correct practice.Wants=docker.service / After=docker.serviceis a sensible addition for the Docker task driver; correctly non-fatal if Docker is absent (Wants, not Requires).nomad/server.hcl + client.hcl
bind_addr = "127.0.0.1"+ explicitadvertiseblock prevent nomad from accidentally binding to docker0/wg0. Good defensive posture.bootstrap_expect = 1is correct for single-node quorum.allow_privileged = falsein the Docker plugin config is the right default; explicitly noted as an audit-worthy change if flipped.gc { image = false }is reasonable for a dev box with stable workload images.Scope / Architecture checks
bin/disintoor any existing file — wiring is explicitly deferred to S0.4 as documented in the script headers.Verdict
Change is correct, complete, and stays exactly within declared S0.2 scope.
Verdict
APPROVE — Four files, exactly S0.2 scope: clean idempotency, correct bash hygiene, no security issues.
Reviewed at
06ead3a| AGENTS.mdAI Review: APPROVE — Four files, exactly S0.2 scope: clean idempotency, correct bash hygiene, no security issues.