From a796502837329d174ccce735a9fc16710debb5c4 Mon Sep 17 00:00:00 2001 From: Micah Villmow <4211002+mvillmow@users.noreply.github.com> Date: Sat, 16 May 2026 00:12:30 -0700 Subject: [PATCH 1/4] fix(pixi): rename [project] table to [workspace] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `[project]` table in `pixi.toml` is deprecated; pixi emits a warning on every invocation telling us to use `[workspace]`. Rename the single top-level table — non-breaking, identical schema. closes #308 closes #305 closes #404 closes #284 closes #274 --- pixi.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pixi.toml b/pixi.toml index 7e3a8f9..e8febd8 100644 --- a/pixi.toml +++ b/pixi.toml @@ -1,4 +1,4 @@ -[project] +[workspace] name = "project-argus" version = "0.2.0" description = "Observability stack for the HomericIntelligence mesh" From bb095bdfdccc25096ed03e4a6edc2542fe2e4338 Mon Sep 17 00:00:00 2001 From: Micah Villmow <4211002+mvillmow@users.noreply.github.com> Date: Sat, 16 May 2026 00:12:41 -0700 Subject: [PATCH 2/4] chore(gitignore): create .worktrees/ landing zone with .gitkeep AGENTS.md designates `.worktrees/` as the landing zone for worktree-isolated agents, but the directory did not exist and was not referenced in `.gitignore`. Create the directory with a `.gitkeep` and add `.worktrees/*` (with a `!.gitkeep` negation) so git-managed worktrees created by `git worktree add` are not accidentally staged. closes #381 --- .gitignore | 2 ++ .worktrees/.gitkeep | 0 2 files changed, 2 insertions(+) create mode 100644 .worktrees/.gitkeep diff --git a/.gitignore b/.gitignore index 0b03d58..7829721 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ secrets/ __pycache__/ *.pyc *.pyo +.worktrees/* +!.worktrees/.gitkeep diff --git a/.worktrees/.gitkeep b/.worktrees/.gitkeep new file mode 100644 index 0000000..e69de29 From 8b09325d463f69ed2503170d7633ab0a062e2e19 Mon Sep 17 00:00:00 2001 From: Micah Villmow <4211002+mvillmow@users.noreply.github.com> Date: Sat, 16 May 2026 00:13:03 -0700 Subject: [PATCH 3/4] fix(scripts): add curl --connect-timeout and -m to import-dashboards.sh If Grafana is not running the default curl connection timeout is several minutes on some systems. Adding `--connect-timeout 5 -m 10` makes the failure fast and the error message actionable. closes #411 --- scripts/import-dashboards.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/import-dashboards.sh b/scripts/import-dashboards.sh index ce1f371..28e6d78 100755 --- a/scripts/import-dashboards.sh +++ b/scripts/import-dashboards.sh @@ -27,7 +27,8 @@ fi for f in "${files[@]}"; do echo "Importing $(basename "$f") ..." payload=$(jq -n --slurpfile dash "$f" '{"dashboard": $dash[0], "overwrite": true, "folderId": 0}') - http_code=$(curl -s -o /tmp/grafana_import_resp.json -w "%{http_code}" \ + http_code=$(curl -s --connect-timeout 5 -m 10 \ + -o /tmp/grafana_import_resp.json -w "%{http_code}" \ -u "$GRAFANA_AUTH" \ -H "Content-Type: application/json" \ -d "$payload" \ From 64cae006bd6e9ca5fe884bd3a3065649159ba3fa Mon Sep 17 00:00:00 2001 From: Micah Villmow <4211002+mvillmow@users.noreply.github.com> Date: Sat, 16 May 2026 00:13:36 -0700 Subject: [PATCH 4/4] docs(claude): document HOSTNAME requirement for promtail host label `promtail.yml` substitutes `${HOSTNAME:-hermes}` into the Loki `host` label. Operators deploying on a new host need to know to set `hostname:` in `docker-compose.yml` (or set `HOSTNAME` explicitly) so each host's logs stay distinguishable in Loki. Document this in the Environment Variables section of CLAUDE.md. closes #351 --- CLAUDE.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 1c2b556..fcd297d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -70,6 +70,13 @@ Optional overrides (not required by `just start`): - `PROMTAIL_HOST_LABEL` — overrides the `host` label Promtail attaches to log streams. Defaults to the container's `$HOSTNAME`. +- `HOSTNAME` — Promtail's `promtail.yml` substitutes `${HOSTNAME:-hermes}` into + the Loki `host` label. The Promtail container inherits `HOSTNAME` from the + `hostname:` field set on the `promtail` service in `docker-compose.yml`. When + deploying on a new host, set `hostname:` in `docker-compose.yml` (or set the + `HOSTNAME` env var explicitly) so each host's logs are distinguishable in + Loki. If unset, Promtail falls back to the container's runtime ID, which + changes on every restart and is not human-readable. - `CONTAINER_CMD` — runtime used by `scripts/backup.sh` and `scripts/restore.sh`. Defaults to `docker` (auto-promoted to `podman` if `podman-compose` is on `$PATH`). Justfile recipes pass `CONTAINER_CMD={{container_cmd}}`