From 734b69463662034fcad5e627b855071370e3022e Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Sat, 31 Oct 2026 21:03:19 +0000 Subject: [PATCH] deploy: onboard indexarr-rs and egressy onto graft-dev (WI-2757) Adds TheDancingDeveloper-org/indexarr-rs and TheDancingDeveloper-org/egressy (both public, main) as followed repositories: mirrors.tsv rows (private=0, metrics ports 17900 and 17901), mirror-indexarr-rs.toml, mirror-egressy.toml and the regenerated compose.onboarded.yml, matching deploy/onboard-repo.sh. Checks: deploy/tests/*.sh pass; compose config -q clean. Graft-Changeset: c5b27a9e4e469220f4613664dd6ec7b49dcee8c48639fa4f17fb9dcd82d1ceb79 Graft-Session: ses_01M69W96763SW6FD6SRA36XQ5P Graft-Work-Item: WI-2757 Claimed-Author: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Graft-Batch: 29 --- deploy/compose.onboarded.yml | 96 ++++++++++++++++++++++++++++++++++ deploy/mirror-egressy.toml | 22 ++++++++ deploy/mirror-indexarr-rs.toml | 22 ++++++++ deploy/mirrors.tsv | 2 + 4 files changed, 142 insertions(+) create mode 100644 deploy/mirror-egressy.toml create mode 100644 deploy/mirror-indexarr-rs.toml diff --git a/deploy/compose.onboarded.yml b/deploy/compose.onboarded.yml index 0cc3b0e..e9cb7c3 100644 --- a/deploy/compose.onboarded.yml +++ b/deploy/compose.onboarded.yml @@ -319,6 +319,96 @@ services: retries: 3 start_period: 20s + graft-mirror-indexarr-rs: + image: ${GRAFT_IMAGE:?set GRAFT_IMAGE (compose --env-file deploy/image.env)} + user: "10001:10001" + read_only: true + init: true + restart: unless-stopped + stop_grace_period: 30s + tmpfs: + - /tmp:rw,noexec,nosuid,size=64m + security_opt: [no-new-privileges:true] + cap_drop: [ALL] + networks: [graft-dev] + container_name: graft-dev-mirror-indexarr-rs + hostname: graft-dev-mirror-indexarr-rs + depends_on: + graft-server: + condition: service_healthy + environment: + GRAFT_DEPLOY_CONFIG_HASH: ${GRAFT_CONFIG_HASH:-} + command: ["graft-mirror", "follow", "--config", "/etc/graft/deploy/mirror.toml"] + ports: + - "${GRAFT_BIND_IP:-127.0.0.1}:${GRAFT_MIRROR_INDEXARR_RS_METRICS_PORT:-17900}:9465" + volumes: + - ${GRAFT_MIRROR_CONFIG_DIR:-.}/mirror-indexarr-rs.toml:/etc/graft/deploy/mirror.toml:ro + - type: bind + source: ${GRAFT_SECRETS_DIR:-/etc/graft}/mirror-token-indexarr-rs + target: /run/secrets/graft-mirror-token + read_only: true + bind: + create_host_path: false + + - type: bind + source: ${GRAFT_SECRETS_DIR:-/etc/graft}/github-token + target: /run/secrets/github-token + read_only: true + bind: + create_host_path: false + - graft-dev-mirror-indexarr-rs:/var/lib/graft/mirror + healthcheck: + test: [CMD, bash, -c, "exec 3<>/dev/tcp/127.0.0.1/9465 && printf 'GET /metrics HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n' >&3 && head -n1 <&3 | grep -q ' 200 '"] + interval: 15s + timeout: 5s + retries: 3 + start_period: 20s + + graft-mirror-egressy: + image: ${GRAFT_IMAGE:?set GRAFT_IMAGE (compose --env-file deploy/image.env)} + user: "10001:10001" + read_only: true + init: true + restart: unless-stopped + stop_grace_period: 30s + tmpfs: + - /tmp:rw,noexec,nosuid,size=64m + security_opt: [no-new-privileges:true] + cap_drop: [ALL] + networks: [graft-dev] + container_name: graft-dev-mirror-egressy + hostname: graft-dev-mirror-egressy + depends_on: + graft-server: + condition: service_healthy + environment: + GRAFT_DEPLOY_CONFIG_HASH: ${GRAFT_CONFIG_HASH:-} + command: ["graft-mirror", "follow", "--config", "/etc/graft/deploy/mirror.toml"] + ports: + - "${GRAFT_BIND_IP:-127.0.0.1}:${GRAFT_MIRROR_EGRESSY_METRICS_PORT:-17901}:9465" + volumes: + - ${GRAFT_MIRROR_CONFIG_DIR:-.}/mirror-egressy.toml:/etc/graft/deploy/mirror.toml:ro + - type: bind + source: ${GRAFT_SECRETS_DIR:-/etc/graft}/mirror-token-egressy + target: /run/secrets/graft-mirror-token + read_only: true + bind: + create_host_path: false + + - type: bind + source: ${GRAFT_SECRETS_DIR:-/etc/graft}/github-token + target: /run/secrets/github-token + read_only: true + bind: + create_host_path: false + - graft-dev-mirror-egressy:/var/lib/graft/mirror + healthcheck: + test: [CMD, bash, -c, "exec 3<>/dev/tcp/127.0.0.1/9465 && printf 'GET /metrics HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n' >&3 && head -n1 <&3 | grep -q ' 200 '"] + interval: 15s + timeout: 5s + retries: 3 + start_period: 20s + volumes: graft-dev-mirror-rustnzb: name: graft-dev-mirror-rustnzb @@ -340,3 +430,9 @@ volumes: graft-dev-mirror-fluent-gpui: name: graft-dev-mirror-fluent-gpui + + graft-dev-mirror-indexarr-rs: + name: graft-dev-mirror-indexarr-rs + + graft-dev-mirror-egressy: + name: graft-dev-mirror-egressy diff --git a/deploy/mirror-egressy.toml b/deploy/mirror-egressy.toml new file mode 100644 index 0000000..b540966 --- /dev/null +++ b/deploy/mirror-egressy.toml @@ -0,0 +1,22 @@ +# Generated by deploy/onboard-repo.sh. Nothing here is secret. +server = "http://graft-server:7878" +repo = "egressy" +upstream = "https://github.com/TheDancingDeveloper-org/egressy.git" +mirror_dir = "/var/lib/graft/mirror/egressy.git" +db = "/var/lib/graft/mirror/egressy.sqlite" +token_file = "/run/secrets/graft-mirror-token" +poll_interval_secs = 15 +metrics_addr = "0.0.0.0:9465" +json_logs = true + +[github] +owner = "TheDancingDeveloper-org" +repo = "egressy" +token_file = "/run/secrets/github-token" +[export] +# Batch commits with no [export.authors] mapping for the land principal (WI-2511). +default_author = "thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>" + +[[lines]] +branch = "main" +line = "main" diff --git a/deploy/mirror-indexarr-rs.toml b/deploy/mirror-indexarr-rs.toml new file mode 100644 index 0000000..b982c58 --- /dev/null +++ b/deploy/mirror-indexarr-rs.toml @@ -0,0 +1,22 @@ +# Generated by deploy/onboard-repo.sh. Nothing here is secret. +server = "http://graft-server:7878" +repo = "indexarr-rs" +upstream = "https://github.com/TheDancingDeveloper-org/indexarr-rs.git" +mirror_dir = "/var/lib/graft/mirror/indexarr-rs.git" +db = "/var/lib/graft/mirror/indexarr-rs.sqlite" +token_file = "/run/secrets/graft-mirror-token" +poll_interval_secs = 15 +metrics_addr = "0.0.0.0:9465" +json_logs = true + +[github] +owner = "TheDancingDeveloper-org" +repo = "indexarr-rs" +token_file = "/run/secrets/github-token" +[export] +# Batch commits with no [export.authors] mapping for the land principal (WI-2511). +default_author = "thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com>" + +[[lines]] +branch = "main" +line = "main" diff --git a/deploy/mirrors.tsv b/deploy/mirrors.tsv index de68913..84baeeb 100644 --- a/deploy/mirrors.tsv +++ b/deploy/mirrors.tsv @@ -9,3 +9,5 @@ graft-mirror-graft|graft|TheDancingDeveloper-org/graft|main|mirror-token-graft|m graft-mirror-komodo|komodo|TheDancingDeveloper-org/komodo|tdd/patches|mirror-token-komodo|mirror-komodo.toml|17897|generated|0 graft-mirror-email-rs|email-rs|TheDancingDeveloper-org/email-rs|main|mirror-token-email-rs|mirror-email-rs.toml|17898|generated|1 graft-mirror-fluent-gpui|fluent-gpui|thedancingdeveloper/fluent-gpui|main|mirror-token-fluent-gpui|mirror-fluent-gpui.toml|17899|generated|0 +graft-mirror-indexarr-rs|indexarr-rs|TheDancingDeveloper-org/indexarr-rs|main|mirror-token-indexarr-rs|mirror-indexarr-rs.toml|17900|generated|0 +graft-mirror-egressy|egressy|TheDancingDeveloper-org/egressy|main|mirror-token-egressy|mirror-egressy.toml|17901|generated|0