# feat\(infra\): deploy the dashboard to Cloudflare with Alchemy · flambo/atlantis

[View on GitCafe](https://git.cafe/flambo/atlantis/commit/cf14c0f2c6fad84c94c5ef39740ccdb5d9422591)

Repository: [flambo/atlantis](https://git.cafe/flambo/atlantis)

Visibility: public

Requested revision: cf14c0f2c6fad84c94c5ef39740ccdb5d9422591

Requested commit: cf14c0f2c6fad84c94c5ef39740ccdb5d9422591

Commit: cf14c0f2c6fad84c94c5ef39740ccdb5d9422591

Tree: f55f194fa65d30d9b38772750aa661436e58c480

Author: flamboh

Committer: flamboh

## Message

```
feat(infra): deploy the dashboard to Cloudflare with Alchemy

- Add an infra/ workspace with an Alchemy v2 stack (alchemy and
  @alchemy.run/frontend-frameworks 2.0.0-beta.79, effect 4.0.0-rc.117):
  a D1 database with apps/web/drizzle migrations and a SvelteKit website
  bound to it as DB. Prod keeps the names atlantis-db and atlantis, adopts
  the wrangler-created worker, and retains both on destroy. Other stages
  get suffixed names.
- Add deploy:cloudflare, plan:cloudflare, and destroy:cloudflare root
  scripts, and cover infra in lint, typecheck, and CI.
- Remove wrangler.jsonc, the wrangler deploy and d1 scripts,
  adapter-cloudflare, and wrangler from apps/web. Alchemy injects its own
  adapter at deploy time.
- Upgrade drizzle-kit and drizzle-orm to 1.0.0-rc.5 and convert the
  migrations to the v1 directory layout that Alchemy reads.
- Load cloudflare:workers lazily and keep it external so kit's route
  analysis can run in Node, and reject the d1 driver under vite serve.
- Patch the published SvelteKit adapter to use generateServerInstance,
  backporting the upstream fix for kit 3.0.0-next.27.
- Document Alchemy deploys, migrations, Time Travel, and the first prod
  deploy.

```

## Parents

- [b72af5856c99a520a25c9c1a604dbd39e56a4153](https://git.cafe/flambo/atlantis/commit/b72af5856c99a520a25c9c1a604dbd39e56a4153?format=markdown)

[Source at this commit](https://git.cafe/flambo/atlantis/tree/cf14c0f2c6fad84c94c5ef39740ccdb5d9422591?format=markdown)
