mirror of https://github.com/pulumi/pulumi.git
5eb78af779
The pulumi runtime used to lazily load and parse both config and settings data set by the language host. The initial reason for this design was that we wanted the runtime to be usable in a normal node environment, but we have moved away from supporting that. In addition, while we claimed we loaded these value "lazily", we actually forced their loading quite eagerly when we started up. However, when capturing config (or settings, as we now do), we would capture all the logic about loading these values from the environment. Even worse, in the case where you had two copies of @pulumi/pulumi loaded, it would be possible to capture a config object which was not initialized and then at runtime the initialization logic would try to read PULUMI_CONFIG from the process environment and fail. So we adopt a new model where configuration and settings are parsed as we load their containing modules. In addition, to support SxS scinerios, we continue to use `process.env` as a way to control both configuration and settings. This means that `run.ts` must now ensure that these values are present in the environment before either the config or runtime modules have been loaded. |
||
---|---|---|
.. | ||
dynamic-provider | ||
pulumi-language-nodejs | ||
run |