-
Changemaker Lite v2.8.0 Stable
released this
2026-04-07 17:26:02 -06:00 | 72 commits to main since this releasev2.8.0 — Remote Instance Management
Highlights
Remote Management via CCP Agent — The Changemaker Control Panel can now manage CML instances running on remote servers. A lightweight HTTP agent runs on each remote host, communicating with the CCP over mTLS (mutual TLS) for full lifecycle management: start/stop, health checks, backups, upgrades, and reconfiguration.
New Features
- CCP Remote Agent (
ccp-agent) — New Docker service that runs on remote CML instances, providing secure remote management capabilities. Deployed as a Docker Compose profile (ccp-agent), activated during setup or from the admin panel. - mTLS Certificate Management — CCP acts as its own Certificate Authority. Agent certificates are issued automatically during the phone-home approval flow. Private keys are delivered once and wiped from the database.
- Phone-Home Registration — Remote instances register with the CCP using single-use invite codes. The CCP admin approves registrations from the dashboard, and certificates are delivered automatically.
- Admin Panel Registration — Existing instances can register with a CCP directly from the admin GUI (Services > Control Panel) without SSH access.
- CLI Registration Script —
scripts/register-with-ccp.shfor SSH-based registration of existing installations. Supports--unregisterto remove registration. - Execution Driver Abstraction — New
ExecutionDriverinterface transparently routes Docker and filesystem operations to either local Docker socket or remote agent over HTTPS. - Invite Code Management — CCP admins can generate, list, and revoke single-use invite codes for agent registration.
- Agent Registrations Dashboard — CCP admin page to review, approve, or reject pending agent registrations.
Infrastructure
- Added
ccp-agentas 5th service in build pipeline (build-and-push.sh) - Added CCP agent env vars to docker-compose environment passthrough
- Added
configure_control_panel()section toconfig.shsetup wizard - New Prisma models:
CcpCertificateAuthority,IssuedAgentCert,AgentInviteCode,AgentRegistration
Security
- Certificate bundles (containing private keys) are wiped from the database after first delivery
- Shell injection prevention: all agent CLI operations use
execFilewith argument arrays - Command allowlist with shell metacharacter rejection for
docker compose exec - Rate limiting (10 req/15min) on unauthenticated agent registration endpoints
- Fingerprint pinning auto-populated during phone-home certificate installation
- Path traversal protection on all agent filesystem operations
Bug Fixes
- Fixed Vite allowedHosts blocking production domains
- Fixed deployment issues found during end-to-end testing
- Added pagination to public campaign, petition, shift, and shop endpoints
- Wired ENABLE_SOCIAL, ENABLE_PEOPLE, ENABLE_ANALYTICS through full .env stack
Upgrade Notes
- New env vars available:
ENABLE_CCP_AGENT,CCP_URL,CCP_INVITE_CODE,CCP_AGENT_URL,CCP_AGENT_PORT - The CCP agent is optional — existing installations are unaffected unless you enable it
- CCP database migration runs automatically on startup (adds remote agent tables)
Downloads
- CCP Remote Agent (