Skip to main content

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:

  1. collects the service data
  2. prepares the event payload
  3. sends it to your runner, agent, or webhook
  4. 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

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.