Phase 1: Rails scaffold, landing page, and health check #2

Closed
opened 2026-05-09 02:46:19 +00:00 by forgejo_admin · 1 comment
Contributor

Type

Feature

Lineage

Decomposed from #1 — Phase 1 of 4.

Repo

forgejo_admin/pal-enterprises

User Story

As a visitor, I want to see a professional landing page that introduces Lucas Draney's services, so that I understand what pal-enterprises offers before deciding to reach out.

Context

This is the foundation phase. Scaffold a fresh Rails 8.1 app with Hotwire, Tailwind, and Postgres. Create the landing page at / with a services overview and a "Sign In" button (non-functional until Phase 3). Deploy on the cluster using the same dev-mode pattern as westside-ror and pal-e-ror (ruby:3.4-slim, hostPath mount, gem cache PVC, Tailscale ingress).

File Targets

Files to create:

  • Gemfile — Rails 8.1, pg, tailwindcss-rails, turbo-rails, stimulus-rails, propshaft
  • config/database.yml — connect to CNPG as ldraney, database pal_enterprises_dev
  • config/environments/development.rb — allow *.ts.net hosts
  • config/routes.rb — root route to pages#home, health check at /up
  • app/controllers/pages_controller.rb — landing page
  • app/views/pages/home.html.erb — services overview, sign-in CTA
  • app/views/layouts/application.html.erb — Tailwind layout with nav
  • k8s/dev.yaml — namespace, secret, PVC, deployment, service, ingress

Acceptance Criteria

  • rails new scaffold committed with Hotwire + Tailwind + Postgres
  • Landing page renders at / with services overview
  • "Sign In" button present (links to # until Phase 3)
  • Health check at /up returns 200
  • Deployed on cluster at https://pal-enterprises.tail5b443a.ts.net
  • Pod is 1/1 Running with gem cache PVC

Test Expectations

  • bin/rails test passes (default scaffold tests)
  • Run command: bin/rails test

Constraints

  • Follow the dev deployment pattern from westside-ror: ruby:3.4-slim, hostPath, gem cache PVC, startupProbe on /up
  • DB user: ldraney, host: pal-e-postgres-rw.postgres.svc.cluster.local
  • Add pal-enterprises to postgres namespace NetworkPolicy
  • Create database pal_enterprises_dev on the CNPG cluster

Checklist

  • PR opened
  • Tests pass
  • Deployed and accessible
  • No unrelated changes
  • pal-enterprises — project
### Type Feature ### Lineage Decomposed from #1 — Phase 1 of 4. ### Repo `forgejo_admin/pal-enterprises` ### User Story As a visitor, I want to see a professional landing page that introduces Lucas Draney's services, so that I understand what pal-enterprises offers before deciding to reach out. ### Context This is the foundation phase. Scaffold a fresh Rails 8.1 app with Hotwire, Tailwind, and Postgres. Create the landing page at `/` with a services overview and a "Sign In" button (non-functional until Phase 3). Deploy on the cluster using the same dev-mode pattern as westside-ror and pal-e-ror (ruby:3.4-slim, hostPath mount, gem cache PVC, Tailscale ingress). ### File Targets Files to create: - `Gemfile` — Rails 8.1, pg, tailwindcss-rails, turbo-rails, stimulus-rails, propshaft - `config/database.yml` — connect to CNPG as `ldraney`, database `pal_enterprises_dev` - `config/environments/development.rb` — allow `*.ts.net` hosts - `config/routes.rb` — root route to pages#home, health check at `/up` - `app/controllers/pages_controller.rb` — landing page - `app/views/pages/home.html.erb` — services overview, sign-in CTA - `app/views/layouts/application.html.erb` — Tailwind layout with nav - `k8s/dev.yaml` — namespace, secret, PVC, deployment, service, ingress ### Acceptance Criteria - [ ] `rails new` scaffold committed with Hotwire + Tailwind + Postgres - [ ] Landing page renders at `/` with services overview - [ ] "Sign In" button present (links to `#` until Phase 3) - [ ] Health check at `/up` returns 200 - [ ] Deployed on cluster at `https://pal-enterprises.tail5b443a.ts.net` - [ ] Pod is 1/1 Running with gem cache PVC ### Test Expectations - [ ] `bin/rails test` passes (default scaffold tests) - Run command: `bin/rails test` ### Constraints - Follow the dev deployment pattern from westside-ror: ruby:3.4-slim, hostPath, gem cache PVC, startupProbe on `/up` - DB user: `ldraney`, host: `pal-e-postgres-rw.postgres.svc.cluster.local` - Add `pal-enterprises` to postgres namespace NetworkPolicy - Create database `pal_enterprises_dev` on the CNPG cluster ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] Deployed and accessible - [ ] No unrelated changes ### Related - `pal-enterprises` — project
Author
Contributor

Done — Rails 8.1 scaffolded with landing page, health check at /up, and dev deployment. See commit 2303f85.

Done — Rails 8.1 scaffolded with landing page, health check at `/up`, and dev deployment. See commit `2303f85`.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/pal-enterprises#2
No description provided.