Commit graph

177 commits

Author SHA1 Message Date
joeduffy 47e1125f3b Use arrays to cut down on boilerplate
This is all hand-waving, of course, however it's helping with the language design.
2016-12-15 16:58:21 -08:00
joeduffy 5e652c3dd3 Check in the Xovnoc conversion example 2016-12-15 16:40:49 -08:00
joeduffy 46e89084bf Add a hypothetical Echo example 2016-12-14 15:13:17 -08:00
joeduffy ffae234af0 Add a Mu.yaml to the MongoDB/Twilio example 2016-11-23 16:28:00 -08:00
joeduffy d55acad652 Add a workspace file to our demo
This just sets the default cloud provider to AWS.
2016-11-22 09:50:53 -08:00
joeduffy 7f712243f7 Demonstrate hypothetical mu/app type in the demo 2016-11-22 08:58:06 -08:00
joeduffy efe69a2e2c Explicitly declare the demo's dependencies 2016-11-18 16:52:51 -08:00
joeduffy 74ebf36dd0 Update conversion modules to the latest 2016-11-17 05:26:32 -08:00
joeduffy d44a2c95ff Update the demo script to reference the DSL 2016-11-16 18:06:46 -08:00
joeduffy 001bcc097d Make a few updates to the demo Mu.yaml so that it compiles 2016-11-16 18:05:59 -08:00
joeduffy 19d5fcbd93 Fix a lambda typo in the demo code 2016-11-07 17:03:32 -08:00
joeduffy 8ce0ff95e9 Remove the Dockerfile from demo1/build2
The Mu stack stands alone and hence doesn't require a Dockerfile.
2016-11-07 17:02:36 -08:00
joeduffy c208ab65bb Replace Mu.yaml service description with a "source" directive 2016-11-07 10:16:11 -08:00
joeduffy 7323436760 Rearrange demo directory so the "build" variants stand alone 2016-11-07 10:15:38 -08:00
joeduffy 736008168d Add two variants to the Mu demo
This adds two hypothetical variants to the Mu demo, "building" new capabilities
up from the basic Express and MongoDB app we start with:

1) The first variant is to leverage the Mu SDK for service discovery and
   configuration, eliminating the "loosely typed" approach that is common with
   Docker (e.g., having to fetch connection URLs from arguments, environment
   variables, etc).  This extends the Mu type system "into" the Docker container,
   whereas previously it stopped at the boundary.

2) The second variant really takes this to the next level, embellishing the nice
   DSL-like approach.  In this model, infrastructure is expressed in code.
2016-11-07 09:37:47 -08:00
joeduffy 31717d5f95 Eliminate manual persistence from demo Mufile
Instead of manually creating a volume, we will arrange for the mongodb/mongodb
to auto-mount a mu/x/fs/volume, as per [the cloud-neutral design doc](/docs/xcloud.md).
2016-11-06 12:36:28 -08:00
joeduffy ea707cab68 Add a reminder to figure out Security metadata in Mufiles 2016-11-04 15:43:03 -07:00
joeduffy 7e26ab050d Add the "demo1" example app
This just adds a simple voting app for the demo script.  It leverages
a Node.js Express app for the frontend and a MongoDB database for the backend.
It conditionally provisions and attaches to an AWS Elastic Block Store volume
in the event that it's targeting an AWS cluster, and ephemeral storage otherwise.
2016-11-04 12:17:46 -07:00
joeduffy 8f529cb3d8 Add the Nginx hypothetical examples
This was really just a brainstorming exercise that helped get to the final
model we landed on.  I'm archiving it for posterity.  I'll decide whether to
carry it forward or delete it and leave it as an artifact for future reference
as I make more progress on the overall architecture and file format specification.
2016-11-01 11:01:55 -07:00
joeduffy 07444a9612 Add some README scaffolding around the converted examples 2016-11-01 10:39:36 -07:00
joeduffy d6b2575008 Add a few lingering changes to the Mu voting example
Some of this is out of date, however I'm archiving work in progress,
and will freshen it up momentarily.
2016-11-01 10:31:21 -07:00
joeduffy 8c3dbf9d6d Add Docker Compose and Kubernetes conversions as submodules 2016-11-01 10:30:39 -07:00
joeduffy 7d7609fc82 Fix a typo (cust => client variable name) 2016-10-25 17:25:12 -07:00
joeduffy 1ae888ce02 Add a sample app that sends a Twilio SMS anytime Mongo is updated
This was an interesting example I found in the Mulesoft GitHub repos.  It seemed like
a perfect candidate for Riff/Mu/Lambda, so I sketched out what it might look like.
2016-10-25 17:23:50 -07:00
joeduffy bbe6280d46 Sketch out the Mu YAML metadata for the vote50 app 2016-10-19 15:58:51 -07:00
joeduffy 26968a3314 Sketch out an AWS CloudFormation based compilation of the vote50 app
This change adds a .mu/ directory to the vote50 app.  Inside are the "expected"
contents that the Mu compiler should output.  Eventually we will validate against
this that the (currently non-existent) compiler generates the correct thing.

This isn't complete, although I can manually create bits and pieces of the stacks
using CloudFormation.  More files will come; for example, the code packages.

In a nutshell:

    .mu/                                # Shared files agnostic to the cloud target
        aws-native-cf/                  # Files specific to the AWS CloudFormation target
            app.template.yaml           # The CloudFormation stack for the overall app
            services/                   # A directory containing service-specific stacks
                voting.template.yaml    # The CloudFormation stack for the VotingService
        services/                       # Service files agnostic to the cloud target
            voting.proto                # The gRPC definition for VotingService's API
        mu.yaml                         # The Mu package manifest (minimal for now)
2016-10-15 12:18:28 -07:00
joeduffy b1aa61e03d Create a sample app that exposes a voting API for all 50 states 2016-10-15 09:00:28 -07:00