Getting Started
Quickstart
Move from install to the first validated render with the supported CLI flow.
This guide follows the supported first-render flow from an already available OPSd CLI to rendered
OpenTofu output. It assumes opsd is available on your PATH.
Create Or Select A Profile
OPSd uses a profile to remember which provider and settings you want to work with. When prompted, choose the provider you want to use for this profile.
opsd config profile create work
opsd config profile use work
If you already have a profile, use opsd config profile current to verify it.
Inspect The Catalog
opsd list blueprints
opsd describe blueprint backend-api-db
Initialize A Manifest
opsd init blueprint backend-api-db demo.yaml --variant vm
Validate And Render
opsd validate manifest demo.yaml
opsd render manifest demo.yaml --output live/
Hand Off To OpenTofu
cd live
tofu init -backend=false -input=false
tofu validate
What To Do Next
After the first render, keep working through the same manifest with the CLI.
Scale an existing compute group
Use scale when the current shape is still right, but the workload needs more instances.
opsd scale compute-group demo.yaml api-public --replicas 3
Add supporting infrastructure
Use add when the scenario needs a new supporting resource such as cache or a load balancer.
opsd add cache redis demo.yaml --id cache-main
opsd add load-balancer demo.yaml --id lb-public --visibility public --port 80 --target-port 8080
Attach the workload to traffic
Use attach when the workload should start receiving traffic through a load balancer.
opsd attach compute-group demo.yaml api-public --to lb-public
Validate and render again
Every supported change should still go through validation and render before you continue with OpenTofu.
opsd validate manifest demo.yaml
opsd render manifest demo.yaml --output live/
The same manifest stays the source of truth for later renders. The supported loop becomes:
- change the manifest with
opsd add,opsd scale,opsd attach,opsd detach,opsd remove, oropsd resize - validate the manifest again
- render the updated stack
- use
tofu planandtofu applyon the rendered output as usual