Commit graph

52 commits

Author SHA1 Message Date
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 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 8233357d5b Tidy up the formats document 2017-03-10 14:43:34 -08:00
joeduffy 384e347115 No more nuts! 2017-03-10 13:27:19 -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 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 b17bcdd702 Begin to flesh out resource model 2017-01-30 15:47:03 -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
joeduffy 41323c1dc7 Reorder some things 2017-01-01 18:34:31 -08:00
joeduffy c403f9b444 Nit, shorten the ridiculously lengthy title 2017-01-01 18:33:28 -08:00
joeduffy 17a0f62f8d Add a few tidbits, include an AST shape snapshot in MuIL section 2017-01-01 18:29:07 -08:00
joeduffy 78b2adc9fe Overhaul the stacks.md design document
The stacks.md document used to describe the metadata format.  Now that we've
moved away from the old model of YAML + Go templates, and created the MuPack/MuIL
format, this document needed to be overhauled.

It's pretty bare bones now, however it will eventually evolve into a document
describing how the Mu abstractions map down onto MuPack/MuIL concepts.  For example,
it describes how subclassing mu.Stack creates a "stack", even though at the MuPack/MuIL
level it's just any old subclass.
2017-01-01 18:06:03 -08:00
joeduffy 36ab7a8710 Add some out of date markers 2017-01-01 17:11:28 -08:00
joeduffy 0c2940ba0b Goodbye Mull2
Some say the world will end in fire,
Some say in ice.
From what I've tasted of desire
I hold with those who favor fire.
But if it had to perish twice,
I think I know enough of hate
To say that for destruction ice
Is also great
And would suffice.
2017-01-01 17:05:48 -08:00
joeduffy e451d64a71 Tidy up a few things, especially references to "resources" 2017-01-01 16:57:12 -08:00
joeduffy a2ca2c84af Flesh out the cross-cloud doc 2017-01-01 16:35:23 -08:00
joeduffy 7a502cb83a Flesh out a bunch of things 2017-01-01 16:17:30 -08:00
joeduffy 7d249894ee Freshen up the description of dependency management 2017-01-01 16:02:18 -08:00
joeduffy 1895753f53 Goodbye Mull
A Death blow is a Life blow to Some
Who till they died, did not alive become--
Who had they lived, had died but when
They died, Vitality begun.
2017-01-01 15:24:25 -08:00
joeduffy 1bd1aaf968 Reorganize documents a bit and add an index 2017-01-01 15:18:36 -08:00
joeduffy 8f820ce11f Rename languages.md to formats.md
And also wordsmith a bunch of the front matter.
2017-01-01 15:12:51 -08:00