Files
transcripcion-whisper/whisper-distributed/devfile.yaml
2025-05-30 21:32:05 +02:00

153 lines
3.1 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
container:
image: receiver:latest
endpoints:
- name: http
targetPort: 8000
protocol: http
volumeMounts:
- name: input-volume
path: /app/input
- name: shared-volume
path: /app/shared
# Splitter service
- name: splitter
container:
image: splitter:latest
endpoints:
- name: http
targetPort: 8000
protocol: http
volumeMounts:
- name: shared-volume
path: /app/shared
# Processor1 service
- name: processor1
container:
image: processor:latest
env:
- name: PROCESSOR_ID
value: "1"
endpoints:
- name: http
targetPort: 8000
protocol: http
volumeMounts:
- name: shared-volume
path: /app/shared
# Processor2 service
- name: processor2
container:
image: processor:latest
env:
- name: PROCESSOR_ID
value: "2"
endpoints:
- name: http
targetPort: 8000
protocol: http
volumeMounts:
- name: shared-volume
path: /app/shared
# Unifier service
- name: unifier
container:
image: unifier:latest
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
# Build commands for each service
commands:
# Build commands
- id: build-receiver
exec:
component: receiver
workingDir: /projects/receiver
commandLine: docker build -t receiver:latest .
- id: build-splitter
exec:
component: splitter
workingDir: /projects/splitter
commandLine: docker build -t splitter:latest .
- id: build-processor
exec:
component: processor1
workingDir: /projects/processor
commandLine: docker build -t processor:latest .
- id: build-unifier
exec:
component: unifier
workingDir: /projects/unifier
commandLine: docker build -t unifier:latest .
# Composite build command
- id: build-all
composite:
commands:
- build-receiver
- build-splitter
- build-processor
- build-unifier
# Events
events:
preStart:
- build-all