Functionally, this really doesn't change much of anything. It is really just refactoring the startDocker() command to a new place. We've defined a new ContainerRuntime interface that will grow a bit in the next PR to cover container runtime lifecycle management functions. This places the original, directly in-line code into this new lifecycle management structure. We then call these functions from cobra pre-run hooks on our astro dev commands.
My original PR grew too large, so this is part 1 to get some of the basic structure in place for expansion, while not changing any behavior quite yet.
Description
Functionally, this really doesn't change much of anything. It is really just refactoring the
startDocker()
command to a new place. We've defined a newContainerRuntime
interface that will grow a bit in the next PR to cover container runtime lifecycle management functions. This places the original, directly in-line code into this new lifecycle management structure. We then call these functions from cobra pre-run hooks on ourastro dev
commands.My original PR grew too large, so this is part 1 to get some of the basic structure in place for expansion, while not changing any behavior quite yet.
๐ Issue(s)
Related to https://github.com/astronomer/astro/issues/24344
๐งช Functional Testing
astro dev
subcommands have been tested manually and confirmed to be working as expected. (we should automate this as one of our next steps)๐ธ Screenshots
๐ Checklist
make test
before taking out of draftmake lint
before taking out of draft