The airlow cli can function as this rest client and does not need to be at the 
same server as where airflow is running. 

Direct DB access is bad from a separation of concerns perspective as you can 
change task statusses, insert arbitrary things etc. 

B.

Sent from my iPhone

> On 1 Feb 2019, at 13:44, David Cavaletto <da.cavale...@gmail.com> wrote:
> 
> Actually the opposite. If we're going to have a REST API, users should
> interact with it over http(s), using a rest client. If a user has SSH
> access to the server running airflow I don't see the security concern of
> having the CLI access the DB in the same manner the REST API does.
> 
> In my diagram all DB be access would be in the API/common/experimental/*.py
> files, with both REST and CLI APIs making calls to this internal API.
> 
> Can you explain further the security concern with the CLI?
> 
> -Dave
> 
> 
>> On Fri, Feb 1, 2019, 00:24 Bolke de Bruin <bdbr...@gmail.com> wrote:
>> 
>> Hi David,
>> 
>> I assume that you then want to ensure that all calls from the CLI are
>> being made through the Rest-API. In other words the json_client would be
>> the only client remaining. The local_client is a security problem as it
>> needs direct database access which makes it problematic to have normals
>> user use the cli.
>> 
>> If this is the case then yes this would be great, but please note that
>> airflow backfills are more difficult to factor out then.
>> 
>> Cheers
>> Bolke
>> 
>> Verstuurd vanaf mijn iPad
>> 
>>> Op 1 feb. 2019 om 03:26 heeft David Cavaletto <da.cavale...@gmail.com>
>> het volgende geschreven:
>>> 
>>> In case my images didn't come through, here is a link that shows what
>> I'd like to remove (in red) and add (in green)
>>> 
>>> 
>> https://docs.google.com/drawings/d/1Ux8qGQUdRp2L6YWgqayliIzFiJv1nwev4JaG2rR7oiQ/edit?usp=sharing
>>> 
>>> 
>>>> On Thu, Jan 31, 2019 at 8:21 PM David Cavaletto <da.cavale...@gmail.com>
>> wrote:
>>>> Hello,
>>>> 
>>>> While trying to refactor the Connection API (both REST and CLI) I've
>> discovered the CLI has the ability to make REST API calls. The flow looks
>> like this:
>>>> 
>>>> 
>>>> In a discussion with Ash in Slack, he said this architecture is so that
>> a user can use a local installation of Airflow (like on their laptop) to
>> issue CLI commands to a remote installation of Airflow. Examples would
>> include a cluster running Fargate, where docker exec and ssh are not
>> available, and so no CLI commands can be run on the installation.
>>>> 
>>>> I'd like to propose that we simplify this entire structure, removing
>> the boxes highlighted in red, like this:
>>>> 
>>>> 
>>>> Users needing to issue REST commands to a cluster would use a REST
>> client (Postman, curl, etc) to issue the commands to the cluster, allowing
>> us to simplify this implementation of the APIs in Airflow.
>>>> 
>>>> Thoughts? Is there some other use case I've overlooked?
>>>> 
>>>> -Dave
>> 

Reply via email to