main.tf or index.ts from the project structure tutorial, applied three times with three different answers to “how big” and “who pays.”
Terraform workspaces
A workspace is an isolated slot of state within the same backend. Every workspace shares the same configuration files.terraform.workspace. The data blocks and the biznetgio_neolite_keypair resource are exactly what the quickstart already declared in full - what’s different here is that product_id is no longer products[0]. It’s picked deliberately per workspace, using the real package names from the NEO Lite catalog:
Confirm
"XS 1.1" and "MS 4.2" against your own account’s catalog output before relying on them - see Step 1 in the catalog overview. select_os still uses oss[0] here since OS lists are usually short and dominated by one obvious choice; apply the same name-filter pattern to it if that’s not true for your account.envs/dev, envs/staging, envs/production), each with its own backend configuration and tfvars, all calling the same shared module.
Pulumi stacks
A stack is Pulumi’s native equivalent, and it’s the primitive the quickstart already used without naming it.Pulumi.<stack>.yaml config file and independent state. Set config per stack explicitly with --stack:
pulumi.getStack(). keypair and config are exactly what the Pulumi quickstart already declared in full - what’s different here is that productId is no longer products[0]. It’s picked deliberately per stack, using the real package names from the NEO Lite catalog:
Confirm
"XS 1.1" and "MS 4.2" against your own account’s catalog output before relying on them - see Step 1 in the catalog overview. selectOs still uses oss[0] here since OS lists are usually short and dominated by one obvious choice; apply the same name-filter pattern to it if that’s not true for your account.A practical dev/staging/production split
A pattern that works well for these providers specifically:
Read the billing guide for exactly what
pay_with_credit_card = false does; it’s the cheapest way to rehearse a whole apply/up cycle before committing real money.
Next steps
- State, remote backends, and team collaboration - get each environment’s state off your laptop