Open Source Application to manage serverless/vmless environment
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api
build
command
devs
docker_envs/php
runner
.gitignore
LICENSE
Makefile
README.md
main.go

README.md

Lambda function manager

Gourmet runs your code "as a service". Lambda function manager written in golang and based on docker.

Implementation

gourmet is a cli application that start an http server to start new build.

./gourmet api

After this command your server is ready to go on port 8000.

Env vars

GOURMET_REGISTRY_URL allow registry push and pull in order to manage more gourmet.

API

POST /func

{
    "img": "gourmet/php",
    "source": "https://ramdom-your-source.net/gourmet.zip",
}
  • img is the name of docker image to use how started point
  • source is the artifact of your script, it should be contain an executable console entrypoint bin/console This function return the function's id FuncId
{
    "FuncId": "34gaw23t2"
}
POST /func/{FuncId}

{
    "env": [
        "AWS_KEY=EXAMPLE",
        "AWS_SECRET=",
        "AWS_QUEUE=https://sqs.eu-west-1.amazonaws.com/test"
    ]
}
  • evn are environment varaibles, you can use them to configure your script This function return status of our function
At the moment caos but I am working on it

How it works

gourmet prepares your container, downloads source and executes this steps:

wget <your-source-zip>
unzip  <your-source-zip>.zip -d .
bin/console

bin/console is the console entrypoint of your scirpt, it should be executable.

Troubleshooting

  • In this repository you can try an example of docker image (PHP7) build it and go!
  • During my test I'm using this php-script, it is very easy require 3 env var
    • AWS_KEY, AWS_SECRET, AWS_QUEUE and push a message in queue

TODO

This project has a log todo list you can follow it and help me if you like this idea. Here only a little list of possibile improvement:

  • Download source with authentication
  • Increase application config
  • other things on gourmet/issues