Commit graph

18 commits

Author SHA1 Message Date
joeduffy ed0710dd0b Rename parameters to properties
The more I live with the current system, the more I prefer "properties" to
"parameters" for stacks and services.  Although it is true that these things
are essentially construction-time arguments, they manifest more like properties
in the way they are used; in fact, if you think of the world in terms of primary
constructors, the distinction is pretty subtle anyway.

For example, when creating a new service, we say the following:

        services:
                private:
                        some/service:
                                a: 0
                                b: true
                                c: foo

This looks like a, b, and c are properties of the type some/service.  If, on
the other hand, we kept calling these parameters, then you'd arguably prefer to
see the following:

        services:
                private:
                        some/service:
                                arguments:
                                        a: 0
                                        b: true
                                        c: foo

This is a more imperative than declarative view of the world, which I dislike
(especially because it is more verbose).

Time will tell whether this is the right decision or not ...
2016-11-19 10:34:51 -08:00
joeduffy b57e4c4414 Add Stack subclassing
This change introduces the notion of "Stack subclassing" in two ways:

1. A Stack may declare that it subclasses another one using the base property:

        name: mystack
        base: other/stack
        .. as before ..

2. A Stack may declare that it is abstract; in other words, that it is meant
   solely for subclassing, and cannot be compiled and deployed independently:

        name: mystack
        abstract: true
        .. as before ..

   Note that non-abstract Stacks are required to declare at least one Service,
   whether that is public, private, or both.
2016-11-18 17:30:32 -08:00
joeduffy 623702f474 Make a few minor edits to the docs 2016-11-16 18:08:32 -08:00
joeduffy be0097ed85 Add a document on the cloud-neutral Mu abstractions 2016-11-06 09:32:46 -08:00
joeduffy ea707cab68 Add a reminder to figure out Security metadata in Mufiles 2016-11-04 15:43:03 -07:00
joeduffy 7bd27e9036 Add a note to consider mu/job and mu/daemon types 2016-11-04 12:43:31 -07:00
joeduffy 47d8044e9a Split the metadata spec from the targets doc
This change separates the metadata specification from the targets doc,
since they are both meant to be consumable independent of one another
and will evolve at their own paces.
2016-11-04 11:23:59 -07:00
joeduffy a270a9e0fc Eliminate TODO stacking; it kills MarkDown readability 2016-11-03 18:29:23 -07:00
joeduffy cb2726dfb7 Flesh out more of the AWS CloudFormation transformations 2016-11-03 18:27:21 -07:00
joeduffy 047bc0aae2 Add a few AWS-specific TODOs to the Metadata doc 2016-11-03 16:18:23 -07:00
joeduffy ab35057316 Sketch out the nested Stacks section 2016-11-03 16:11:28 -07:00
joeduffy 792e90fe17 Add a brief note about subclassing 2016-11-03 15:52:03 -07:00
joeduffy 523a55ed1e Articulate the parameters section 2016-11-03 15:47:52 -07:00
joeduffy 1742d0ecf1 Sketch out the Metadata spec; start on the AWS IaaS
This sketches out some more details in the Metadata format, in addition to
starting to articulate what the AWS IaaS provider looks like.  Sadly, more
questions than answers, but it's good to have the placeholders...
2016-11-03 15:12:22 -07:00
joeduffy 969294aad6 Introduce the notion of a Clusters
Simple developer scenarios can be done solely in terms of Stacks.  However, to
support more sophisticated cases -- where multiplexing many Stacks onto a shared
set of resources is preferred (for cost savings, provisioning time savings,
control, etc) -- we need to introduce the concept of a Cluster.  Each Cluster has
a fixed combination of IaaS/CaaS provider, decided at provisioning time.
2016-11-03 12:13:51 -07:00
joeduffy fe2f52c436 Link to prioritized platform list 2016-11-03 12:06:46 -07:00
joeduffy 55ab75b222 Clarify the IaaS/CaaS relationship 2016-11-02 13:33:48 -07:00
joeduffy 0232dd3a08 Refactor the Architecture doc, and start a Metadata specification
This just contains primarily scaffolding, however lays out a general direction
and table of contents for the metadata specification document (marapongo/mu#1).
2016-11-02 13:04:27 -07:00