-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
640be0d
commit acef35e
Showing
21 changed files
with
131 additions
and
139 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
- Protobuf - used by Pulumi | ||
- MessagePack - used in internal communication | ||
- JSON - used in internal communication |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Checklist for new language | ||
|
||
New language should have the following features: | ||
|
||
- `component:pulumi-wasm/pulumi-main.main` [Entrypoint](WIT.md#pulumi-main) | ||
- Abstration over `Output<T>` (mapping, combining) | ||
- Function map loop described in [Output](Output.md/#mapping) | ||
- Generating glue code for providers | ||
|
||
`pulumi_wasm_rust` and `pulumi_wasm_macro` should be used as an example - combined they have about 100 LOC and they | ||
only create abstration over WASM calls. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,49 @@ | ||
# WIT | ||
|
||
``` title="world.wit" | ||
--8<-- "pulumi_wasm_wit/wit/world.wit" | ||
``` | ||
|
||
## Interfaces | ||
|
||
### Output | ||
|
||
Allow working with Outputs (so maybe not yet set values managed by Pulumi). Interface allows creating, mapping and cloning (to be removed in the future). | ||
It also allows to combine list of outputs into output of list | ||
|
||
### Stack | ||
|
||
(Name to be changed). Currently, this interface allows adding output as export ([Pulumi docs](https://www.pulumi.com/tutorials/building-with-pulumi/stack-outputs/)). | ||
And invoking `finish` function - explained in [Output](Output.md/#mapping). | ||
|
||
### Pulumi main | ||
|
||
Entrypoint to program that will be invoked by `pulumi-wasm-runner`. | ||
In Rust case it is created by `pulumi_wasm` macro. | ||
|
||
### Log | ||
|
||
Allows logging from within provider (used mostly for main pulumi-wasm component) | ||
|
||
### Register | ||
|
||
Interface that allows registering of Pulumi resources. Used only by providers. | ||
|
||
### External world | ||
|
||
Interface used as a substitute until WASM gets proper GRPC client support. | ||
It is used by main `pulumi-wasm` component binary and is implemented by `pulumi-wasm-runner`. | ||
|
||
## Worlds | ||
|
||
### client world | ||
|
||
World used by client languages. Imports output and stack interfaces and exports pulumi-main interface. | ||
|
||
### pulumi-wasm world | ||
|
||
World used by main pulumi-wasm component. A | ||
|
||
### logger world | ||
|
||
World that only contains `log` interface. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,12 +2,11 @@ | |
|
||
### Pulumi WASM | ||
|
||
Main WASM component. Currently implements Output handling, send and handles requests to Pulumi. | ||
Main WASM component. Currently, implements Output handling, send and handles requests to Pulumi. | ||
|
||
### Pulumi WASM runner | ||
|
||
x64 application that runs the WASM component. | ||
Implements `component:[email protected]/external-world` and `component:[email protected]/log` interfaces. | ||
x64 application that combines and executes Pulumi WASM components. | ||
|
||
### Pulumi WASM Rust | ||
|
||
|
@@ -18,25 +17,6 @@ Also provides `pulumi_main` macro via `pub use` from `Pulumi WASM Rust Macro`. | |
|
||
Rust library with `pulumi_main` macro. Addon to `Pulumi WASM Rust` | ||
|
||
### WASM Common | ||
### Pulumi WASM Common | ||
|
||
Library used in WASM components of Pulumi providers. Currently provides logging facilities. | ||
|
||
### Pulumi WASM Provider Random | ||
|
||
WASM component for Pulumi's Random provider. Currently handwritten - | ||
after [#5](https://github.com/andrzejressel/pulumi-wasm/issues/5) generated. | ||
|
||
### Pulumi WASM Provider Random Rust | ||
|
||
Rust library that provides a high-level and typesafe API for `Pulumi WASM Provider Random` WASM component. | ||
Currently handwritten - after [#5](https://github.com/andrzejressel/pulumi-wasm/issues/5) generated. | ||
|
||
### cargo pulumi | ||
|
||
Cargo subcommands that compile and combine Pulumi WASM components into a single WASM file. | ||
|
||
### examples/simple | ||
|
||
Currently the only example. It's a simple Pulumi program that uses `Pulumi WASM Provider Random Rust` to generate random numbers. | ||
In future will be one of integration tests. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.