Is it possible for one container to have multiple subscription dependecies?

It is possible in the Replicated Native Scheduler to create multiple subscription dependencies for a single container. However, a single container with multiple subscriptions will start as soon as one of the subscriptions is met. In the below example, the api container will start as soon as either redis or postgres has started.

components:
  - name: api
    containers:
       - image_name: redis
         version: 3
         publish_events:
         - name: redis-ready
           trigger: port-listen
           data: "6379"
           subscriptions:
           - component: api
             container: api
             action: start
       - image_name: postgres
         version: 10.1
         publish_events:
         - name: postgres-ready
           trigger: port-listen
           data: "5432"
           subscriptions:
           - component: api
             container: api
             action: start
       - image_name: api
         version: 2.2.0-20180501

This can be useful for setting up conditionally run containers. For instance, you may wish to allow your customer to supply their own database or to run one integrated within your application. In such a situation, you could set your application container to depend on both the database container and a placeholder container. If the customer selected the integrated database configuration, you would then run the database container while disabling the placeholder container. Containers can be conditionally enabled using the when field.