Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions kubernetes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Crewlink on Kubernetes

Currently the kubernetes implementation is a single pod scheduled for a single node.

As the application progresses, it may be possible to run replicas of the pods.

Replace the server name, `ServerNameHere`, with your desired name.

Apply it: `kubectl apply -f http.yml`

The application will be available on port 80 over HTTP at the service's external address.

The pod itself listens on HTTP. You can configure your load balancer or other reverse proxy to terminate HTTPS traffic destined for the pod.
43 changes: 43 additions & 0 deletions kubernetes/http.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: crewlink
spec:
replicas: 1
selector:
matchLabels:
name: crewlink
template:
metadata:
labels:
name: crewlink
spec:
restartPolicy: Always
containers:
- name: crewlink
image: ottomated/crewlink-server:latest
ports:
- name: voice
containerPort: 9736
protocol: TCP
env:
- name: ADDRESS
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: NAME
value: ServerNameHere
---
apiVersion: v1
kind: Service
metadata:
name: crewlink
spec:
selector:
name: crewlink
ports:
- protocol: TCP
name: crewlink
port: 80
targetPort: 9736
type: LoadBalancer