Arco v0.10 is out 🚀
New to Arco? It’s an open-source CLI that deploys Laravel to AWS Lambda Web Functions. Lambda Web Functions officially run only Node.js; Arco brings PHP to them with FrankenPHP and Octane workers. You get cold starts around 1 s, warm requests in milliseconds, and no servers to manage. One arco.php file, one command: arco deploy.
This release adds four features, and existing apps upgrade with no changes:
☁️ Cloudflare DNS for custom domains
->domain('app.example.com')->dns('cloudflare')
Arco creates the certificate validation records and a DNS-only CNAME to CloudFront. Apex domains work through CNAME flattening. Every record it writes is marked as managed by Arco, so it never takes over a record it didn’t create. The token comes from CLOUDFLARE_API_TOKEN and is never stored.
📡 Machine-readable deploys
arco deploy --json
You get one JSON event per line as the deploy runs (each step, build progress), and a final result with the outcome, revision, URL and whether it rolled back. In --json mode Arco never prompts, never prints secrets, and keeps the same exit codes. It’s built for CI pipelines and dashboards. remove --json works the same way.
🗺️ Resource relations
arco info --resources --json now shows how resources connect: worker → queue, DLQ → queue, scheduler → console, CloudFront → domains. That’s enough to draw an infrastructure map.
🗂️ DynamoDB tables
->table('state', ttl: 'expires_at')
Each table is single-table style, with PK/SK string keys and on-demand billing, created in your stack and kept on remove. The app gets the table names in ARCO_TABLES, and the role gets read and write access to the items only.
✅ Tested with 1636 unit tests, an end-to-end deploy on a local AWS emulator (Floci), and a real deploy on AWS.
composer require --dev multiapi/arco:^0.10
Next: 1.0 🎯
commit 93217ea