On 2024/02/19 10:34:44 Bolke de Bruin wrote:
> with regards to the api client: the intention was indeed to remove direct
> access to the DB, which I think is still a valid thing to do. In my
opinion
> the underlying question is what are we going to do with direct DB access
> from the cli. Is that something we want to keep or do we want a different
> design? Just dropping the implementation seems a bit 'lazy' to me, while I
> understand that it hasn't been touched in a while.
>fkjhgnvbeiwerierooifkjhgmvbeoewirewirweroifjhgnvb
> B.
>kfjhgvnbeorewrewroifkgjhvnbeoriwerieir
> On Sun, 18 Feb 2024 at 12:17, Andrey Anshin <an...@taragol.is>
> wrote:
>kfjhgmvnboeiwerewireriifkgjhmnvboeiewrewroifjhgmnvb
> > Greetings guys!
> hgmvnbeiewrioitiuykgjhmnvboerierie
> > I want to start a discussion about deprecation cli configuration options
> kgjmvnbierowerieworiewroijhgmnvb
> >
https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#cli
> > as well as `airflow/api/client` in upcoming minor/feature release of
> > Airflow (2.9 or 2.10 depends on).
> khgmvnbnerewriewrifhgnvb
> > This options control how end users retrieve information from the
Database,
> > there is two kind provided classes
`airflow.api.client.api_client.Client` -
> > direct access to DB, `airflow.api.client.json_client.Client` - access
> > through Experimental API
> kgjhvbeoewrewrofikgjhvmborier
> > However internal clients cover only this cli commands:
> > - trigger_dag: airflow dags trigger
> > - delete_dag: airflow dags delete
> > - get_pool: airflow pool get
> > - get_pools: airflow pool list and airflow pool export
> > - create_pool: airflow pool set and airflow pool import
> > - pool_delete: airflow pool delete
> > - get_lineage: doesn't use anywhere in CLI and Airflow codebase
> kkgjhmvbieoweriweoihgmnvbeiroewirewir
> > As a result, implementation of CLI spread across different modules /
> > subpackages and in some cases could use experimental API. Seems like it
is
> > an abandoned implementation which comes from pre Airflow 2 and we have
to
> > support it nowadays.
> kgjhvmbnioeiweroeireorifjhgmnvb
> > *My proposal*:
> > 1. Copy implementation from `airflow.api.client.local_client.Client`
into
> > the the code from appropriate modules into the airflow/cli/commands
> > 2. Set default value for `[cli] api_client` to None. In case if values
set
> > in airflow.cfg (e.g. from the previous version of Airflow), raise future
> > warning and update it to None if it set to
> > `airflow.api.client.local_client.Client` in other cases do not touch
> > 3. Set default value for `[cli] endpoint_url` to None. In case if values
> > set in airflow.cfg raise future warning, and do not update value.
> > 4. `airflow.api.client.get_current_api_client` should able to return
None,
> > if it return None, then it should use implementation from the
> > airflow/cli/commands, otherwise use deprecated client, with raising
> > RemovedInAirflow3Warning
> kgjhvmnbnoerieworieroifjhgmnvb
> > WDYT?
> jhgmvbeoriewroewirewi
>jhgmvnboeireirewriweorijfhgmnvb
>eoewirotiuyfjhghvmnbnoreroeper
>jhgmvnborieworewiewr
>kkgjhnveiworieri
> jhgmvnbreworewrower
> Bolke de Bruin
> bdbr...@gmail.com
>kgjhmvnberowerwerokgjhmvnb