Remove legacy sample function

Signed-off-by: Alex Ellis <alexellis2@gmail.com>
This commit is contained in:
Alex Ellis
2018-03-05 14:56:54 +00:00
parent 9cdf24dfc6
commit 56e8c5b211
5 changed files with 10 additions and 74 deletions

View File

@ -1,2 +0,0 @@
ApiKeyProtected

View File

@ -1,26 +0,0 @@
FROM golang:1.9.4-alpine as builder
MAINTAINER alex@openfaas.com
ENTRYPOINT []
RUN apk --no-cache add make curl \
&& curl -sL https://github.com/openfaas/faas/releases/download/0.7.1/fwatchdog > /usr/bin/fwatchdog \
&& chmod +x /usr/bin/fwatchdog
WORKDIR /go/src/github.com/openfaas/faas/sample-functions/ApiKeyProtected
COPY handler.go .
# COPY vendor vendor
RUN go install
FROM alpine:3.6
# Needed to reach the hub
RUN apk --no-cache add ca-certificates
COPY --from=builder /usr/bin/fwatchdog /usr/bin/fwatchdog
COPY --from=builder /go/bin/ApiKeyProtected /usr/bin/ApiKeyProtected
ENV fprocess "/usr/bin/ApiKeyProtected"
CMD ["/usr/bin/fwatchdog"]

View File

@ -1,6 +0,0 @@
### Api-Key-Protected sample
To use this sample provide an env variable for the container/service in `secret_api_key`.
Then when calling via the gateway pass the additional header "X-Api-Key", if it matches the `secret_api_key` value then the function will give access, otherwise access denied.

View File

@ -1,29 +0,0 @@
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
"github.com/openfaas/faas/watchdog/types"
)
func handle(header http.Header, body []byte) {
key := header.Get("X-Api-Key")
if key == os.Getenv("secret_api_key") {
fmt.Println("Unlocked the function!")
} else {
fmt.Println("Access denied!")
}
}
func main() {
bytes, _ := ioutil.ReadAll(os.Stdin)
req, err := types.UnmarshalRequest(bytes)
if err != nil {
log.Fatal(err)
}
handle(req.Header, req.Body.Raw)
}

View File

@ -19,14 +19,13 @@ Here is a list of some of the sample functions included this repository.
| Name | Details |
|------------------------|----------------------------------------- |
| AlpineFunction | BusyBox - a useful base image with busybox utilities pre-installed |
| ApiKeyProtected | Example in Golang showing how to read X-Api-Key header |
| CaptainsIntent | Alexa skill - find the count of Docker Captains |
| ChangeColorIntent | Alexa skill - change the colour of IoT-connected lights |
| echo | Uses `cat` from BusyBox to provide an echo function |
| DockerHubStats | Golang function gives the count of repos a user has on the Docker hub |
| HostnameIntent | Prints the hostname of a container |
| NodeInfo | Node.js - gives CPU/network info on the current container |
| WebhookStash | Golang function provides way to capture webhooks - JSON/text/binary are all OK |
| WordCountFunction | BusyBox `wc` is exposed as a function / service through FaaS |
| AlpineFunction | BusyBox - a useful base image with busybox utilities pre-installed |
| ApiKeyProtected-Secrets | Example in Golang showing how to read a secret from a HTTP header and validate with a Swarm/Kubernetes secret |
| CaptainsIntent | Alexa skill - find the count of Docker Captains |
| ChangeColorIntent | Alexa skill - change the colour of IoT-connected lights |
| echo | Uses `cat` from BusyBox to provide an echo function |
| DockerHubStats | Golang function gives the count of repos a user has on the Docker hub |
| HostnameIntent | Prints the hostname of a container |
| NodeInfo | Node.js - gives CPU/network info on the current container |
| WebhookStash | Golang function provides way to capture webhooks - JSON/text/binary are all OK |
| WordCountFunction | BusyBox `wc` is exposed as a function / service through FaaS |