fp/charts/fp/templates/superstreamer.yaml
2025-01-10 19:10:04 -08:00

340 lines
9.1 KiB
YAML

## we don't use this because I don't know of a good way to sync the image tag with that of the postgres pod.
## It's more foolproof to use a script activated by a button in Tilt UI
# ---
# apiVersion: batch/v1
# kind: Job
# metadata:
# name: superstreamer-database-seed
# namespace: futureporn
# spec:
# template:
# spec:
# restartPolicy: Never
# containers:
# - name: postgres-client
# image: postgres:latest
# command: ["sh", "-c"]
# args:
# - |
# psql -h postgresql-primary.futureporn.svc.cluster.local \
# -U postgres \
# -c "CREATE DATABASE sprs";
# env:
# - name: PGPASSWORD
# valueFrom:
# secretKeyRef:
# name: postgresql
# key: password
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: superstreamer-app
namespace: futureporn
spec:
replicas: 1
selector:
matchLabels:
app: superstreamer-app
template:
metadata:
labels:
app: superstreamer-app
spec:
containers:
- name: superstreamer-app
image: {{ .Values.superstreamer.app.image | quote }}
ports:
- containerPort: 52000
env:
- name: PUBLIC_API_ENDPOINT
value: http://localhost:52001
- name: PUBLIC_STITCHER_ENDPOINT
value: http://localhost:52002
- name: DATABASE_URI
valueFrom:
secretKeyRef:
name: superstreamer
key: databaseUri
- name: S3_ENDPOINT
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Endpoint
- name: S3_REGION
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Region
- name: S3_ACCESS_KEY
valueFrom:
secretKeyRef:
name: superstreamer
key: s3AccessKey
- name: S3_SECRET_KEY
valueFrom:
secretKeyRef:
name: superstreamer
key: s3SecretKey
- name: S3_BUCKET
valueFrom:
secretKeyRef:
name: superstreamer
key: s3SecretKey
- name: PUBLIC_S3_ENDPOINT
valueFrom:
secretKeyRef:
name: superstreamer
key: publicS3Endpoint
- name: SUPER_SECRET
valueFrom:
secretKeyRef:
name: superstreamer
key: superSecret
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: superstreamer-api
namespace: futureporn
spec:
replicas: 1
selector:
matchLabels:
app: superstreamer-api
template:
metadata:
labels:
app: superstreamer-api
spec:
containers:
- name: superstreamer-api
image: {{ .Values.superstreamer.api.image | quote }}
ports:
- containerPort: 52001
env:
- name: REDIS_HOST
value: {{ .Values.superstreamer.redisUrl | quote }}
- name: REDIS_PORT
value: {{ .Values.superstreamer.redisPort | quote }}
- name: DATABASE_URI
valueFrom:
secretKeyRef:
name: superstreamer
key: databaseUri
- name: S3_ENDPOINT
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Endpoint
- name: S3_REGION
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Region
- name: S3_ACCESS_KEY
valueFrom:
secretKeyRef:
name: superstreamer
key: s3AccessKey
- name: S3_SECRET_KEY
valueFrom:
secretKeyRef:
name: superstreamer
key: s3SecretKey
- name: S3_BUCKET
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Bucket
- name: PUBLIC_S3_ENDPOINT
valueFrom:
secretKeyRef:
name: superstreamer
key: publicS3Endpoint
- name: SUPER_SECRET
valueFrom:
secretKeyRef:
name: superstreamer
key: superSecret
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: superstreamer-stitcher
namespace: futureporn
spec:
replicas: 1
selector:
matchLabels:
app: superstreamer-stitcher
template:
metadata:
labels:
app: superstreamer-stitcher
spec:
containers:
- name: superstreamer-stitcher
image: {{ .Values.superstreamer.stitcher.image | quote }}
ports:
- containerPort: 52002
env:
- name: REDIS_HOST
value: {{ .Values.superstreamer.redisUrl | quote }}
- name: REDIS_PORT
value: {{ .Values.superstreamer.redisPort | quote }}
- name: PUBLIC_API_ENDPOINT
value: "http://localhost:52001"
- name: PUBLIC_STITCHER_ENDPOINT
value: "http://localhost:52002"
- name: DATABASE_URI
valueFrom:
secretKeyRef:
name: superstreamer
key: databaseUri
- name: S3_ENDPOINT
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Endpoint
- name: S3_REGION
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Region
- name: S3_ACCESS_KEY
valueFrom:
secretKeyRef:
name: superstreamer
key: s3AccessKey
- name: S3_SECRET_KEY
valueFrom:
secretKeyRef:
name: superstreamer
key: s3SecretKey
- name: S3_BUCKET
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Bucket
- name: PUBLIC_S3_ENDPOINT
valueFrom:
secretKeyRef:
name: superstreamer
key: publicS3Endpoint
- name: SUPER_SECRET
valueFrom:
secretKeyRef:
name: superstreamer
key: superSecret
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: superstreamer-artisan
namespace: futureporn
spec:
replicas: 1
selector:
matchLabels:
app: superstreamer-artisan
template:
metadata:
labels:
app: superstreamer-artisan
spec:
containers:
- name: superstreamer-artisan
image: {{ .Values.superstreamer.artisan.image | quote }}
env:
- name: REDIS_HOST
value: {{ .Values.superstreamer.redisUrl | quote }}
- name: REDIS_PORT
value: {{ .Values.superstreamer.redisPort | quote }}
- name: DATABASE_URI
valueFrom:
secretKeyRef:
name: superstreamer
key: databaseUri
- name: S3_ENDPOINT
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Endpoint
- name: S3_REGION
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Region
- name: S3_ACCESS_KEY
valueFrom:
secretKeyRef:
name: superstreamer
key: s3AccessKey
- name: S3_SECRET_KEY
valueFrom:
secretKeyRef:
name: superstreamer
key: s3SecretKey
- name: S3_BUCKET
valueFrom:
secretKeyRef:
name: superstreamer
key: s3Bucket
- name: PUBLIC_S3_ENDPOINT
valueFrom:
secretKeyRef:
name: superstreamer
key: publicS3Endpoint
- name: SUPER_SECRET
valueFrom:
secretKeyRef:
name: superstreamer
key: superSecret
---
apiVersion: v1
kind: Service
metadata:
name: superstreamer-app
namespace: futureporn
spec:
selector:
app: superstreamer-app
ports:
- protocol: TCP
port: 52000
targetPort: 52000
---
apiVersion: v1
kind: Service
metadata:
name: superstreamer-api
namespace: futureporn
spec:
selector:
app: superstreamer-api
ports:
- protocol: TCP
port: 52001
targetPort: 52001
---
apiVersion: v1
kind: Service
metadata:
name: superstreamer-stitcher
namespace: futureporn
spec:
selector:
app: superstreamer-stitcher
ports:
- protocol: TCP
port: 52002
targetPort: 52002