My company will only adopt Astronomer if it is compatible with a monorepo organization structure. Our monorepo will include an astronomer project, our website, some AWS lambdas, and a python library of shared code that all services will install.
Here is a minimal version of the directory structure:
│ ├── Dockerfile
│ ├── dags
│ ├── include
│ ├── plugins
│ ├── lib
│ └── setup.py
We need to be able to copy the shared directory into astronomer during the image build process, which requires that the build context be at the root of the monorepo, instead of in ./astronomer. Switching up the build context is possible in the standard docker cli, which would work for making releases in CI/CD, however the astro CLI seems less flexible about that for local development.
Does anybody have experience in the past with managing shared code in a monorepo with astronomer? If it’s feature people want, I’d be willing to open a PR that adds some kind of build context flag to the astro CLI so it’s possible to copy in files outside of the root astronomer project.