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