Files
artcraft/deployment.yaml
T

113 lines
2.9 KiB
YAML

---
kind: Service
apiVersion: v1
metadata:
name: tts
namespace: trumped
spec:
type: LoadBalancer
selector:
app: tts
ports:
- name: http
protocol: TCP
port: 80
targetPort: 12345
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tts
namespace: trumped
labels:
app: tts
spec:
replicas: 2
selector:
matchLabels:
app: tts
template:
metadata:
labels:
app: tts
spec:
imagePullSecrets:
- name: regcred
volumes:
- name: devfuse
hostPath:
path: /dev/fuse
- name: mntdatas3fs
# NB: Doesn't set an explicit hostpath because:
# error while creating mount source path '...': mkdir ...: file exists
emptyDir: {}
containers:
- name: s3fs
securityContext:
privileged: true
allowPrivilegeEscalation: true
# TODO: Find a pinned tag for this. `latest` is dangerous
image: panubo/s3fs:latest
#command: ["sleep"]
#args: ["30000"]
volumeMounts:
- name: devfuse
mountPath: /dev/fuse
- name: mntdatas3fs
mountPath: /data:shared
env:
- name: AWS_S3_URL
value: "https://nyc3.digitaloceanspaces.com"
- name: AWS_STORAGE_BUCKET_NAME
value: "upload-datas"
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: spaces-secrets
key: aws_access_key_id
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: spaces-secrets
key: aws_secret_access_key
- name: AWS_S3_MOUNTPOINT
value: "/data"
- name: DEBUG
value: "true"
- name: tts
# NB: Container builds are triggered by Github Actions
#image: docker.pkg.github.com/echelon/voder/tts-service:374e1a477d90
image: docker.pkg.github.com/echelon/voder/tts-service:6b5c22567614
volumeMounts:
- name: mntdatas3fs
mountPath: /data:shared
env:
- name: BIND_ADDRESS
value: "0.0.0.0:12345"
- name: TACOTRON_MODEL
value: "/data/models/tacotron2-nvidia/tacotron_container.pt"
- name: MELGAN_MODEL
value: "/data/models/melgan-swpark/shared_melgan_container.pt"
- name: ASSET_DIRECTORY
value: "/data/frontend"
command: ["/tts_service"]
#command: ["sleep"]
#args: ["30000"]
ports:
- containerPort: 12345
protocol: TCP
readinessProbe:
httpGet:
path: /readiness
port: 12345
initialDelaySeconds: 5
periodSeconds: 5
livenessProbe:
httpGet:
path: /liveness
port: 12345
initialDelaySeconds: 20
periodSeconds: 3
timeoutSeconds: 3
failureThreshold: 3