pulumi/sdk/nodejs
Thomas Gummerer 4169755866
Implement up --continue-on-error (#15740)
Similar to destroy --continue-on-error, this flag allows `pulumi up`
to continue if any errors are encountered.

Currently when we encounter an error while creating/updating a
resource, we cancel the context of the deployment executor, and thus
the deployment stops once the resources that are being processed in
parallel with the failed one finish being updated.

For --continue-on-error, we ignore these errors, and let the
deployment executor continue.  In order for the deployment executor to
exit eventually we also have to mark these steps as done, as the
deployment executor will otherwise just hang, and callers with open
channels waiting for it to finish/report back will hang indefinitely.

The errors in the step will still be reported back to the user by the
OnResourceStepPost callback.

Fixes https://github.com/pulumi/pulumi/issues/14515

---------

Co-authored-by: Fraser Waters <fraser@pulumi.com>
2024-04-22 11:12:45 +00:00
..
asset Apply autoformat 2023-04-28 18:27:10 -04:00
automation Use new API for deployments (#15684) 2024-04-16 23:23:56 +00:00
cmd Implement up --continue-on-error (#15740) 2024-04-22 11:12:45 +00:00
dist Fix typo in PP script 2019-08-06 17:35:52 -07:00
dynamic Allow dynamic providers to capture secrets 2023-06-29 15:28:31 -07:00
iterable Apply autoformat 2023-04-28 18:27:10 -04:00
log Move nodejs feature checks to startup (#14856) 2023-12-19 14:35:23 +00:00
npm Fix codepaths computation when working dir is nested relative to package.json (#15601) 2024-03-08 16:16:47 +00:00
proto Implement up --continue-on-error (#15740) 2024-04-22 11:12:45 +00:00
provider Cleanup so uses of `any` in the nodejs sdk (#15558) 2024-03-02 00:00:57 +00:00
queryable This commit safely replaces empty interfaces with type aliases. 2023-05-11 23:10:00 -04:00
runtime Implement up --continue-on-error (#15740) 2024-04-22 11:12:45 +00:00
tests Use new API for deployments (#15684) 2024-04-16 23:23:56 +00:00
tests_with_mocks Add testing for async TS mocks 2023-06-01 14:13:04 +02:00
types Replace deprecated read-package-tree with @npmcli/arborist (#15503) 2024-02-26 18:40:28 +00:00
vendor Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
.eslintrc.js Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
.gitignore Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
Makefile Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
README.md fix some links 2023-05-19 19:39:26 -07:00
config.ts Add --secret to config set hints when needed 2023-06-22 17:25:30 +01:00
errors.ts Remove Useless Constructors. 2023-05-15 19:48:47 -04:00
index.ts Removing x namespace from go/python/nodejs automation packages (#6518) 2021-04-14 19:32:18 +01:00
invoke.ts [sdk/nodejs] Add pluginServerURL (#8698) 2022-01-10 15:54:41 -08:00
metadata.ts Make getOrganization total, default to 'organization' 2022-09-22 11:06:51 -07:00
output.ts allow unknowns in apply during update (#15898) 2024-04-10 16:48:38 +00:00
package.json Freeze v3.113.3 (#16001) 2024-04-19 17:38:57 +00:00
resource.ts Export automation.tag.TagMap type & @param tag fixes (#15774) 2024-03-25 14:33:15 +00:00
rome.json Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
stackReference.ts Export automation.tag.TagMap type & @param tag fixes (#15774) 2024-03-25 14:33:15 +00:00
tsconfig.json Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
tsutils.ts Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
typescript-shim.ts Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
utils.ts Add option to throw on output toString and toJSON calls (#14811) 2023-12-20 11:43:07 +00:00
version.ts Freeze v3.113.3 (#16001) 2024-04-19 17:38:57 +00:00
yarn.lock Move mockpackage tests to closure integration tests (#15757) 2024-03-26 11:38:01 +00:00

README.md

Pulumi Node.js SDK

The Pulumi Node.js SDK lets you write cloud programs in JavaScript.

Installation

Using npm:

$ npm install --save @pulumi/pulumi

Using yarn:

$ yarn add @pulumi/pulumi

This SDK is meant for use with the Pulumi CLI. Visit Pulumi's Download & Install to install the CLI.

Building and Testing

For anybody who wants to build from source, here is how you do it.

Prerequisites

This SDK uses Node.js and we support any of the Current, Active and Maintenance LTS versions. We support both NPM and Yarn for package management.

At the moment, we only support building on macOS and Linux, where standard GNU tools like make are available.

Make Targets

To build the SDK, simply run make from the root directory (where this README lives, at sdk/nodejs/ from the repo's root). This will build the code, run tests, and install the package and its supporting artifacts.

At the moment, for local development, we install everything into $HOME/.dev-pulumi. You will want this on your $PATH.

The tests will verify that everything works, but feel free to try running pulumi preview and/or pulumi up from the examples/minimal/ directory. Remember to run tsc first, since pulumi expects JavaScript, not TypeScript.