Skip to content

Releases: nauman/rails-conductor

Release list

conductor v0.1.0

Choose a tag to compare

@nauman nauman released this 25 Sep 11:31

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...
Read more