pulumi/pkg
bors[bot] ff7337e87a
Merge #12496
12496: filestate/projectStore: Optimize ListReferences r=abhinav a=abhinav

ListReferences for project layout is currently inefficient.
It roughly does the equivalent of:

    for proj in bucket.List(stacksDir)
        for ref in bucket.List(stacksDir + "/" + proj):
            # ...

This is fine for local, file-based storage,
but super inefficient for S3 or Azure.
The reason this was written as above is because we treat the bucket
as a directory tree in listBucket.

This changes projectStore.ListReferences to use the underlying
bucket.List method directly--without setting the Delimiter.
This treats the bucket as a flat file list instead of a hierarchy,
and we can extract project and stack names from it in one go.


Co-authored-by: Abhinav Gupta <abhinav@pulumi.com>
2023-04-01 04:22:52 +00:00
..
authhelpers make linter happy 2023-02-08 10:30:10 -08:00
backend Merge #12496 2023-04-01 04:22:52 +00:00
cmd/pulumi {cli, filestate}: Add 'state upgrade' command 2023-03-31 16:29:05 -07:00
codegen Merge #12577 2023-03-31 22:37:24 +00:00
engine Test and fix component->custom->component lifecycle 2023-03-30 15:18:05 +01:00
graph all: Assert => Assertf 2023-03-03 14:37:43 -08:00
importer all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
operations all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
resource Revert PR moving deletedWith inheritance logic to the engine as `get` resources and MLCs are incompatible. 2023-03-30 10:18:27 -07:00
secrets all: Assert => Assertf 2023-03-03 14:37:43 -08:00
testing/integration chore(all): Log to iotest.LogWriter from tests 2023-03-07 11:27:47 -08:00
util all: Assert => Assertf 2023-03-03 14:37:43 -08:00
version duplicate version to ensure linking is properly handled 2020-03-19 12:49:34 -07:00
README.md export codegen tests for internal use (#8928) 2022-02-07 12:10:04 +01:00
go.mod chore: post-release go.mod updates 2023-03-30 20:33:29 +00:00
go.sum Update go-getter 2023-03-29 16:07:24 +01:00

README.md

pulumi/pkg

While pulumi/sdk maintains strict backwards compatibility guarantees, code under pkg/ is handled more informally: while breaking changes are still discouraged they may happen when they make sense.