Commit graph

150 commits

Author SHA1 Message Date
Luke Hoban 29fcde459b Add demo script and raw serverless example
Adds an initial cut at a demo script along with
a raw version of the serverless example that
is a better stepping stone between the low-level
AWS infrastructure providers and the high-level
`aws.serverless` APIs.
2017-06-12 15:20:37 -07:00
joeduffy 4108c51549 Reclassify Lumi under the Apache 2.0 license
This is part of pulumi/lumi#147.
2017-05-18 14:51:52 -07:00
joeduffy dafeb77dff Rename Coconut to Lumi
This is part of pulumi/coconut#147.

After it has landed, I will rename the repo on GitHub.
2017-05-18 11:38:28 -07:00
joeduffy 507a2609a7 Add an initial implementation of CIDLC
This is an initial implementation of the Coconut IDL Compiler (CIDLC).
This is described further in
https://github.com/pulumi/coconut/blob/master/docs/design/idl.md,
and the work is tracked by coconut/pulumi#133.

I've been kicking the tires with this locally enough to checkpoint the
current version.  There are quite a few loose ends not yet implemented,
most of them minor, with the exception of the RPC stub generation which
I need to flesh out more before committing.
2017-04-25 15:05:51 -07:00
joeduffy 90b172aacf Fix a few typos 2017-04-24 10:04:18 -07:00
joeduffy 7d3192637e Jot down design for resource provider IDL
As part of pulumi/coconut#133, we will be doing an IDL dialect of Go
plus a compiler, to support writing resource providers more easily.

This commit includes a design note for how it works.
2017-04-24 09:50:48 -07:00
joeduffy 67248789b3 Introduce assets
This change introduces the basic concept of assets.  It is far from
fully featured, however, it is enough to start adding support for various
storage kinds that require access to I/O-backed data (files, etc).

The challenge is that Coconut is deterministic by design, and so you
cannot simply read a file in an ad-hoc manner and present the bytes to
a resource provider.  Instead, we will model "assets" as first class
entities whose data source is described to the system in a more declarative
manner, so that the system and resource providers can manage them.

There are three ways to create an asset at the moment:

1. A constant, in-memory string.
2. A path to a file on the local filesystem.
3. A URI, whose scheme is extensible.

Eventually, we want to support byte blobs, but due to our use of a
"JSON-like" type system, this isn't easily expressible just yet.

The URI scheme is extensible in that file://, http://, and https://
are supported "out of the box", but individual providers are free to
recognize their own schemes and support them.  For instance, copying
one S3 object to another will be supported simply by passing a URI
with the s3:// protocol in the usual way.

