sparse-intern-71089
07/18/2018, 4:00 PMmicroscopic-florist-22719
microscopic-florist-22719
stocky-spoon-28903
07/18/2018, 4:04 PMstocky-spoon-28903
07/18/2018, 4:04 PMmicroscopic-florist-22719
big-piano-35669
microscopic-florist-22719
big-piano-35669
stocky-spoon-28903
07/18/2018, 4:14 PMbig-piano-35669
microscopic-florist-22719
bitter-oil-46081
07/18/2018, 4:59 PMpulumi-language-<lang-name>
and you deal with the "how do I actually start the user's program"
- Get gRPC generation working in your language and in your small program, use the Engine gRPC interface to send explicit log messages. This lets you know the gRPC stuff is working.
- Invoke the RegisterResource gRPC call directly, to create an AWS Bucket or some other simple resource.
- Build out the ComponentResource and CustomResource base classes, or whatever the analog you have in your programming model is. This forces you to think about how you want to project Pulumi in your language and come up with something like Input<T> and Output<T>.
- Write few custom resources "by hand", e.g. write the implementation of the aws.s3.Bucket
class, so you have a sense for what the code you'll have to produce from tfgen looks like.
- Start to compose resources. e.g. a BucketObject that goes in a Bucket. This forces you to build out the dependency tracking in Output<T>, for example, and helps you ensure you marshal custom resources correctly.
That's basically where I am at today with .NET. The big gaps left would be do get "ReadResource" and "Invoke" working, but you can actually build non trivial programs with the technology above. I think once you get to that point, the next gap is to tackle getting a tfgen backend for your language.
If you're going to do it, it's my personal belief is that you should look at the go language provider to get a sense of the general architecture of a language host but once you have a general sense of things really start reading the nodejs one. I've found the types we defined there super valuable and if you have any real question of "how does Pulumi do X" it's probably the one that's going to have the most satisfying answer.stocky-spoon-28903
07/18/2018, 5:02 PMstocky-spoon-28903
07/18/2018, 5:03 PMbitter-oil-46081
07/18/2018, 5:07 PMstocky-spoon-28903
07/18/2018, 5:10 PMtall-librarian-49374
07/18/2018, 9:08 PM