potiuk commented on PR #35868:
URL: https://github.com/apache/airflow/pull/35868#issuecomment-1829690314

   > Thanks @potiuk for the analysis and the hist to history. My main 
"mis-understanding" was that I did not know that there are multiple installs 
for the driver. Was wondering if this is a leftover (=garbage). But understood 
it is a "feature".
   > 
   > I understand (now) that mssql is needed in the docker for the provider 
package, which is fail. reverted the last two (functional) commits, leaving the 
driver and the install options for the docker build scripts like before.
   
   Yeah. It is not clear indeed :). As @Taragolis mentioned in slack, likely we 
should split the mssql_sh installation in two. 
   
   Just to add a bit of context here.
   
   The Dockerfiles of ours (especially the production one) are built with 
"users can build their own custom, optimized builds files using them". There is 
the whole set of documentation and set of arguments users can use if they want 
to build their own, even more optimized image using our Dockerfile if they 
want. Currently we pre-built two images:
   
   * the regular one (AKA "reference" image - where we add libraries needed, 
Postgres, MySQL, MSSQL clients and most popular (we think) providers
    
   * the "slim" image  - which contains all database clients and airflow - 
without providers (except the preinstalled ones)
   
   But the users can simply get our Dockerfile and build their own image using 
build-args 
https://airflow.apache.org/docs/docker-stack/build.html#customizing-the-image
   
   For now both MSSQL clients we install (pymssql and msodbc) are controlled by 
a single arg when you want to build custom image with or without it:
   
   
https://airflow.apache.org/docs/docker-stack/build-arg-ref.html#image-optimization-options
   
   > INSTALL_MSSQL_CLIENT | true |  Whether MsSQL client should be installed
   
   But likely we should split that into two variables. 
   
   Another small comment/context. For development purpose you can very easily 
build your own, custom PROD image using these. Without even looking at the 
variable / build image docs.
   
   The `breeze prod-image build` command have all of those parameters nicely 
explained and documented and they are even auto-completeable - see "advanced 
customisation optins". You can even run `--dry-run` with selected parameters 
and it will spit-out the right `docker build` command with the right build args 
used converted from the nicely documented breeze `prod-image build` 
auto-completeable and documented flags.
   
   
![image](https://github.com/apache/airflow/assets/595491/20f98db1-2ba3-4d26-9106-241aa512d212)
   
   
   
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to