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. Each one will read the request from the watchdog then print it back resulting in an HTTP 200.
| Language | Docker image | Notes | | Language | Docker image | Notes |
|------------------------|------------------------------------|----------------------------------------| |------------------------|-----------------------------------------|----------------------------------------|
| Node.js | functions/node:6.9.1-alpine | Node.js built on Alpine Linux | | Node.js | functions/base:node-6.9.1-alpine | Node.js built on Alpine Linux |
| Python | functions/python:2.7-alpine | Python 2.7 built on Alpine Linux | | Golang | functions/base:golang-1.7.5-alpine | Golang compiled on Alpine Linux |
| Java | functions/openjdk:8u121-jdk-alpine | OpenJDK built 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` | | 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 #!/bin/sh
echo "Building functions/openjdk:8u121-jdk-alpine" echo "Building functions/base:openjdk-8u121-jdk-alpine"
docker build -t functions/openjdk:8u121-jdk-alpine . docker build -t functions/base:openjdk-8u121-jdk-alpine .

View File

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

View File

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