Releases: nauman/rails-conductor
Releases · nauman/rails-conductor
Release list
conductor v0.1.0
CLI for operating a self-hosted Rails fleet through Conductor.
Install with Go:
go install github.com/nauman/rails-conductor/cli/cmd/conductor@v0.1.0
This release is tagged twice on one commit — v0.1.0 and
cli/v0.1.0. The prefixed one is what Go resolves for a
nested module; you never type the prefix yourself.
Changelog
- a27aa5d ADR 0001 (slice 2): opt-in self-describing deploy in KamalDeployer
- ddaf8a4 Add Cloudflare cache-purge action to conductor_domain MCP tool
- bebc900 Add Discovery-truth gate to AGENTS.md + boot scan
- 0552d31 Add HTML roadmap: Hatchbox gap analysis + 11 plan pages + backlog
- 1bd8918 Add MCP onboarding tools + per-app deploy notes
- 7e4637e Add MIT License
- 1a7d272 Add Organization + Membership models (orgs epic, slice 1)
- f32112e Add SSH-backed Caddy client and domain tools
- 9e1c2f7 Add canonical docs doctor + CI gate; build delivery-sequence to contract
- ebe0a10 Add conductor_cron MCP tool: scheduled jobs (Heroku-Scheduler equivalent)
- e8ae566 Add conductor_storage MCP tool: Active Storage / R2 audit, configure, migrate
- 8b4fd7d Add delete_dns action to conductor_domain (delete a Cloudflare DNS record)
- 2e3a300 Add docs/learnings/multi-app-hosting (manual ops → Conductor feature blueprints)
- a8f7f13 Add fleet edge detection — show what routes each server (Caddy/kamal-proxy/…)
- c822d46 Add install_webhook to conductor_app_config: wire push-to-deploy via MCP
- 9cb4e45 Add kamal deploy method: deploy kamal-managed apps from the UI/MCP
- 09b81ba Add per-app deploy runbook + checklist (MCP + web)
- c33d8ea Add public /version endpoint (KAMAL_VERSION) for deploy verification
- 670239e Add public README, usage/pillars docs, and product-loop scenarios
- ec27536 Add public landing page at / (dashboard moves to /dashboard)
- 6c8508b Add recurring operations schedule plan
- d0c06dc Add remove action to conductor_server (deregister a fleet server)
- 914a097 Add self-managed toggle to the app edit form
- f4171ce Add set_dns action to conductor_domain (create/update Cloudflare DNS records)
- 572c8a1 Add x86_64-linux platform to lockfile for container builds
- 07e9f68 App page: activity, not a status table
- c0082c8 App-transfer (spec 26) Slice 1: per-app DB placement axes
- 286a8bd App-transfer (spec 26) Slice 2: DedicatedDbProvisioner + PostgresContainerClient
- 9e7654b App-transfer (spec 26) Slice 3: deploy-time DATABASE_URL injection
- 130f928 App-transfer (spec 26) Slice 4a: Edge dispatcher + CaddyAdapter
- 489eaf3 App-transfer (spec 26) Slice 5: AppTransferPlan dry-run
- 61def63 App-transfer (spec 26) Slice 6: transfer orchestration engine
- a80b4ef App-transfer (spec 26) Slice 7: transfer_plan MCP action (read-only dry-run)
- bdc0449 App-transfer (spec 26): DatabaseReplicator (source→target via R2)
- ac41a13 App-transfer (spec 26): KamalDeployer/KamalConfig target-server support
- 8b4b636 App-transfer (spec 26): complete KamalProxyAdapter (declarative)
- fe5da70 App-transfer (spec 26): fix DB reachability (audit finding #2)
- eca0cba App-transfer (spec 26): fix audit findings (codex review)
- a7fbfde App-transfer (spec 26): invocable transfer trigger (conductor_app action=transfer)
- 556f829 App-transfer (spec 26): server-scope the dedicated DB resolution (Decision: option a)
- e39b335 App-transfer (spec 26): the executing collaborators (Execute + FleetDeps)
- 0f30cb2 Apps carry an intent, so the fleet stops chasing decisions already made
- f23c681 Auto-deploy on git push (slot 03) — SCM webhook → deploy
- 4f1e6bf Backlog: file spec 07 as a P0 row, not under Recently shipped
- ef6364c Backups: one button, and an honest word for "untested"
- da49446 Backups: unify S3-compatible vendors behind one uploader + registry
- 14cb6d5 Brakeman: ignore benign account_id mass-assignment on credentials
- 268e88f Branding + SEO: favicon, OG image, explicit "Ruby on Rails" positioning
- ae60700 Branding: warm-paper icon mark, favicon.ico, and richer OG image
- 81688cd Build cron-job creator: schedule commands + maintenance scripts on managed servers
- c0c22d3 Build server maintenance into Conductor + cron-jobs spec + hardening scripts
- 9d16878 Bump loofah 2.25.2 + rails-html-sanitizer 1.7.1 (XSS advisories)
- f40ecb9 Bump propshaft from 1.3.1 to 1.3.2
- 96e5260 CI deploy: load SSH key into ssh-agent in the deploy step
- ca327fa CI deploy: push image with a package-owning token, not GITHUB_TOKEN
- b39060f CI deploy: push via ephemeral GITHUB_TOKEN (package linked to repo)
- fbf845e CI deploy: run db:migrate as a gated, fail-loud step
- 2fef81c CI deploy: skip host-key verification for the fixed box
- cd7c9ee CI: deploy Conductor via GitHub Actions (push -> kamal deploy)
- 9e7418c Cloudflare MCP: attach only read-only scoped servers; mutations stay in CloudflareClient
- 9773341 Cloudflare P1: multi-account connections + attach Cloudflare's MCP
- 24921b7 Cloudflare P2: 'Put behind Cloudflare' — per-site + fleet (proxy DNS + SSL mode)
- 96353d6 Cloudflare verify: verify by listing zones, not /user/tokens/verify
- b478dbc Cloudflare: correct MCP attach per Cloudflare's agent-setup (mcp.cloudflare.com + OAuth + Claude Code plugin)
- 8a6db8b Cloudflare: only connected credentials resolve zones; report real domain status
- f5e89df CloudflareClient#verify: fall back to a zones probe for account-owned tokens
- 3082bad Conductor as Kamal control machine: image tooling + build-over-SSH + deploy log
- c816cf8 Configure Kamal deploy: Docker Hub registry, deploy user, shared Postgres accessory
- 65192dc Convert apps, servers and backups pages to the fleet design
- 9cd49c9 Convert server detail and jobs pages; name what's failing in the queue
- da8b20a Convert the create/edit forms and fix leaked names in placeholders
- 83e646f Convert the remaining screens to the fleet design
- 60c0a4b Convert the remaining secondary screens
- f5231f5 Create initial Conductor codebase and planning docs
- 3298943 Credentials UI: label CF MCP attach as read-only; point mutations at Put-behind-Cloudflare
- e11dfb7 Credentials: dynamic per-provider form (show only relevant fields, relabel keys)
- 0ff3b7a Dashboard: an ops header, and one table instead of two
- f8926d2 Dashboard: build the fleet design instead of relabelling the old one
- 8c046a0 Dashboard: one incident per broken app, not one per failure
- ba683e4 Dashboard: show app state, not deploy history
- 4395ae1 Dashboard: the design's shape, not the old page with better labels
- bee5c89 Database clusters slice 1: models + PostgresClusterClient (Hatchbox-style DBs)
- c2ecfca Database clusters slice 2: UI (register cluster, create/drop databases)
- 532bfa5 Database clusters slice 3: provision a database from an app
- 712dafd Deepen reviewed infrastructure planning docs
- dac3449 Deploy gate: pending security updates warn, not block (only active exposure blocks)
- 2a8d43a Deploy keys: clone private repos through Conductor (github-app slice 1)
- 23ca163 Deploy preflight gate: block deploys on failed migrations/seeds/audit/threads checks
- 1a644f7 Deploy: make the deploy-from-re...