feat(rcon): add admin server console
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
---
|
||||
type: User Story
|
||||
title: Manage RCON server connections
|
||||
description: Administrators manage encrypted connection settings for internal Minecraft RCON endpoints.
|
||||
tags: [admin, rcon, minecraft, security, operations]
|
||||
timestamp: 2026-08-08T01:36:00Z
|
||||
story_id: US-021
|
||||
status: verified
|
||||
---
|
||||
|
||||
# User Story
|
||||
|
||||
As an administrator, I want to manage one or more Minecraft RCON connections, so that server operations can be reached from the existing protected console.
|
||||
|
||||
# Acceptance Criteria
|
||||
|
||||
- [x] Existing account-manager administrators can list, add, edit, test, enable or disable, and delete RCON server connections.
|
||||
- [x] Each connection has a unique display name, internal hostname, port, enabled state, and write-only password.
|
||||
- [x] RCON passwords are encrypted with an authenticated cipher using a deployment-managed master key and are never returned to the browser, audit events, or application logs.
|
||||
- [x] Updating a connection preserves its password unless an administrator explicitly supplies a replacement.
|
||||
- [x] Connection host and port pairs must match a deployment-managed exact internal endpoint allowlist, and IP literals are rejected.
|
||||
- [x] Testing a connection authenticates through the server-side RCON proxy and reports a safe success or failure result.
|
||||
- [x] Deleting a connection requires explicit confirmation.
|
||||
- [x] Connection mutations independently recheck administrator authorization and create credential-safe audit events.
|
||||
- [x] Database changes use a generated versioned Drizzle migration rather than schema push.
|
||||
|
||||
# Implementation
|
||||
|
||||
The administrator RCON page and server actions manage allowlisted endpoints, preserve write-only passwords, encrypt credentials with connection-bound AES-256-GCM, and emit credential-safe audit events. The `rcon_servers` table is delivered through generated migration `0006_curious_lester.sql`.
|
||||
|
||||
# Validation
|
||||
|
||||
Verified with RCON validation, encryption, gateway, component, and server-action tests; full workspace tests and type checks; web lint; OKF validation; and a production Next.js build on 2026-08-08. Action tests confirm independent authorization, password preservation, enabled-state rechecks, safe failures, and command audit redaction.
|
||||
|
||||
# Related Stories
|
||||
|
||||
- [Operate servers through an RCON console](us-022-rcon-console.md)
|
||||
- [Authenticate administrators with SSO](us-011-admin-sso.md)
|
||||
- [Deploy and operate securely](us-015-platform-operations.md)
|
||||
Reference in New Issue
Block a user