A small Node.js web app used as the target repo for the OctoInit hackathon demo (Linear: PGG-1814).
The page is Octopus-themed: an HTML view that shows a random octopus / deployment fact and a "Deploy another tentacle" button that fetches a new one. The repo is intentionally small so that running /octoinit against it produces an unambiguous "Stack detected: Node.js".
GET /— HTML page with the random-fact UI.GET /api/fact— returns{ "fact": "..." }chosen at random.GET /api/info— returns{ message, version, environment }as JSON.versionreadsAPP_VERSIONandenvironmentreadsOCTOPUS_ENVIRONMENT(defaults:1.0.0,local).GET /health— returns{ "status": "ok" }.
npm install
npm start
# → Demo app running on port 3000
open http://localhost:3000/.github/workflows/ci.yml runs npm ci and npm run build --if-present on every push to main and on pull requests. There's no build script today, so the build step is a no-op until one is added.
Terraform under infrastructure/ provisions an Azure resource group, an App Service Plan, and a Linux Web App (Node 20). The deploy is a single az webapp deploy --type zip step — no container registry, no image build. See infrastructure/README.md.
app.js— Express server + inline HTML pagepackage.json— manifest, single dep onexpress.github/workflows/ci.yml— CI buildinfrastructure/— Terraform for hosting on Azure App Service