EDITD / kubetools

:nut_and_bolt: Kubetools is a tool and processes for developing and deploying microservices to Kubernetes.
MIT License
13 stars 2 forks source link

Fix ktd test / running of commands in containers #95

Closed eatoncns closed 3 years ago

eatoncns commented 3 years ago

Purpose of PR

In v13 commands in kubetools config are translated to entrypoint in docker compose. When an entrypoint is present it is always run in container, with any command being passed to it as argument.

This means that currently running ktd test will run any backend start command present rather than the provided test command.

N.B. This is a breaking change. The only repo I see in github search effected is here

gchazot commented 3 years ago

N.B. This is a breaking change. The only repo I see in github search effected is here

Indeed, v13 was created exactly for that kubetools file

eatoncns commented 3 years ago

This is almost a straight revert of #83 (which is the breaking change between v12 and v13)

I don't think this is the right place to fix the problem here. I haven't had time to investigate much yet but I think the root cause lies where the ktd test command builds the docker/compose command to run.

I think there is a general issue with setting an entrypoint in the docker compose config in that it means any command given just becomes params to the entrypoint i.e. running arbitrary command in the container like ktd test or migrations do not work

My thinking was to enable args to be given to an entrypoint in dockerfile with the args -> command translation (as in the updated example) but not lock out other situations

So in the original problem situation we could now just delete the dev block entirely and the args will be translated to command correctly for docker compose