ambitious-father-68746
05/23/2023, 7:25 AMworried-rain-74420
05/23/2023, 2:09 PMimport { version } from "@pulumi/pulumi";
ambitious-father-68746
05/24/2023, 11:08 AMworried-rain-74420
05/24/2023, 2:22 PMambitious-father-68746
05/24/2023, 4:56 PMrequirements.txt
file and then have a check at runtime to see if dependencies match. So far so good.worried-rain-74420
05/24/2023, 9:46 PM--target
regressions are caused by issues in the engine, which is part of the CLI, so the CLI version is what you want to check.
The CLI does a lot more than just run the user program, I'm afraid. Suppose you have a Node program that creates an AWS S3 bucket. First, the engine launches the Node program. The Node program tells the engine "I want an S3 bucket". The engine launches the AWS provider, which, like the Node program, is its own process with a gRPC server for communicating back and forth with the engine. Finally, the engine tells the AWS provider "give me an S3 bucket".
I'm eliding some details (and additionally processes!) but that's the crux of it. The Node program isn't making calls to AWS's API itself; it just tells the engine (i.e. the CLI) what it wants.
In the case of --target
, the CLI is filtering out the requests from the Node program and only selecting the targeted one. This is also how other resource options, like dependsOn
, ignoreChanges
, and more are applied. The engine determines the order in which to create the resources, and whether they need to be created at all.--target
regression. I know it's no consolation for your lost time, but my teammate has been heads-down for the past month working to get --target
in a better place. We conduct postmortems as a team within a week of each regression, so --target
has been discussed many times this month!