Now let's open Spacelift and create a new Stack, choose the examples repo you just forked. In the second step you'll have to change multiple default values:
Set the project root to aws-js-webserver, as we want to run Pulumi in this subdirectory only.
Add one before init script: npm install, which will install all necessary dependencies, before initializing Pulumi itself. The outputs will be persisted in the workspace and be there for the Planning and Applying phases.
Pinning to a specific Pulumi version is possible too, using a tag like v2.15.4 - you can see the available versions here.
In the third step, choose Pulumi as your Infrastructure as Code vendor. You'll have to choose:
A state backend, aka login URL. This can be a cloud storage bucket, like s3://pulumi-state-bucket, but it can also be a Pulumi Service endpoint.
You can use https://api.pulumi.com as the Login URL to use the official Pulumi state backend. You'll also need to provide your Pulumi access token through the PULUMI_ACCESS_TOKEN environment variable.
You'll now have to set up the AWS integration for the Stack, as is described in AWS.
Go into the Environment tab in your screen, add an AWS_REGION environment variable and set it to your region of choice, i.e. eu-central-1.
You can now trigger the Run manually in the Stack view, after the planning phase is over, you can check the log to see the planned changes.
Confirm the run to let it apply the changes, after applying it should look like this:
We can see the publicHostName stack output. If we try to curl it, lo and behold: