Skip to content

Commit 961126c

Browse files
committed
docs: remove AWS cloud deployment (ECS Fargate)
- Remove AWS ECS Fargate deployment guide and CloudFormation template (`deploy/aws/`) - Remove skill documentation for AWS cloud layout from `.claude/skills/stitch/SKILL.md` and `.codex/skills/stitch/SKILL.md` - Remove GitHub Actions workflow for publishing CloudFormation template (`publish-template.yml`) - Remove cloud installation guide reference from main README - Remove AWS-specific entries from `.dockerignore` (Terraform state files) - Update skill docs to reference only Docker fleet for "Start / resume live" option - Update layout detection docs to remove mention of cloud layout - Bump version to 0.1.129
1 parent 978b9ce commit 961126c

16 files changed

Lines changed: 24 additions & 995 deletions

.claude/skills/stitch/SKILL.md

Lines changed: 6 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ nothing is set up yet, installs the panel only — bot config happens in the bro
1919
3. **If the Stitch panel is installed**, prefer pointing the operator at the web
2020
UI for add/start/stop/settings/approvals/logs. Only drive the API or Docker
2121
CLI if they ask you to do it from the terminal.
22-
4. **If another layout is installed** (desktop app, local service, compose-only,
23-
cloud), ask what they want to do with `AskUserQuestion`, **one question at a
24-
time**. Never guess the action from a vague request — ask. Wait for each
25-
answer before the next question or any command.
22+
4. **If another layout is installed** (desktop app, local service, compose-only),
23+
ask what they want to do with `AskUserQuestion`, **one question at a time**.
24+
Never guess the action from a vague request — ask. Wait for each answer
25+
before the next question or any command.
2626

2727
Question-tool rules (same as the install prompt): one question per call, multiple
2828
choice, most-likely option first, and the tool always adds a free-form answer so
@@ -37,8 +37,7 @@ type anything else.
3737

3838
First question — "What do you want to do with Stitch?":
3939

