Example helloworld test web application

This guide only applies to Next-Gen WAF customers with access to the Next-Gen WAF control panel. If you have access to the Next-Gen WAF product in the Fastly control panel, you can only deploy the Next-Gen WAF with the Edge WAF deployment method.

This uses the helloworld example included with the Next-Gen WAF Golang module as a test web application named helloworld.

See main.go in the sigsci-module-golang helloworld example.

Dockerfile

Dockerfile to build the signalsciences/example-helloworld container:

$ docker build . -t signalsciences/example-helloworld:latest
FROM golang:latest
# Image metadata
LABEL com.signalsciences.sigsci-module-golang.examples="helloworld"
LABEL maintainer="Signal Sciences <support@fastly.com>"
# Install sigsci golang module example
RUN go install github.com/signalsciences/sigsci-module-golang/examples/helloworld@latest
ENTRYPOINT [ "helloworld" ]

Kubernetes deployment file

Kubernetes example-helloworld deployment file (without the Next-Gen WAF agent):

$ kubectl apply -f example-helloworld.yaml
apiVersion: v1
kind: Service
metadata:
name: helloworld
labels:
app: helloworld
spec:
ports:
- name: http
port: 8000
targetPort: 8000
selector:
app: helloworld
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: helloworld
labels:
app: helloworld
spec:
replicas: 2
selector:
matchLabels:
app: helloworld
template:
metadata:
labels:
app: helloworld
spec:
containers:
- name: helloworld
image: signalsciences/example-helloworld:latest
imagePullPolicy: IfNotPresent
args:
# Address for the app to listen on
- localhost:8000
ports:
- containerPort: 8000