-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathk8s-infinite-streaming.yaml
More file actions
151 lines (150 loc) · 4.02 KB
/
k8s-infinite-streaming.yaml
File metadata and controls
151 lines (150 loc) · 4.02 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
apiVersion: apps/v1
kind: Deployment
metadata:
name: infinite-streaming
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: infinite-streaming
template:
metadata:
labels:
app: infinite-streaming
spec:
containers:
- name: go-server
image: ${K3S_REGISTRY}/infinite-streaming:latest
imagePullPolicy: Always
command: ["/sbin/launch.sh", "1"]
ports:
- containerPort: 30000
- containerPort: 30081
- containerPort: 30181
- containerPort: 30281
- containerPort: 30381
- containerPort: 30481
- containerPort: 30581
- containerPort: 30681
- containerPort: 30781
- containerPort: 30881
env:
- name: INFINITE_STREAM_ROOT
value: "/media"
- name: INFINITE_STREAM_UPLOADS_DIR
value: "/media/uploads"
- name: INFINITE_STREAM_SOURCES_DIR
value: "/media/originals"
- name: INFINITE_STREAM_OUTPUT_DIR
value: "/media/dynamic_content"
- name: INFINITE_STREAM_DATABASE_DIR
value: "/media/data"
- name: INFINITE_STREAM_TEMP_DIR
value: "/media/tmp"
- name: INFINITE_STREAM_CONTENT_DIR
value: "/content"
- name: TMPDIR
value: "/media/tmp"
- name: GO_LIVE_OUTPUT_DIR
value: "/go-live"
- name: GO_UPLOAD_ADDR
value: ":8003"
- name: INFINITE_STREAM_LISTEN_PORT
value: "30000"
- name: INFINITE_STREAM_UPSTREAM_HOST
value: "127.0.0.1"
- name: INFINITE_STREAM_UPSTREAM_PORT
value: "30000"
- name: INFINITE_STREAM_MAX_SESSIONS
value: "8"
- name: INFINITE_STREAM_TC_INTERFACE
value: "eth0"
# Pairing rendezvous (substituted by envsubst at deploy time).
- name: INFINITE_STREAM_RENDEZVOUS_URL
value: "${INFINITE_STREAM_RENDEZVOUS_URL}"
- name: INFINITE_STREAM_ANNOUNCE_URL
value: "${INFINITE_STREAM_ANNOUNCE_URL_K3S_RELEASE}"
- name: INFINITE_STREAM_ANNOUNCE_LABEL
value: "${INFINITE_STREAM_ANNOUNCE_LABEL_K3S_RELEASE}"
# Distinct from k8s-infinite-streaming-dev.yaml so dev + release
# don't share the persisted /media/data/server_id and overwrite
# each other's announces on the rendezvous.
- name: INFINITE_STREAM_SERVER_ID
value: "infinite-streaming-release"
securityContext:
privileged: true
capabilities:
add: ["NET_ADMIN"]
volumeMounts:
- name: media-vol
mountPath: /media
- name: certs-vol
mountPath: /etc/nginx/certs
readOnly: true
- name: go-live-tmpfs
mountPath: /go-live
volumes:
- name: media-vol
hostPath:
path: ${K3S_MEDIA_DIR}
type: Directory
- name: certs-vol
hostPath:
path: ${K3S_CERTS_DIR}
type: Directory
- name: go-live-tmpfs
emptyDir:
medium: Memory
sizeLimit: 4Gi
---
apiVersion: v1
kind: Service
metadata:
name: infinite-streaming
spec:
selector:
app: infinite-streaming
ports:
- name: p30000
port: 30000
targetPort: 30000
nodePort: 30000
- name: p30081
port: 30081
targetPort: 30081
nodePort: 30081
- name: p30181
port: 30181
targetPort: 30181
nodePort: 30181
- name: p30281
port: 30281
targetPort: 30281
nodePort: 30281
- name: p30381
port: 30381
targetPort: 30381
nodePort: 30381
- name: p30481
port: 30481
targetPort: 30481
nodePort: 30481
- name: p30581
port: 30581
targetPort: 30581
nodePort: 30581
- name: p30681
port: 30681
targetPort: 30681
nodePort: 30681
- name: p30781
port: 30781
targetPort: 30781
nodePort: 30781
- name: p30881
port: 30881
targetPort: 30881
nodePort: 30881
type: NodePort