40-
- **Start / resume live**[Start](#start) (cloud: [AWS cloud](#aws-cloud-ecs-fargate),
41-
Docker fleet: [Docker fleet](#docker-fleet))
40+
- **Start / resume live**[Start](#start) (Docker fleet: [Docker fleet](#docker-fleet))
4241
- **Stop / pause**[Stop](#stop)
4342
- **Inspect or change it** — status/logs, parameters, approvals, or upgrade
4443

@@ -60,8 +59,7 @@ detected, honoring the golden rules throughout.
6059

6160
Figure out which layout is in use *before* doing anything. Check for the panel
6261
first — that is the default install path now. A missing local `stitch` binary
63-
does **not** mean "not installed" if `stitch-panel` is running, and the cloud
64-
layout has no local binary by design.
62+
does **not** mean "not installed" if `stitch-panel` is running.
6563

6664
Layouts, in the order to check:
6765

@@ -77,8 +75,6 @@ Layouts, in the order to check:
7775
login item (`--autostart`); the panel restores bots that were left running.
7876
- **Foreground / manual** or **local service**: `~/Stitch/` (or
7977
`/etc/stitch-bot/` on Linux systemd) with `stitch.toml` / key / env.
80-
- **AWS cloud** (ECS Fargate): operator-owned `deploy/aws` stack. See
81-
[AWS cloud](#aws-cloud-ecs-fargate).
8278

8379
Detect it: `docker ps --filter name=stitch-panel` (or image
8480
`textile-stitch-panel`) means the panel is installed. Bot containers show under
@@ -175,55 +171,6 @@ Then restart: `sudo systemctl restart stitch`, or restart your foreground run. I
175171
`--update` reports "no install receipt found", it was an archive install — grab
176172
the latest binary from the GitHub Release instead.
177173

178-
## AWS cloud (ECS Fargate)
179-
180-
For the operator-owned AWS stack (`deploy/aws`), there's no local binary —
181-
everything is `aws` CLI against the operator's account. Substitute the bot name
182-
you deployed under (default `stitch-operator`; the README example uses
183-
`stitch-operator-a`). The full runbook is `deploy/aws/README.md`.
184-
185-
- **Start / resume live**: set the service to one task.
186-
187-
```bash
188-
aws ecs update-service --cluster <bot>-cluster --service <bot>-stitch --desired-count 1
189-
```
190-
191-
- **Pause** (no infra teardown): desired count `0`. The stack also ships at `0`,
192-
so a fresh deploy is paused until you do this.
193-
194-
```bash
195-
aws ecs update-service --cluster <bot>-cluster --service <bot>-stitch --desired-count 0
196-
```
197-
198-
- **Logs**: `aws logs tail /ecs/<bot>/stitch --follow`.
199-
200-
- **Change parameters**: the config is the `STITCH_CONFIG_TOML` field of a JSON
201-
secret that *also* holds `STITCH_PRIVATE_KEY`, and `put-secret-value` replaces
202-
the **whole** value — so you must merge, not overwrite. Pause to `0`, then run
203-
the merge helper (it never prints `SecretString`, so the hot wallet key stays
204-
out of the agent transcript):
205-
206-
```bash
207-
# From a checkout of textile-stitch / packages/stitch-bot:
208-
scripts/merge-stitch-secret-config.sh "$secret_arn" stitch.toml
209-
```
210-
211-
Do **not** `get-secret-value` the blob into a shell variable, and do not `echo`
212-
or `jq` it into chat. Then resume to `1`. Keep `DesiredCount=0` while changing
213-
config or rotating keys. `$secret_arn` is the stack's `SecretArn` output (see
214-
`deploy/aws/README.md`).
215-
216-
- **Approvals**: a one-off ECS task with an `approve` command override (not
217-
`systemctl`/local). See the `aws ecs run-task` block in `deploy/aws/README.md`;
218-
add `--exact` to the override for capped approvals.
219-
220-
- **Upgrade**: bump the pinned `ContainerImage` (use an immutable `sha-*` tag for
221-
production) and redeploy the stack; the service pulls the new image on next task
222-
start.
223-
224-
Same golden rules apply: never put the key in a file or on a command line (it's a
225-
Secrets Manager value), and dry-run/pause around any pricing or sizing change.
226-
227174
## Docker fleet
228175

229176
Several bots on one host, one container each. Two ways it's driven, and it matters

.codex/skills/stitch/SKILL.md

Lines changed: 6 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ nothing is set up yet, installs the panel only — bot config happens in the bro
2121
3. **If the Stitch panel is installed**, prefer pointing the operator at the web
2222
UI for add/start/stop/settings/approvals/logs. Only drive the API or Docker
2323
CLI if they ask you to do it from the terminal.
24-
4. **If another layout is installed** (desktop app, local service, compose-only,
25-
cloud), ask what they want to do, **one question at a time**. Never guess the
26-
action from a vague request — ask. Wait for each answer before the next
27-
question or any command.
24+
4. **If another layout is installed** (desktop app, local service, compose-only),
25+
ask what they want to do, **one question at a time**. Never guess the action
26+
from a vague request — ask. Wait for each answer before the next question or
27+
any command.
2828

2929
Question-tool rules (same as the install prompt): use `request_user_input` in Plan
3030
mode — one question per call, multiple choice, most-likely option first; it adds a
@@ -38,8 +38,7 @@ the operator can type anything else.
3838

3939
First question — "What do you want to do with Stitch?":
4040

41-
- **Start / resume live**[Start](#start) (cloud: [AWS cloud](#aws-cloud-ecs-fargate),
42-
Docker fleet: [Docker fleet](#docker-fleet))
41+
- **Start / resume live**[Start](#start) (Docker fleet: [Docker fleet](#docker-fleet))
4342
- **Stop / pause**[Stop](#stop)
4443
- **Inspect or change it** — status/logs, parameters, approvals, or upgrade
4544

@@ -61,8 +60,7 @@ detected, honoring the golden rules throughout.
6160

6261
Figure out which layout is in use *before* doing anything. Check for the panel
6362
first — that is the default install path now. A missing local `stitch` binary
64-
does **not** mean "not installed" if `stitch-panel` is running, and the cloud
65-
layout has no local binary by design.
63+
does **not** mean "not installed" if `stitch-panel` is running.
6664

6765
Layouts, in the order to check:
6866

@@ -78,8 +76,6 @@ Layouts, in the order to check:
7876
login item (`--autostart`); the panel restores bots that were left running.
7977
- **Foreground / manual** or **local service**: `~/Stitch/` (or
8078
`/etc/stitch-bot/` on Linux systemd) with `stitch.toml` / key / env.
81-
- **AWS cloud** (ECS Fargate): operator-owned `deploy/aws` stack. See
82-
[AWS cloud](#aws-cloud-ecs-fargate).
8379

8480
Detect it: `docker ps --filter name=stitch-panel` (or image
8581
`textile-stitch-panel`) means the panel is installed. Bot containers show under
@@ -176,55 +172,6 @@ Then restart: `sudo systemctl restart stitch`, or restart your foreground run. I
176172
`--update` reports "no install receipt found", it was an archive install — grab
177173
the latest binary from the GitHub Release instead.
178174

179-
## AWS cloud (ECS Fargate)
180-
181-
For the operator-owned AWS stack (`deploy/aws`), there's no local binary —
182-
everything is `aws` CLI against the operator's account. Substitute the bot name
183-
you deployed under (default `stitch-operator`; the README example uses
184-
`stitch-operator-a`). The full runbook is `deploy/aws/README.md`.
185-
186-
- **Start / resume live**: set the service to one task.
187-
188-
```bash
189-
aws ecs update-service --cluster <bot>-cluster --service <bot>-stitch --desired-count 1
190-
```
191-
192-
- **Pause** (no infra teardown): desired count `0`. The stack also ships at `0`,
193-
so a fresh deploy is paused until you do this.
194-
195-
```bash
196-
aws ecs update-service --cluster <bot>-cluster --service <bot>-stitch --desired-count 0
197-
```
198-
199-
- **Logs**: `aws logs tail /ecs/<bot>/stitch --follow`.
200-
201-
- **Change parameters**: the config is the `STITCH_CONFIG_TOML` field of a JSON
202-
secret that *also* holds `STITCH_PRIVATE_KEY`, and `put-secret-value` replaces
203-
the **whole** value — so you must merge, not overwrite. Pause to `0`, then run
204-
the merge helper (it never prints `SecretString`, so the hot wallet key stays
205-
out of the agent transcript):
206-
207-
```bash
208-
# From a checkout of textile-stitch / packages/stitch-bot:
209-
scripts/merge-stitch-secret-config.sh "$secret_arn" stitch.toml
210-
```
211-
212-
Do **not** `get-secret-value` the blob into a shell variable, and do not `echo`
213-
or `jq` it into chat. Then resume to `1`. Keep `DesiredCount=0` while changing
214-
config or rotating keys. `$secret_arn` is the stack's `SecretArn` output (see
215-
`deploy/aws/README.md`).
216-
217-
- **Approvals**: a one-off ECS task with an `approve` command override (not
218-
`systemctl`/local). See the `aws ecs run-task` block in `deploy/aws/README.md`;
219-
add `--exact` to the override for capped approvals.
220-
221-
- **Upgrade**: bump the pinned `ContainerImage` (use an immutable `sha-*` tag for
222-
production) and redeploy the stack; the service pulls the new image on next task
223-
start.
224-
225-
Same golden rules apply: never put the key in a file or on a command line (it's a
226-
Secrets Manager value), and dry-run/pause around any pricing or sizing change.
227-
228175
## Docker fleet
229176

230177
Several bots on one host, one container each. Two ways it's driven, and it matters

.dockerignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ target
44
*.local.toml
55
stitch.key
66
stitch.env
7-
deploy/aws/.terraform
8-
deploy/aws/terraform.tfstate*
97

108
# The panel's frontend is built inside the image's node stage. Shipping a local
119
# node_modules into the build context would be slow and, on a different host

.github/workflows/publish-template.yml

Lines changed: 0 additions & 61 deletions
This file was deleted.

.textile-monorepo-source

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2764cc1afff005b08b549acdd7a718148896c05f
1+
c451adbe7bf0f04d515a4c223a15afc685b2d0fe

.textile-stitch-release-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.1.128
1+
0.1.129

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "stitch-bot"
3-
version = "0.1.128"
3+
version = "0.1.129"
44
edition = "2021"
55
description = "Stitch — Textile filler-network operator bot; market-makes the filler order book with signed UniswapX limit orders."
66
license = "AGPL-3.0-or-later"

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ Everything else — custom reverse proxy, building from source — is in
9494

9595
- [Install with an AI agent](#install-with-an-ai-agent) — your coding agent
9696
installs the panel; you finish bot setup in the web UI.
97-
- [Cloud (AWS Fargate)](docs/install-cloud.md) — operator-owned managed deployment.
9897
- [Docker](docs/install-docker.md) — the bot image on its own, without Stitch.
9998
- [Stitch (web)](docs/install-panel.md) — the advanced and manual routes for
10099
Option 2 above.

0 commit comments

Comments
 (0)