Commit Graph

78 Commits

Author SHA1 Message Date
Vantz Stockwell
fd509eea96 fix: Bump Rust image to 1.85 for edition2024 support
Dependency moxcms requires edition2024 feature, stabilized in Rust 1.85.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 00:48:54 -05:00
Vantz Stockwell
2c3688c914 fix: Make Cargo.lock optional in Docker build
Cargo.lock may not exist before first build. Use wildcard copy
so Docker doesn't fail if lockfile is missing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 00:45:04 -05:00
Vantz Stockwell
d91ceb5b24 feat: Build Early Access page with backend email capture
Combined page: countdown timer (Feb 28), email capture with server
count segmentation (wired to POST /api/early-access), Founding Admin
Program (25 slots), demo dashboard preview placeholders, roadmap
voting, and launch timeline. Backend: Axum handler, migration for
early_access_signups table with email + server_count + created_at.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:51:55 -05:00
Vantz Stockwell
597f2ec379 feat: Build 5 marketing pages with layout and routing
Landing page (hero, problem, shift, capabilities, wipe orchestration,
infrastructure, public sites, CTA), Pricing (3-tier cards), How It Works
(4-step walkthrough + architecture diagram), FAQ (10-item accordion),
Roadmap (6-phase timeline). All under /site/* with MarketingLayout
(sticky nav, 4-column footer). Routes wired, build clean.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:45:34 -05:00
Vantz Stockwell
5d911d4165 docs: Add B2B reseller plan for hosting providers
Wholesale pricing model ($6/server/mo), bulk provisioning API spec,
host dashboard requirements, pitch framework, and revenue projections.
Model B — fast to market, hosts control markup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:34:07 -05:00
Vantz Stockwell
f39e376704 docs: Add 10 momentum pages — full launch content kit
How It Works, Security, Roadmap, Live Demo, Hosting Providers,
Documentation Hub, Status, Pricing, Changelog, Founder. These
build perceived scale, trust, and conversion infrastructure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:30:02 -05:00
Vantz Stockwell
c08128156b docs: Add Corrosion Manifesto
Positioning document — draws the line between babysitting and
orchestration. Ready for marketing page or standalone deployment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:26:15 -05:00
Vantz Stockwell
cb2dedb5d2 docs: Add landing page copy, CodeFling listing, FAQ, and comparison sheet
Marketing assets for launch — landing page copy, marketplace description,
FAQ for support load reduction, and competitive comparison table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:24:38 -05:00
Vantz Stockwell
a160ba2df4 feat: Build final 9 admin views + swap final hero graphic
Views: Plugins, Wipes, WipeProfiles, WipeCalendar, WipeHistory,
Maps, Analytics, StoreManage, ModuleStore. All 20/20 admin views
now implemented. Updated hero graphic to final version.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:20:01 -05:00
Vantz Stockwell
c45567670e feat: Implement 6 views + updated hero — Server, Chat, Team, Notifications, Settings, Setup Wizard
Server: Connection status, start/stop/restart controls, config editor
with edit mode, automation toggles (crash recovery, force wipe, auto-update).

Chat Log: Message feed with channel filter (global/team/server), search,
flag/unflag per message, timestamped entries with channel badges.

Team: Member table with role badges, invite form with role select,
pending/active status, remove action.

Notifications: Discord webhook, Pushbullet, email toggle cards.
6 event triggers (wipe start/complete/fail, crash, offline, purchase).

Settings: 3-tab layout (Account, License, Domain). Account editing,
license info display, subdomain + custom domain config with CNAME hint.

Setup Wizard: 3-step flow (Configure → Install Agent → Done).
Connection type radio cards, RCON/game port config, companion agent
install instructions with license key pre-filled.

Also swaps hero graphic to corrected version (two-column Control vs
Infrastructure layout per brand brief).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:12:24 -05:00
Vantz Stockwell
b767cce6ec feat: Implement Console and Players views — two core admin screens
Console: Terminal-style RCON interface with timestamped output,
color-coded log types, command input, clear button, and connection
status indicator. Uses server.sendCommand() from the store.

Players: Full management table with search, online/offline/all
filter tabs, Steam ID display, session time, ping, playtime,
admin badges, and kick/ban action buttons. Sorted online-first.

Both views use Oxide Orange brand colors per guidelines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:01:46 -05:00
Vantz Stockwell
e237333861 fix: Resolve all TypeScript build errors — path aliases + unused params
Adds baseUrl and @/* path mapping to tsconfig.app.json so vue-tsc can
resolve @/types, @/stores, and @/composables. Prefixes unused stub
parameters with _ to satisfy noUnusedParameters. Full build now passes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 23:00:26 -05:00
Vantz Stockwell
da571b5b86 feat: Swap login/register hero to new marketing graphic
Replaces the plain trefoil mark with the full product hero —
cracked trefoil, tagline, and feature bullets from the architecture spec.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 22:55:06 -05:00
Vantz Stockwell
993db90e1f feat: Align UI to brand guidelines — Oxide Orange #F26622 replaces red accent
Defines oxide color scale (50-950) via Tailwind v4 @theme directive.
Swaps all accent red-* classes to oxide-* across layouts, auth views,
and footer. Semantic reds (error banners, offline status, stop button)
intentionally preserved.

Brand spec: Corrosion_Management_Brand_Guidelines.pdf

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 22:48:35 -05:00
Vantz Stockwell
c12acd39a3 feat: Upgrade favicon to multi-size ICO + PNG set, add wordmark asset
Proper favicon.ico with 16/32/64px PNG variants for cross-browser
coverage. Apple-touch-icon fallback. Adds CORROSION MANAGEMENT
wordmark PNG for text-based branding contexts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 22:42:52 -05:00
Vantz Stockwell
72249279d6 feat: Wire up brand kit — favicon, logos, and hero mark across all layouts
Copies brand assets to frontend/public (favicon.png, logo.png, logo-hero.png).
Updates index.html, LoginView, RegisterView, DashboardLayout sidebar, and
PublicLayout footer with proper branding.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 22:40:56 -05:00
Vantz Stockwell
11e5d18f81 fix: Add missing frontend dependencies (pinia, vue-router, lucide-vue-next)
These were installed in the previous session but not saved to package.json.
Production build now succeeds (39KB gzipped).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:52:23 -05:00
Vantz Stockwell
a53cb4d8a5 feat: Implement server endpoints, store, and live dashboard
Backend: Server connection/config/admins DB queries, server API routes
with auth-gated endpoints (overview, config CRUD, admin management).
Frontend: Server store wired to API, dashboard fetches server data on
mount with live status indicators, uptime formatting, and server
config display. Logout now redirects to /login.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:51:49 -05:00
Vantz Stockwell
5668675b6a feat: Implement full auth pipeline — login, register, JWT, bootstrap
Backend auth flow is now functional:
- services/auth.rs: Argon2id password hashing, JWT access/refresh tokens
- services/encryption.rs: AES-256-GCM encrypt/decrypt, hex token generation
- api/auth.rs: Login, register, refresh, logout, /me endpoints
- middleware/auth.rs: JWT Bearer token extractor (FromRequestParts)
- db/users.rs + licenses.rs: Full CRUD with runtime queries (no compile-time DB)
- main.rs: Bootstrap admin user on first run via ADMIN_EMAIL/ADMIN_PASSWORD env vars
- NATS connection now optional for dev (graceful fallback)
- Added hex and http crates to Cargo.toml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:49:37 -05:00
Vantz Stockwell
9217f77998 feat: Implement login, register, and dashboard views
Build complete auth flow with dark-themed CORROSION branding,
loading states, error handling, client-side validation, and
placeholder dashboard with stat cards and quick actions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:46:35 -05:00
Vantz Stockwell
e2f2f64d33 scaffold: Vue 3 frontend — router, stores, views, composables, layouts
Complete frontend skeleton: Vite + Vue 3 + TypeScript + Tailwind CSS,
Pinia stores (auth, server, wipe, plugins), authenticated API composable,
full route tree with auth guards, DashboardLayout with sidebar nav,
23 view stubs across auth/admin/public, all TypeScript interfaces.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:42:21 -05:00
Vantz Stockwell
175d6f0a7b scaffold: Docker infrastructure — Compose, Nginx, NATS, Dockerfile
4-service stack (PostgreSQL 16, NATS JetStream, Rust API, Nginx),
multi-stage Rust build with dependency caching, wildcard subdomain
routing for public sites, WebSocket support, rate limiting zones.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:42:15 -05:00
Vantz Stockwell
5b18a52634 scaffold: Initial database migration — 24-table multi-tenant schema
Full PostgreSQL schema with license_id tenant scoping on every table,
4 default RBAC roles (Owner, Head Admin, Moderator, Viewer), JSONB
configs for wipe profiles, webstore, and notification channels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:42:10 -05:00
Vantz Stockwell
e5ed25a86a scaffold: Backend API routes, DB queries, and middleware stubs
88 handler stubs across 13 route files, 66 DB query stubs across
11 modules, auth/license extractors, and rate limit middleware.
All bodies are todo!() — ready for Phase 1b implementation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:42:05 -05:00
Vantz Stockwell
5c11050eca scaffold: Backend core — Cargo.toml, main.rs, config, models, panel adapter
Axum server entry point, AppConfig, AppState, ApiError, all model
structs (auth, license, server, wipe), and the PanelAdapter trait
that abstracts AMP/Pterodactyl/companion connections.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:41:58 -05:00
Vantz Stockwell
26cbeb5d4c chore: Add .gitignore and .env.example
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:41:52 -05:00
Vantz Stockwell
cc8c1e3519 feat: Add 15 backend service stub files with TODO implementations
Stub files for all services declared in services/mod.rs:
- Panel adapters: AMP, Pterodactyl, Companion (NATS-based)
- Wipe pipeline: WipeEngine, Scheduler, HealthChecker, BackupManager
- Infrastructure: NatsBridge (JetStream), SteamUpdateWatcher, MapManager
- Notifications: Discord webhooks, Pushbullet push notifications
- Platform: LicenseService, CloudflareService, encryption utilities

Each file has struct definitions, method signatures with proper types,
and descriptive TODO comments outlining the implementation plan.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:35:16 -05:00
Vantz Stockwell
1935a46822 docs: Initial architecture spec for Corrosion platform 2026-02-14 21:29:04 -05:00