cipi-sh/api
Laravel/PHP client for the CIPI API, providing a simple way to authenticate and send requests to CIPI services from your applications. Wraps API calls in a clean, consistent interface for easier integration.
cipi.yml — the app's server configuration — is now inspectable (GET /apps/{name}/yml), appliable (POST /apps/{name}/yml/apply), and continuously reconciled from Git (auto enable/disable). That is the enabling primitive for a "commit to change infrastructure" workflow. Decide deliberately whether that is a v1 feature or a v3 one; the capability now exists either way.applied, unchanged, partial, blocked, invalid, no-file) is a UX requirement, not an implementation detail. Budget design time for blocked/invalid states — they are the ones users will hit — or scope apply out of the first release and ship read-only plan first.yml-view (read) and yml-manage (write) abilities — mirror that split in your own roles rather than handing out yml-manage broadly.AppYmlShow, AppYmlApply, and AppYmlAuto. If you are evaluating agent-driven ops, this release moves the package from "plausible" to "demoable this quarter." If you are not, it costs you nothing.Adopt when:
cipi.yml feature set is a 503.yml-view / yml-manage. Existing tokens deliberately do not inherit them — plan the token rotation as part of rollout, not after.cipi.yml changes in PRs before auto-apply is switched on.GET /yml is synchronous and read-only, which makes it a low-risk first integration and a good pilot for stakeholder buy-in.Look elsewhere when:
cipi.yml. The ability model is coarse: view, or manage the whole file.partial and blocked outcomes terminate the job as failed while still carrying a result payload — clients that treat failed as "nothing happened" will misreport server state.To executives: This release lets us manage app server configuration through an API and through Git, instead of by hand over SSH. The practical payoff is fewer manual ops steps, an auditable record of who changed what, and the option to expose controlled self-service later without building a control plane from scratch. It is additive and non-breaking: older servers keep working, existing integrations are untouched, and the new capability is gated behind explicit new permissions we choose to grant. The main judgement call it forces is governance, not engineering — enabling auto-apply means repository commit rights become server-config rights, so that switch stays off until we have review rules in place.
To engineering: Version 1.35.0 adds three cipi.yml endpoints — a synchronous read-only plan (yml-view), an async app-yml-apply job, and idempotent auto-apply toggles (yml-manage) — plus matching MCP tools, CLI whitelist entries, and OpenAPI schemas. It hard-depends on Cipi CLI 5.6.4 for these routes only; everything from 1.34.0 behaves identically, and older servers answer 503 on the new paths rather than failing loudly elsewhere. Existing tokens do not receive the new abilities by design, so token issuance is a rollout step. Note the apply job's result contract: blocked, invalid, partial, and no-file all end as failed but still return a structured result — handle the payload, not just the status. Two smaller changes land alongside: job results now backfill a missing app key from job parameters, and the MCP server is at 1.5.0 with 76 tools on a single tools/list page.
How can I help you explore Laravel packages today?