Provisioning overview
Provisioning is the process that creates, updates, or removes the infrastructure behind a service. In nullplatform, you trigger an action and the platform orchestrates the workflow. Your infrastructure tools or the nullplatform agent do the actual work.
This overview explains how provisioning fits into the service lifecycle, how nullplatform communicates with your automation, and how your IaC and CI tools integrate with the process.
What provisioning means in nullplatform
When you provision a service, nullplatform runs the workflow defined for that service type. This workflow may:
- create or update cloud resources
- apply IaC plans
- run CI pipelines
- execute scripts through the nullplatform agent
- or apply your own custom automation
Nullplatform coordinates the workflow and passes the right information to your automation, but it does not provision infrastructure on your behalf. You stay in full control of how your resources are created and managed.
Actions that trigger provisioning
Each service type defines the actions that shape its lifecycle, such as create, update, delete, or custom actions.
When you trigger one of these actions, nullplatform:
- collects the service data
- prepares the event payload
- sends it to your runner, agent, or webhook
- waits for the result and updates the service state
This gives you a predictable process for provisioning tasks.
How orchestration works
The orchestrator handles the internal logic when an action runs. It:
- validates the request
- enriches the event with context
- routes the event to your chosen execution environment
- persists the outcome
Your tools receive a clear description of the service, the action, and the environment.
Using runners, automation tools, and the agent
You choose where provisioning runs. Nullplatform integrates with:
- GitHub Actions
- GitLab Pipelines
- Azure DevOps Pipelines
- Webhooks
- The nullplatform agent, running inside your infrastructure
A runner or agent receives the event and performs the provisioning task. For example:
- a CI workflow can run Terraform or OpenTofu
- the agent can execute provisioning scripts securely inside your private network
- a webhook can trigger an internal automation system
After processing the request, the runner or agent reports back so nullplatform can update the service state.
Using IaC tools
If you use Infrastructure as Code, you can integrate your modules with service actions through the nullplatform provider.
You can:
- apply infrastructure changes declaratively
- version and reuse modules
- keep service metadata aligned with your IaC
Recommended setup for Terraform and OpenTofu
To keep your environment reliable, use:
- a locking mechanism such as DynamoDB
- a remote state backend such as S3
- a unique state file per service or link
This avoids conflicts and helps you scale provisioning safely.
Updating services
Service updates may or may not require provisioning.
- Update with provisioning: Runs the update action and sends a provisioning event.
- Update without provisioning: Updates metadata only. Useful for imported services or non-infrastructure fields.
Deleting services
If a service defines a delete action, you must run it to remove infrastructure. Some setups allow forced deletion, but use this carefully to avoid leaving unused resources behind.
Always remove links referencing a service before deleting the service itself.
Summary
Provisioning in nullplatform provides a structured workflow for managing infrastructure changes. You trigger actions in the platform, and your runners, CI pipelines, IaC tools, or the nullplatform agent perform the work. This lets you automate consistently while keeping full control of your infrastructure.