Example helloworld test web application

IMPORTANT

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
1
2
3
4
5
6
7
8
9
10
11
12
13
FROM golang:1.13
# Image metadata
LABEL com.signalsciences.sigsci-module-golang.examples="helloworld"
LABEL maintainer="Signal Sciences <support@fastly.com>"
# Install sigsci golang module (with examples)
RUN go get github.com/signalsciences/sigsci-module-golang
# Use the helloworld example as the test app
WORKDIR /go/src/github.com/signalsciences/sigsci-module-golang/examples
ENTRYPOINT [ "go", "run", "./helloworld" ]

Kubernetes deployment file

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

$ kubectl apply -f example-helloworld.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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
Was this guide helpful?

Do not use this form to send sensitive information. If you need assistance, contact support. This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.