134 lines
3.0 KiB
YAML
134 lines
3.0 KiB
YAML
schemaVersion: 2.2.0
|
|
metadata:
|
|
name: whisper-distributed
|
|
version: 1.0.0
|
|
|
|
components:
|
|
# RabbitMQ
|
|
- name: rabbitmq
|
|
container:
|
|
image: rabbitmq:3-management
|
|
env:
|
|
- name: RABBITMQ_DEFAULT_USER
|
|
value: user
|
|
- name: RABBITMQ_DEFAULT_PASS
|
|
value: password
|
|
endpoints:
|
|
- name: amqp
|
|
targetPort: 5672
|
|
protocol: tcp
|
|
- name: management
|
|
targetPort: 15672
|
|
protocol: http
|
|
volumeMounts:
|
|
- name: rabbitmq-data
|
|
path: /var/lib/rabbitmq
|
|
|
|
# Receiver service
|
|
- name: receiver
|
|
image:
|
|
imageName: receiver:latest
|
|
dockerfile:
|
|
uri: whisper-distributed/receiver/Dockerfile
|
|
buildContext: whisper-distributed/receiver
|
|
container:
|
|
endpoints:
|
|
- name: http
|
|
targetPort: 8000
|
|
protocol: http
|
|
volumeMounts:
|
|
- name: input-volume
|
|
path: /app/input
|
|
- name: shared-volume
|
|
path: /app/shared
|
|
|
|
# Splitter service
|
|
- name: splitter
|
|
image:
|
|
imageName: splitter:latest
|
|
dockerfile:
|
|
uri: whisper-distributed/splitter/Dockerfile
|
|
buildContext: whisper-distributed/splitter
|
|
container:
|
|
endpoints:
|
|
- name: http
|
|
targetPort: 8000
|
|
protocol: http
|
|
volumeMounts:
|
|
- name: shared-volume
|
|
path: /app/shared
|
|
|
|
# Processor1 service
|
|
- name: processor1
|
|
image:
|
|
imageName: processor:latest
|
|
dockerfile:
|
|
uri: whisper-distributed/processor/Dockerfile
|
|
buildContext: whisper-distributed/processor
|
|
container:
|
|
env:
|
|
- name: PROCESSOR_ID
|
|
value: "1"
|
|
endpoints:
|
|
- name: http
|
|
targetPort: 8000
|
|
protocol: http
|
|
volumeMounts:
|
|
- name: shared-volume
|
|
path: /app/shared
|
|
|
|
# Processor2 service
|
|
- name: processor2
|
|
image:
|
|
imageName: processor2:latest
|
|
dockerfile:
|
|
uri: whisper-distributed/processor/Dockerfile
|
|
buildContext: whisper-distributed/processor
|
|
container:
|
|
env:
|
|
- name: PROCESSOR_ID
|
|
value: "2"
|
|
endpoints:
|
|
- name: http
|
|
targetPort: 8000
|
|
protocol: http
|
|
volumeMounts:
|
|
- name: shared-volume
|
|
path: /app/shared
|
|
|
|
# Unifier service
|
|
- name: unifier
|
|
image:
|
|
imageName: unifier:latest
|
|
dockerfile:
|
|
uri: whisper-distributed/unifier/Dockerfile
|
|
buildContext: whisper-distributed/unifier
|
|
container:
|
|
endpoints:
|
|
- name: http
|
|
targetPort: 8000
|
|
protocol: http
|
|
volumeMounts:
|
|
- name: shared-volume
|
|
path: /app/shared
|
|
- name: output-volume
|
|
path: /app/output
|
|
|
|
# Volumes
|
|
- name: rabbitmq-data
|
|
volume:
|
|
size: 1Gi
|
|
|
|
- name: shared-volume
|
|
volume:
|
|
size: 5Gi
|
|
|
|
- name: input-volume
|
|
volume:
|
|
size: 2Gi
|
|
|
|
- name: output-volume
|
|
volume:
|
|
size: 2Gi
|
|
|
|
# Events - removed preStart build commands since images build automatically |