You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a reminder message in the provision command output to inform users they need to configure DNS to point their domains to the newly assigned server IP.
After displaying connection details, extract domain information
Use ServiceInfo::from_tracker_config() to get domains
Call DnsReminderView::render() if domains are present
Display using UserOutput methods
Phase 3: Update Show Command (Optional Enhancement)
Update show command to display DNS info for ALL domains (not just TLS)
Remove TLS-only restriction from HttpsHintView
Reuse DNS reminder view logic
Acceptance Criteria
Note for Contributors: These criteria define what the PR reviewer will check. Use this as your pre-review checklist before submitting the PR to minimize back-and-forth iterations.
Quality Checks:
Pre-commit checks pass: ./scripts/pre-commit.sh
All unit tests pass for new view
E2E tests pass (no regressions)
Task-Specific Criteria:
DNS reminder appears after provision command when domains are configured
DNS reminder lists ALL configured domains (HTTP trackers, API, health check, Grafana)
DNS reminder does NOT appear when no domains are configured
Output format includes warning icon, clear message, domain list
Overview
Add a reminder message in the
provisioncommand output to inform users they need to configure DNS to point their domains to the newly assigned server IP.Specification
See detailed specification: docs/issues/332-dns-setup-reminder-in-provision-command.md
🏗️ Architecture Requirements
DDD Layers: Application + Presentation
Module Paths:
src/application/command_handlers/show/info/tracker.rs- Reuse domain extractionsrc/presentation/controllers/provision/handler.rs- Controller orchestrationsrc/presentation/views/commands/provision/dns_reminder.rs- New view componentPattern: MVC (Model-View-Controller) with DDD layering
Module Structure Requirements
Architectural Constraints
UserOutputmethodsAnti-Patterns to Avoid
ServiceInfoUserOutputImplementation Plan
Phase 1: Create DNS Reminder View
src/presentation/views/commands/provision/dns_reminder.rsDnsReminderViewstruct withrender()methodServiceInfo(HTTP trackers, API, health check, Grafana)Phase 2: Integrate into Provision Controller
src/presentation/controllers/provision/handler.rsServiceInfo::from_tracker_config()to get domainsDnsReminderView::render()if domains are presentUserOutputmethodsPhase 3: Update Show Command (Optional Enhancement)
showcommand to display DNS info for ALL domains (not just TLS)HttpsHintViewAcceptance Criteria
Quality Checks:
./scripts/pre-commit.shTask-Specific Criteria:
provisioncommand when domains are configuredUserOutputmethods (no directprintln!)Related