Some of the features in the latest docker-compose are missed and would help if the BalenaOS could support releases for microservices defined in latest docker-compose version, also with e.g ENV variable substitution in the compose files
One other important things that is also missing is profiles: being able from the same fleet to have different services enabled base on profiles.
Environment variable support would be appreciated!
The biggest compose v3 feature for me is being able to wait for dependencies to be healthy, making sure something starts first often isn’t sufficient to make sure it is ready before a dependent service.
+1 for ability to wait for dependencies to be healthy
Support me
The resource allocation (CPU and Memory) support, such as cpus
would be a great addition, compared to the supported version.
Also adding “profile” ability in docker compose would be immensely helpful
+1 for ability to wait for dependencies to be healthy too
+1 again for having the ability to put explicit dependencies in. Double so since this is something you can get quite easily from systemd.
+1 for requiring incloud, which is provided in docker compose v3.
+1 for variable substitution in compose files
Thanks everyone for the comments! We have been discussing this internally and have written a specification for what we’d like the solution to look like. It’s now in the queue for resourcing and we’ll keep you updated.
+1 for the ability to handle multiple docker-compose files, e.g. include and extend.
You have my vote on that.
Right now, the dependencies order is only taken into consideration when doing a reboot, but not when doing an update. This should also change, but I think that’s a different FR.
+1 for variable substitution in compose files
are there any news about the progress of this FR?
Hi all,
We are actively working on incorporating compose specification features into our platform. However, do note that we cannot achieve 100% feature parity, due to the differing needs and structure of balena compared to docker-compose.
To respond to @bbittner 's question about variable substitution, I’m looking at build-time variable interpolation, which is a much easier task than runtime variable interpolation. We do not have an estimate on either, but expect the former sooner than the latter. I’ll update in this thread as new features are added – and do expect them to be added one-by-one, as we would have one or two engineers working on this due to resourcing constraints.
Happy to accept contributions to our open source repositories (Supervisor, CLI, open-balena-api) if you’re looking to get a feature quicker!
Thanks for your feedback!