Sample scopes
Sample scopes are working examples of scope types that nullplatform maintains in public repositories. Each one ships its scope specification, actions, workflows, and the code your agent runs to deploy to it, so you can adopt it as is or use it as the starting point for your own. They are examples, not the limit of what you can run: any scope type you craft works the same way.
Samples
Each row is one scope type, as defined in the latest release of its repository:
- Scope: the name developers see when they create a scope.
- Description: what the scope deploys, as the scope type describes itself.
- Repository: links to the folder with the scope's code. Some repositories hold several scope types.
| Scope | Description | Repository |
|---|---|---|
| Containers | Docker containers on pods | scopes/k8s |
| Scheduled Task | Allows you to deploy periodic jobs in Kubernetes | scopes/scheduled_task |
| Static files | Allows you to deploy static files applications | scopes-static-files/static-files |
| AWS Lambda | Serverless functions on AWS Lambda | scopes-lambda/lambda |
| Containers On-Premise | Docker containers on pods, on self-managed/on-premise clusters | scopes/onprem |
| Volt MX Foundry app | Publishes a Volt MX Foundry app to a Foundry environment | scopes-voltmx-foundry-app/voltmx-foundry-app |
| Mobile store | Publishes mobile app binaries (Android, iOS) to a distribution channel: tester groups, app stores or an enterprise store | scopes-mobile-store/mobile-store |
Each repository has its own releases and changelog. A scope that's no longer maintained stays listed, with Deprecated at the start of its name.
How adopting a sample scope works
The repository's README has the exact steps and values for each scope. The flow is the same for all of them:
- Grant the agent its cloud permissions. If the scope has a requirements module in
<path>/specs/requirements/<cloud>, apply it in your cloud account. It sets up the permissions your agent needs to deploy to the scope. - Register the scope type in nullplatform. Use the
scope_definitionandscope_definition_agent_associationmodules from tofu-modules. The first one registers the scope type, its actions and its specification from the repository, and the second one routes the scope's actions to your agents. Some repositories include a ready-to-apply module for this in<path>/specs/install/<cloud>. - Complete the scope's own prerequisites. Some scopes need more before their first deployment, such as a scope configuration, DNS zones, or a cluster the agent can reach.
Once it's registered, developers pick the scope type when they create a scope for their applications, like any other scope type.
You need a running agent with a notification channel for your scopes before you adopt one. If you don't have it yet, set it up first.
Next steps
- Craft a scope from scratch: build your own scope type or adapt a sample
- Scope types: choose the right scope type for your workload
- Overrides: change how a scope behaves without copying it
- Sample services: the same kind of catalog, for services