Skip to content

Commit ee9d8dd

Browse files
committed
kubernetes start
1 parent 65ad231 commit ee9d8dd

File tree

8 files changed

+121
-1
lines changed

8 files changed

+121
-1
lines changed

Dockerfile

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
FROM node:14.5.0-alpine3.12 AS front_builder
2+
3+
ADD ./www /www
4+
WORKDIR /www
5+
RUN npm install && npm run build
6+
7+
# Backend Build Step
8+
FROM golang:1.15.4-alpine3.12 AS builder
9+
10+
# Prerequisites
11+
RUN apk update && apk add --no-cache upx
12+
13+
# Dependencies
14+
WORKDIR $GOPATH/src/github.com/gopheracademy/manager
15+
COPY . .
16+
RUN go mod download
17+
RUN go mod verify
18+
19+
# Copy frontend build
20+
COPY --from=front_builder /www/build $GOPATH/src/github.com/gopheracademy/manager/www/build/
21+
22+
# Build
23+
RUN CGO_ENABLED=0 go build \
24+
-o /tmp/manager \
25+
github.com/gopheracademy/manager
26+
27+
# Final Step
28+
FROM gcr.io/distroless/static
29+
COPY --from=builder /tmp/manager /go/bin/manager
30+
VOLUME [ "/data" ]
31+
COPY --from=front_builder /www/build /data/www/build/
32+
WORKDIR /data
33+
EXPOSE 8000
34+
ENTRYPOINT ["/go/bin/manager"]

contrib/kubernetes/ingress.yaml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: networking.k8s.io/v1beta1
2+
kind: Ingress
3+
metadata:
4+
name: aks-helloworld
5+
annotations:
6+
kubernetes.io/ingress.class: addon-http-application-routing
7+
spec:
8+
rules:
9+
- host: manager.44ec396da6024f08b75a.eastus2.aksapp.io
10+
http:
11+
paths:
12+
- backend:
13+
serviceName: manager
14+
servicePort: manager-port
15+
path: /

contrib/kubernetes/jaeger.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: jaegertracing.io/v1
2+
kind: Jaeger
3+
metadata:
4+
name: simplest
5+
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: manager
5+
spec:
6+
type: ClusterIP
7+
selector:
8+
app: manager
9+
ports:
10+
- name: manager-port
11+
protocol: TCP
12+
port: 8000
13+
targetPort: frontend-port

contrib/kubernetes/manager.yaml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: manager
5+
labels:
6+
name: manager
7+
annotations:
8+
"sidecar.jaegertracing.io/inject": "true"
9+
spec:
10+
replicas: 1
11+
selector:
12+
matchLabels:
13+
app: manager
14+
template:
15+
metadata:
16+
labels:
17+
app: manager
18+
spec:
19+
containers:
20+
- name: manager
21+
image: bketelsen/manager:2
22+
imagePullPolicy: Always
23+
env:
24+
- name: SOMETHING
25+
value: "SOMEVAL"
26+
ports:
27+
- name: frontend-port
28+
containerPort: 8000
29+
protocol: TCP
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: cert-manager-test
5+
---
6+
apiVersion: cert-manager.io/v1
7+
kind: Issuer
8+
metadata:
9+
name: test-selfsigned
10+
namespace: cert-manager-test
11+
spec:
12+
selfSigned: {}
13+
---
14+
apiVersion: cert-manager.io/v1
15+
kind: Certificate
16+
metadata:
17+
name: selfsigned-cert
18+
namespace: cert-manager-test
19+
spec:
20+
dnsNames:
21+
- api.bjk.fyi
22+
secretName: selfsigned-cert-tls
23+
issuerRef:
24+
name: test-selfsigned
File renamed without changes.

main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func main() {
9696

9797
srv := &http.Server{
9898
Handler: tracedRouter,
99-
Addr: "127.0.0.1:8000",
99+
Addr: "0.0.0.0:8000",
100100
// Good practice: enforce timeouts for servers you create!
101101
WriteTimeout: 15 * time.Second,
102102
ReadTimeout: 15 * time.Second,

0 commit comments

Comments
 (0)