KAD right now loads each manifest, creates the container, waits for the creation to finish and starts the container (again waiting for the container to be brought up) before moving to the next one. This unnecessary since we don't care about start-up order.
This PR makes KAD truly async. Only sync part is the moment where the "/*.json" glob is resolved and then all found manifest are processed asynchronously using a join_all on the generated futures from the deploy() function.
This async behavior is even visible in the logs:
With this modification the initial deployment is much faster as slow-to-deploy containers are not bottle-necking the whole process
KAD right now loads each manifest, creates the container, waits for the creation to finish and starts the container (again waiting for the container to be brought up) before moving to the next one. This unnecessary since we don't care about start-up order.
This PR makes KAD truly async. Only sync part is the moment where the "/*.json" glob is resolved and then all found manifest are processed asynchronously using a join_all on the generated futures from the deploy() function.
This async behavior is even visible in the logs:
With this modification the initial deployment is much faster as slow-to-deploy containers are not bottle-necking the whole process