Many utility functions are yet to be written, but this is a start.
2017-04-17 13:00:26 -07:00
joeduffy ed307ed00e Fix a bunch of typos
A bunch of types crept in.  Thanks @sonerterek!
2017-03-13 10:51:21 -07:00
joeduffy 4e1d0d05b0 Fix a typo in the docs 2017-03-11 10:53:58 -08:00
joeduffy bbd76996fa Add a shout-out to pulumi/coconut#54 2017-03-10 22:15:58 -08:00
joeduffy efd8065e97 Add some warnings to out-of-date docs 2017-03-10 22:03:50 -08:00
joeduffy 3b730211d6 Revamp the packages design document 2017-03-10 21:57:33 -08:00
joeduffy 374bcbe4d4 Tidy up the graphs design note 2017-03-10 21:13:08 -08:00
joeduffy 758ec2976b Fix a typo 2017-03-10 20:49:59 -08:00
joeduffy 6530eda346 Update the resources document 2017-03-10 20:45:23 -08:00
joeduffy 75ad4b4160 Overhaul the deps document 2017-03-10 20:19:05 -08:00
joeduffy f674d24ac7 Fix a src/dst mixup 2017-03-10 20:00:11 -08:00
joeduffy 4ca8ac9b8d Add a missing ` 2017-03-10 19:57:59 -08:00
joeduffy 6924e71861 Add more sample code 2017-03-10 19:36:45 -08:00
joeduffy 8670fd42a6 Merge branch 'master' of github.com:pulumi/coconut 2017-03-10 14:47:49 -08:00
joeduffy 8233357d5b Tidy up the formats document 2017-03-10 14:43:34 -08:00
Eric Rudder f32430cabd slight wording changes and WS edit 2017-03-10 13:50:55 -08:00
joeduffy 384e347115 No more nuts! 2017-03-10 13:27:19 -08:00
joeduffy 9bf279ceae Overhaul the overview document
This change brings the overview doc up to date with respect to the
changes we've made recently.
2017-03-10 13:14:32 -08:00
joeduffy 86dc13ed5b More term rotations
This changes a few naming things:

* Rename "husk" to "environment" (`coco env` for short).

* Rename NutPack/NutIL to CocoPack/CocoIL.

* Rename the primary Nut.yaml/json project file to Coconut.yaml/json.

* Rename the compiled Nutpack.yaml/json file to Cocopack.yaml/json.

* Rename the package asset directory from nutpack/ to .coconut/.
2017-03-06 14:32:39 +00:00
joeduffy 08b644a3ba Delete the architecture PNG
It's now out of date (Coconut versus Mu).

And shame on me for ever checking in a binary, anyway.
2017-02-25 07:40:26 -08:00
joeduffy fbb56ab5df Coconut! 2017-02-25 07:25:33 -08:00
joeduffy 9c2013baf0 Implement resource snapshot deserialization 2017-02-22 14:32:03 -08:00
joeduffy 801d29d515 Clarify that MuGLs are meant to version nicely
CR feedback from Eric.
2017-02-21 18:54:21 -08:00
joeduffy d4911ad6f6 Implement snapshot MuGL
This change adds support for serializing snapshots in MuGL, per the
design document in docs/design/mugl.md.  At the moment, it is only
exposed from the `mu plan` command, which allows you to specify an
output location using `mu plan --output=file.json` (or `-o=file.json`
for short).  This serializes the snapshot with monikers, resources,
and so on.  Deserialization is not yet supported; that comes next.
2017-02-21 18:31:43 -08:00
joeduffy 06a15d89c2 Draw dependency diagrams in the same direction 2017-02-21 16:15:19 -08:00
joeduffy 4a3d91f956 Make a few minor clarifications on monikers 2017-02-21 16:11:50 -08:00
joeduffy e8950fd53e Fix a minor typo 2017-02-21 16:08:30 -08:00
joeduffy 7cc72260d1 Jot down some thoughts on MuGL 2017-02-21 16:06:41 -08:00
joeduffy 468a69363f Add a couple TODOs to the resources design doc
This stuff is still evolving -- and I've put it on pause to make progress
on graph generation -- but I had these edits in my enlistment and didn't
want to lose them.
2017-02-02 11:20:08 -08:00
joeduffy 8302137c47 Fix a small typo 2017-01-31 14:44:54 -08:00
joeduffy b17bcdd702 Begin to flesh out resource model 2017-01-30 15:47:03 -08:00
joeduffy 0e82b3ea06 Update the architecture image 2017-01-26 17:01:31 -08:00
joeduffy 4e1c4fb033 Add a pretty little picture 2017-01-26 08:27:53 -08:00
joeduffy 7f27a4fb92 Add a better example to the overview 2017-01-26 07:51:46 -08:00
joeduffy 037f117303 Start a MuJS design document
This is admittedly very light at the moment, however, I had it on my
enlistment and want to checkpoint *something*, however minimal it is.
2017-01-17 11:42:49 -08:00
joeduffy 3db75444fc Clarify some language around package/module naming 2017-01-17 11:41:12 -08:00
joeduffy 048557ca79 Delimit package/module names from members
This change removes some ambiguity that existed in MuIL tokens given the
simplistic naming scheme of only using "/" as a delimiter.  We could have
resolved this ambiguity through successive name bindings, but I prefer a
more deterministic approach.  A module member token now delimits the
package/module name from the member name by a ":" character, as in
"aws/ec2:VM".  Furthermore, when reexporting elements from the current
package/module, we will use the self-referential "." character, as in
".:VM".
2017-01-13 07:44:51 -08:00
joeduffy 62e11f37e0 Rename formats doc to languages 2017-01-10 07:32:01 -08:00
joeduffy 7873ce0874 Add a note about exceptions vs fail-fast 2017-01-08 07:47:12 -06:00
joeduffy d36a522c33 Mention we want to lock down SSH by default
Also, add a link to marapongo/mu#33.
2017-01-08 07:31:59 -06:00
joeduffy a4f68abafb Add more details on pinned versions 2017-01-08 07:27:12 -06:00
joeduffy 92dd19d98a Add new AST node types to MuPack doc 2017-01-03 04:14:56 -08:00
joeduffy bebc952998 Add a note on dependency pinning 2017-01-03 03:41:41 -08:00
joeduffy 25c321e5f6 Fix a few random typos I noticed 2017-01-02 16:26:19 -08:00