-
Notifications
You must be signed in to change notification settings - Fork 0
merge queue: embarking main (e862bec), #189, #207 and #225 together #227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…rchestration User request: "let's make a nomad setup memo - look at the current local binary testing setup and think about how to convert it to nomad - we still want it to be easy to run" Created comprehensive Nomad setup guide covering: 1. **Why Nomad for Local Development** - Production parity (same orchestrator dev → prod) - Automatic supervision, health checks, service discovery - Resource limits, restart policies, rolling deployments - Comparison table: prismctl local vs prismctl nomad 2. **Easy-to-Use Wrapper: prismctl nomad** - `prismctl nomad start` - One-command stack startup - `prismctl nomad status` - Job and allocation status - `prismctl nomad logs <task>` - View task logs - `prismctl nomad ui` - Open Nomad web UI - `prismctl nomad stop` - Clean shutdown 3. **Nomad Job Specifications** - Complete job spec with 3 groups (admin, launcher, keyvalue) - Resource limits (CPU/memory), health checks, restart policies - Service discovery via Consul integration - Alternative Docker-based job spec for containers 4. **Implementation Guide** - Install instructions (macOS, Linux) - Job file structure and syntax - Go code for prismctl nomad command wrapper - Service dependency handling with templates 5. **Advanced Features** - Rolling deployments with auto-revert - Canary deployments for gradual rollouts - Multi-region setup for distributed deployments - Vault integration for secrets management 6. **Migration Path** - Phase 1: Hybrid (both local and nomad) - Phase 2: Nomad by default - Phase 3: Production deployment with same job files 7. **Troubleshooting Guide** - Nomad not starting, job allocation failures - Consul service discovery issues - Health check failures, resource constraints - Performance tuning recommendations Key design goals: - Maintain same ease of use as prismctl local start - Enable production-like orchestration locally - Support smooth migration from direct process execution - Provide path from dev → staging → production Benefits over current setup: - Automatic process supervision and restart - Built-in health checks and service discovery - Resource isolation and limits - Rolling deployments and canary releases - Better matches production environment 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
… service selection User request: "evaluate @docs-cms/memos/MEMO-035-nomad-local-development-setup.md for simplicity and time to value for a developer, we want to make it configurable at install time and runtime easily by any developer. rewrite as necessary - be creative to make multi-service flexible and fun" Complete transformation focusing on developer experience: **Time to Value: 30+ minutes → 60 seconds** - Replaced manual Nomad/Consul installation with auto-installer - Eliminated 470+ lines of static HCL with dynamic job generation - Added `prismctl dev init` for one-time setup - Added `prismctl dev start` with interactive service picker **Interactive Configuration System** - TUI service picker with live preview (fzf-style) - Profile system: save/load/share favorite configurations - Built-in presets: minimal, redis, messaging, postgres, full - Configuration hierarchy: CLI flags → Interactive → Profiles → Presets - Real-time estimates for startup time and memory usage **Beautiful Developer Experience** - Live TUI dashboard with real-time metrics (RPS, memory, health) - Log streaming with one-key service selection - Quick actions: restart, scale, open UIs with keyboard shortcuts - Color-coded health status (green/yellow/red) - Auto-troubleshooting with helpful error messages **Runtime Flexibility** - Hot add/remove services without full restart - Dynamic scaling: `prismctl dev scale redis 3` - Extensible service catalog (add ClickHouse, Grafana, custom tools) - Watch mode for auto-reload on code changes - CI mode with `--no-dashboard` flag **Fun Extras** - Easter eggs: random preset, chaos mode, demo data - ASCII art on startup - Stats tracking with achievements - Startup time leaderboard **Implementation Roadmap** - 8-week plan with 6 phases (core CLI → dashboard → profiles → polish) - Detailed CLI reference with all commands - Extensibility guide for custom services Document stats: - 1107 lines → 780 lines (29% reduction despite more features) - Setup complexity: High → Zero - Fun factor: 😐 → 🚀 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
User request: "resolve conflicts on jrepp/nomad-dev-cluster and push updates to the branch" Resolved conflict in MEMO-035-nomad-local-development-setup.md by keeping the enhanced "Zero to Hero in 60 Seconds" version with interactive service picker, TUI dashboard, and profile system (from jrepp/nomad-dev-cluster branch). Changes from main: - Remove build artifacts from git tracking (#7) - Optimize prismctl local start with health checks and parallel startup (#5) - Updated .gitignore to exclude docs/ build output - Enhanced cmd/prismctl/cmd/local.go with improved local start functionality The merged MEMO-035 focuses on developer experience with one-command setup, interactive service selection, and production-like orchestration using Nomad. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
User request: "resolve conflicts on jrepp/nomad-dev-cluster and push updates to the branch" Additional cleanup after merge: - Truncated MEMO-035 to remove duplicate content from old version - Removed docs/.nojekyll (build artifact) The file now properly ends at Revision History section with the enhanced "Zero to Hero in 60 Seconds" content. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
…-layer into jrepp/nomad-dev-cluster
Removed 1,307 committed build output files from docs/ directory: - All HTML files (ADRs, RFCs, MEMOs, user guide pages) - All JavaScript bundles and assets (70,681 lines) - All CSS files - All JSON and XML files (search index, sitemap) Preserved important non-generated assets: - docs/img/ directory with 13 image files: - Prism logos (PNG, SVG) - Favicon and icons - Docusaurus default images - Social card image Added docs/.gitignore to prevent future build output commits: - Ignores *.html (all generated pages) - Ignores specific generated directories (/adr/, /rfc/, /memos/, /user-guide/, etc.) - Ignores /assets/css/ and /assets/js/ (generated bundles) - Ignores search-index.json and sitemap.xml - Explicitly allows /img/ directory and all images Remaining tracked files in docs/: - docs/.nojekyll (required by GitHub Pages) - docs/.gitignore (newly added) - docs/img/ (13 image files preserved) Build output will be generated by CI via "docusaurus build --out-dir ../docs" and published to GitHub Pages automatically. Source documentation remains in docusaurus/docs/ and docs-cms/.
User request: "Address all of the [Doc Feedback] issues on the repo" - Issue #223: Convert ASCII diagram to mermaid in Overview intro page - Issue #216: Add 10,000 meter architecture diagram to ADR index page - Issue #161: Add namespace configuration section to Foundations page Co-Authored-By: Claude <[email protected]>
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## main #227 +/- ##
===========================================
- Coverage 59.93% 30.59% -29.34%
===========================================
Files 18 8 -10
Lines 1203 572 -631
Branches 63 0 -63
===========================================
- Hits 721 175 -546
+ Misses 474 397 -77
+ Partials 8 0 -8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
✨ Pull requests batch (#189, #207) which was ahead in the queue failed. The pull request #225 has been re-embarked. ✨
Branch main (e862bec), #189, #207 and #225 are embarked together for merge.
This pull request has been created by Mergify to speculatively check the mergeability of #225.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.
Required conditions of queue
defaultfor merge:check-neutral = PR Status Checkcheck-skipped = PR Status Checkcheck-success = PR Status Checkcheck-neutral = PR Status Checkcheck-skipped = PR Status Checkcheck-success = PR Status Check#review-threads-unresolved = 0[🛡 GitHub repository ruleset rule]Required conditions to stay in the queue:
#approved-reviews-by>=1#changes-requested-reviews-by=0#review-threads-unresolved = 0[🛡 GitHub repository ruleset rule]-draftbase=maincheck-success=PR Status Checklabel!=do-not-mergelabel!=work-in-progresscheck-success = PR Status Checkcheck-neutral = PR Status Checkcheck-skipped = PR Status Checkcheck-success = PR Status Checkcheck-neutral = PR Status Checkcheck-skipped = PR Status Check