Plans for v3
Drop YAML support
I decided to use Jsonnet for the configuration language #38 . YAML is currently still supported, but will be dropped in the future.
Rename "additional_containers" to "sidecars"
I just committed the change https://github.com/eagletmt/hako/commit/e8b55f0c1b57391f9637f0c63bb55dbce9180761 . The term "sidecar" is popular nowadays. "additional_containers" is still supported, but will be dropped in the future.
Drop autoscaling_group_for_oneshot feature
Use autoscaling_topic_for_oneshot instead.
autoscaling_group_for_oneshot assumes ECS container instances are managed by AutoScaling Group, but autoscaling_topic_for_oneshot is more flexible.
Revise launched sidecars in hako oneshot
Currently, hako oneshot only launches the app container and sidecar containers linked from the app container (transitive).
However, the link feature is considered legacy and isn't available in advanced networking.
I introduced this behavior to share the definition with web apps and batch jobs. We can deploy web app with nginx by hako deploy, and can start batch job without nginx by hako oneshot.
But I changed my mind; we should use separated definitions for web apps and batch jobs while sharing some parts by Jsonnet's import feature.
All described containers should be launched even when hako oneshot.
Created a branch to test breaking changes. https://github.com/eagletmt/hako/tree/v3-dev
AWS recently added a feature to specify sensitive data in ECS. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html I'm thinking of dropping "env provider" feature in v3.