Add Golang hello-world sample, rename build.sh to match auto-build on Hub.

This commit is contained in:
Alex 2017-04-09 20:20:09 +01:00
parent 8ec31d9b89
commit 03e702862b
7 changed files with 49 additions and 11 deletions

View File

@ -4,9 +4,10 @@ Examples of base functions are provided here.
Each one will read the request from the watchdog then print it back resulting in an HTTP 200.
| Language | Docker image | Notes |
|------------------------|------------------------------------|----------------------------------------|
| Node.js | functions/node:6.9.1-alpine | Node.js built on Alpine Linux |
| Python | functions/python:2.7-alpine | Python 2.7 built on Alpine Linux |
| Java | functions/openjdk:8u121-jdk-alpine | OpenJDK built on Alpine Linux |
| Language | Docker image | Notes |
|------------------------|-----------------------------------------|----------------------------------------|
| Node.js | functions/base:node-6.9.1-alpine | Node.js built on Alpine Linux |
| Golang | functions/base:golang-1.7.5-alpine | Golang compiled on Alpine Linux |
| Python | functions/base:python-2.7-alpine | Python 2.7 built on Alpine Linux |
| Java | functions/base:openjdk-8u121-jdk-alpine | OpenJDK built on Alpine Linux |
| Busybox / shell | functions/alpine:latest | Busybox contains useful binaries which can be turned into a FaaS function such as `sha512sum` or `cat` |

View File

@ -0,0 +1,17 @@
FROM golang:1.7.5-alpine
MAINTAINER alexellis2@gmail.com
ENTRYPOINT []
WORKDIR /go/src/github.com/alexellis/faas/sample-functions/golang
COPY . /go/src/github.com/alexellis/faas/sample-functions/golang
RUN go install
ADD https://github.com/alexellis/faas/releases/download/v0.5-alpha/fwatchdog /usr/bin
RUN chmod +x /usr/bin/fwatchdog
ENV fprocess "/go/bin/golang"
HEALTHCHECK --interval=1s CMD [ -e /tmp/.lock ] || exit 1
CMD [ "/usr/bin/fwatchdog"]

View File

@ -0,0 +1,4 @@
#!/bin/sh
echo "Building functions/base:golang-1.7.5-alpine"
docker build -t functions/base:golang-1.7.5-alpine .

View File

@ -0,0 +1,16 @@
package main
import (
"fmt"
"io/ioutil"
"log"
"os"
)
func main() {
input, err := ioutil.ReadAll(os.Stdin)
if err != nil {
log.Fatalf("Unable to read standard input: %s", err.Error())
}
fmt.Println(string(input))
}

View File

@ -1,4 +1,4 @@
#!/bin/sh
echo "Building functions/openjdk:8u121-jdk-alpine"
docker build -t functions/openjdk:8u121-jdk-alpine .
echo "Building functions/base:openjdk-8u121-jdk-alpine"
docker build -t functions/base:openjdk-8u121-jdk-alpine .

View File

@ -1,5 +1,5 @@
#!/bin/sh
echo "Building functions/node:6.9.1-alpine"
docker build -t functions/node:6.9.1-alpine .
echo "Building functions/base:node-6.9.1-alpine"
docker build -t functions/base:node-6.9.1-alpine .

View File

@ -1,5 +1,5 @@
#!/bin/sh
echo "Building functions/python:2.7-alpine"
docker build -t functions/python:2.7-alpine .
echo "Building functions/base:python-2.7-alpine"
docker build -t functions/base:python-2.7-alpine .