Skippr Cloud deployment model
Choose one owner for desired infrastructure state. Use direct Cloud APIs for application-controlled resources, Terraform or CDKTF for declarative infrastructure, Functions for executable packages, and Sites for immutable web releases.
Status: Preview — deployment behavior follows the readiness status of the underlying service and operation.
Boundaries first
| Boundary | Owner | What it does |
|---|---|---|
| Authentication and tenancy | auth and ABAC | Derives the caller and tenant from verified credentials. |
| Provisionable control plane | Direct API or Terraform | Creates and manages resources such as tables, queues, functions, Apis, Sites, and domains. |
| Desired state and plan | Terraform | Evaluates configuration, stores state, plans changes, imports, and applies. |
| Managed-resource verification | inventory | Records and verifies provider-managed resources; never plans or repairs them. |
| Data plane | Cloud API or SDK | Reads items, sends messages, transfers object bytes, and invokes functions. |
| Function release | functions | Registers a package and configuration as a function revision. |
| Web release | sites | Stores immutable Deployments and promotes one as the active Site release. |
The verified credential selects the tenant. Do not send a tenant id in a request body, query parameter, or custom header.
At a glance
| Surface | Deployment unit | State owner | Result |
|---|---|---|---|
| Native Cloud API | Service resource or operation | Calling client | Service control-plane state |
| Terraform | cloud_* resource | Terraform configuration and state | Planned and applied Cloud resources |
| CDKTF TypeScript or Python | Generated construct | Terraform configuration and state | Terraform plan/apply result |
| Functions | Function package and configuration | Functions API | Registered function revision |
| Sites | Immutable Deployment | Sites API | Preview release or active Site release |
CDKTF does not introduce a second Cloud deployment engine. It synthesizes Terraform configuration.
Choose your path
Use direct Cloud APIs
Choose direct APIs when your application explicitly controls resource calls or when you are performing data-plane work. A resource's generated contract lists its create, read, update, delete, and list operations.
Your client owns call ordering, retries, and any desired-state record outside the service. Use clientToken, revision, conditional, and pagination fields only where the operation schema defines them.
Use Terraform
Choose Terraform when you want declarative cloud_* resources, plans, state, refresh, and import. The provider is skippr/cloud version 0.1.0, with eu-central-1 as its default region.
The provider calls the same native Cloud resource operations as a direct client. It also registers and verifies managed resources with inventory. Terraform remains the owner of the plan and any corrective action.
See Terraform and CDKTF for credential prerequisites, a copyable cloud_table example, the exact 19 resource identifiers, and lifecycle details.
Use CDKTF TypeScript or Python
Choose CDKTF when you want to define the same Terraform resources in TypeScript or Python:
| Language | Package | Provider class |
|---|---|---|
| TypeScript | @skippr/provider-cloud 0.1.0 | CloudProvider |
| Python | skippr-cdktf 0.1.0; import skippr_cdktf | CloudProvider |
CDKTF synthesizes Terraform JSON. Terraform then plans and applies it, so the ownership and inventory boundaries are identical to HCL.
Deploy application code
Deploy a function
- Put a Zip artifact in
objects, or choose an OCI image reference. - Call
RegisterFunctionwith package and runtime configuration. - Use
UpdateFunctionCodeorUpdateFunctionConfigurationfor later changes. - Call
InvokeorInvokeAsync, or connect the function togateway,events, orqueue. - Use
GetFunctionandListFunctionsto inspect state.
Zip and image package types are distinct contract values. A Zip package uses an object location and digest. An image package uses an OCI image reference and optional digest. Authorize the function's workload principal through auth.
Deploy a Site
Terraform can manage the stable cloud_site and cloud_site_domain_binding resources. Your release workflow manages immutable Sites Deployments:
- Build the static application in your own build workflow.
- Call
CreateDeploymentand upload the requested content. - Call
CompleteDeploymentto validate and publish the immutable release. - Test the Deployment preview hostname.
- Call
PromoteDeploymentto make it the active Site release. - Promote an earlier ready Deployment to roll back.
Site, Deployment, promotion, and DomainBinding operations are callable in Preview. PurgeCache, RevalidatePath, RevalidateTag, and framework SSR remain later work.
Keep control and data operations separate
Client → HTTPS gateway edge → authentication → ABAC → Cloud serviceTerraform and CDKTF manage only resources listed in the resource reference. Data-plane operations remain API or SDK calls. For example, Terraform can create cloud_table, but your application uses CloudTables.PutItem and CloudTables.GetItem.
Limits, errors, and contracts
- Check operation readiness before adding a deployment step;
plannedoperations are not callable. - Use the resource reference for required attributes, import identities, and update-or-replace behavior.
- Use each service guide for package, payload, resource, and concurrency limits. There is no shared deployment limit to infer across services.
- Cloud API failures use the shared error contract. Terraform and CDKTF surface those service failures during plan, refresh, or apply as appropriate.
