Hi,

Just want to give an update that Airflow DAG level access just checked in
today(https://github.com/apache/incubator-airflow/pull/3197). Thanks a lot
for Max and Joy's review which helps me improving the pr.  I  create the
following three tickets as a follow up:

https://issues.apache.org/jira/browse/AIRFLOW-2694 # Allow parsing access
control in DAG file
https://issues.apache.org/jira/browse/AIRFLOW-2693 # Implement sync_perm
model view endpoint
https://issues.apache.org/jira/browse/AIRFLOW-2695 # Support assign groups
of dag permission to a role

I will start working on them in Q3.

Thanks a lot,
-Tao

On Sun, Apr 8, 2018 at 11:26 AM, Tao Feng <fengta...@gmail.com> wrote:

> Hi Max, Joy and Everyone,
>
> Based on the discussion, I put up a work in progress pr (
> https://github.com/apache/incubator-airflow/pull/3197/) with a doc(
> https://docs.google.com/document/d/1qs26lE9kAuCY0Qa0ga-8
> 0EQ7d7m4s-590lhjtMBjmxw/edit#) for DAG level access. I would like to get
> some early feedbacks and see if I miss anything or am in the wrong
> direction as it touches the core part.
>
> In the meantime, I will still continue improving the pr for couples of
> todos.
>
> Looking forward to your feedback.
>
> Thanks,
> -Tao
>
> On Mon, Apr 2, 2018 at 2:44 PM, Tao Feng <fengta...@gmail.com> wrote:
>
>> Hi everyone,
>>
>> Thanks a lot for all the great discussions. To summarize in brief, here
>> are the few approaches we discussed so far:
>>
>> 1. One permission per DAG. The user has homogenous rights on the dag.
>>       The concerns:
>>
>>    - not flexible to certain use cases(e.g the user has view only access
>>    on certain dags and write access on certain other dags );
>>    - difficult to implement as it breaks the existing FAB security model.
>>
>> 2. Extend current model(ab_permission_view_role) with an additional
>> optional column (dag_id).
>>      The concerns:
>>
>>    - introduce a 3rd column to existing permission_view table.
>>    - It requires us to handle db migration carefully from view only
>>    access UI to dag level access UI.
>>
>> 3. Define a set of pre-defined dag-level permissions. Reuse the current
>> existing permission_view model and consider each individual dag as a new
>> view.
>>
>> It seems that the 3rd approach is a preferable approach which makes the
>> security model easy to extend without introducing additional complexity. If
>> no other concern, I will work with Max to create an initial proposal / PR
>> based on 3rd approach for the work(https://issues.apache.org
>> /jira/browse/AIRFLOW-2267).
>>
>> Thanks,
>> -Tao
>>
>> On Sat, Mar 31, 2018 at 12:09 AM, Joy Gao <j...@wepay.com> wrote:
>>
>>> +1!
>>>
>>> I was originally tempted to re-use existing perms and views for dag-level
>>> access control since dag-level perm/view is a subset of view-level
>>> perm/view, but your proposal of defining new dag-level perms/views
>>> independent from view-level perms/views is interesting. This actually
>>> makes
>>> a lot of sense, since even in the existing models, views can also be menu
>>> options, so we are simply extending the concept of views to include dags
>>> as
>>> well.
>>>
>>> On Fri, Mar 30, 2018 at 5:24 PM Maxime Beauchemin <
>>> maximebeauche...@gmail.com> wrote:
>>>
>>> > I'd suggest something else that avoids having to add a 3rd column. I
>>> think
>>> > we can fit our use case into the existing structure nicely.
>>> >
>>> > My idea is to mimic what FAB does with its own Models.
>>> >
>>> > When you create a Model and ModelView in FAB (say DagRun for example),
>>> it
>>> > creates a new view_menu (DagRun) and matches it with existing
>>> permission
>>> > (can_read, can_delete, can_edit, can_show, ...) to create a new set of
>>> > "permission_views" which are combinations of permission and view_menu
>>> as in
>>> > "DagRun - can_read", "DagRun - can_edit", ... It's not a cartesian
>>> product
>>> > of all perms and view_menus, it's a predetermined list of
>>> model-specific
>>> > perms that get combined with DagRun here.
>>> >
>>> > Similarly, when Airflow would detect a new DAG (example "my_dag"), it
>>> > would create a new view_menu `my_dag`, and match it with permissions
>>> that
>>> > are identified as "combinable" with DAG. To avoid potential conflicts
>>> I'd
>>> > create new permissions that are DAG-specific like "dag_clear",
>>> "dag_run",
>>> > "dag_view".
>>> >
>>> > I'm arguing about the how to use the FAB model here specifically. I
>>> think
>>> > this allows for all the flexibility we need without changing the
>>> model. I
>>> > care less about what exactly the atomicity of the per DAG perms should
>>> look
>>> > like. As far as I'm concerned, per-DAG read and write is probably
>>> granular
>>> > enough
>>> >
>>> > Also note that:
>>> > * we need an "_all_dags" logical DAG, meaning we'd have extra
>>> > permission_views "_all_dags - dag_view", "_all_dags - dag_run",
>>> "all_dags -
>>> > dag_clear"
>>> > * we probably want to derive FAB's SecurityManger and have an
>>> > AirflowSecurityManager that has an extra method "can_dag_action(user,
>>> > dag_id, action)". The SecurityManger class is neat because people can
>>> > provide their own if they want and override methods. That means that
>>> you
>>> > can defer any of the security-related checks to another system if you
>>> want
>>> > to. Many companies have some sort of company RBAC system and that can
>>> be
>>> > used to integrate with it.
>>> >
>>> > Max
>>> >
>>> >
>>> >
>>> > On Fri, Mar 30, 2018 at 4:54 PM, Joy Gao <j...@wepay.com> wrote:
>>> >
>>> >> Hi all,
>>> >>
>>> >> I also agree that having view-only access to some dags while write
>>> access
>>> >> to other dags is useful, so I prefer option 2. Although option 2 is
>>> more
>>> >> difficult to manage, it is cleaner and more consistent with the
>>> current
>>> >> security model. (On the other hand, even though option 1 may be may be
>>> >> easier to manage, it might be trickier to implement: with one perm per
>>> >> dag, it breaks the existing FAB security model since the existing,
>>> more
>>> >> granular permissions will have to be grouped for each dag).
>>> >>
>>> >> What Brian suggested in the other thread makes sense to me...
>>> >>
>>> >> The current security model in FAB looks like the following:
>>> >>
>>> >>                                                         ---
>>> permissions
>>> >> user --- role --- permission_view ---|
>>> >>                                                         --- views
>>> >>
>>> >> FAB generates a few relationship tables to manage the mappings, one of
>>> >> them is *ab_permission_view_role*, which has all the
>>> >> role-to-permission_view mapping. We can add a dag_id column to this
>>> >> relationship that expresses dag-level granularity, so the security
>>> model
>>> >> becomes:
>>> >>
>>> >>                                                                   ---
>>> >> permissions
>>> >>                                                                 |
>>> >> user --- role --- dag_permission_view --- --- views
>>> >>                                                                 |
>>> >>                                                                  ---
>>> dags
>>> >>
>>> >> We can make the dag_id field an optional field in the relationship,
>>> and
>>> >> only lazily add new dag-level mappings for DAGs that specify 'access
>>> >> control'. This way we don't have to create new permissions or views.
>>> (We
>>> >> will still have to introduce new dag-level roles on top of the 5
>>> generic
>>> >> roles (public/viewer/user/op/admin)).
>>> >>
>>> >> (I think this is similar to what Arthur suggested earlier, but not
>>> sure
>>> >> if I interpreted correctly).
>>> >>
>>> >> Joy
>>> >>
>>> >> On Thu, Mar 29, 2018 at 10:01 AM, Arthur Wiedmer <
>>> >> arthur.wied...@gmail.com> wrote:
>>> >>
>>> >>> (Creating a new thread)
>>> >>>
>>> >>> Hi Max,
>>> >>>
>>> >>> I was just wondering about this. There are definite use cases for
>>> people
>>> >>> having only view access to some DAGs, mostly for monitoring. I want
>>> to know
>>> >>> what the upstream DAGs are doing, but maybe I don't need clear/run
>>> access.
>>> >>>
>>> >>> I feel like the granular operation permissions will start to become
>>> >>> unwieldy fast. It grows as (# users * # DAGs * # operations) but with
>>> >>> hopefully a small constant factor in front: most people should only
>>> have a
>>> >>> small number of DAGs they care about. The Ops team has a need to have
>>> >>> access to all on the other hand.
>>> >>>
>>> >>> I was wondering we could get by with something slightly more complex
>>> but
>>> >>> easier on the size of that permissions table :
>>> >>> 1) One toggle on the user level for broad access (ALL:ALL,
>>> >>> RUN/CLEAR:ALL, VIEW:ALL) default NULL
>>> >>> 2) More granular permissions at the DAG level.
>>> >>>
>>> >>> So in order, check the user's broad level permission first, then DAG
>>> >>> level. For large amounts of DAGs, this should help shave a little
>>> bit from
>>> >>> that table.
>>> >>>
>>> >>> Best,
>>> >>> Arthur
>>> >>>
>>> >>>
>>> >>> On Thu, Mar 29, 2018 at 8:27 AM, Maxime Beauchemin <
>>> >>> maximebeauche...@gmail.com> wrote:
>>> >>>
>>> >>>> Hijacking the thread further here, any thoughts on how to breakdown
>>> per
>>> >>>> DAG
>>> >>>> access?
>>> >>>>
>>> >>>> Tao & I are talking about introducing per-DAG permissions and one
>>> big
>>> >>>> question is whether we'll need to support different operation-types
>>> at a
>>> >>>> per-DAG level, which changes the way we need to model the perms.
>>> >>>>
>>> >>>> First [simpler] option is to introduce one perm per DAG. If you have
>>> >>>> access
>>> >>>> to 5 DAGs, and you have `can_clear` and `can_run`, you'll have
>>> >>>> homogenous
>>> >>>> rights on the DAGs you have access to.
>>> >>>>
>>> >>>> Second option is to have a breakdown per DAG. Meaning for each DAG
>>> we
>>> >>>> create a set of perms ({dag_id}_can_view, {dag_id}_can_modify,
>>> ...). So
>>> >>>> one
>>> >>>> user could have modify on some DAGs, view on others, and other DAGs
>>> >>>> would
>>> >>>> be invisible. This could be broken down further ({dag_id}_can_clear,
>>> >>>> ...)
>>> >>>> but it gets hard to manage.
>>> >>>>
>>> >>>> Thoughts?
>>> >>>>
>>> >>>> Max
>>> >>>>
>>> >>>> On Wed, Mar 28, 2018 at 10:02 PM, Tao Feng <fengta...@gmail.com>
>>> wrote:
>>> >>>>
>>> >>>> > Great work Joy. This is awesome! I am interested in helping out
>>> the
>>> >>>> per dag
>>> >>>> > level access.  Just created a ticket to check(AIRFLOW-2267). Let
>>> me
>>> >>>> know if
>>> >>>> > you have any suggestions. I will share my proposal once I am
>>> ready.
>>> >>>> >
>>> >>>> > On Fri, Mar 23, 2018 at 6:45 PM, Joy Gao <j...@wepay.com> wrote:
>>> >>>> >
>>> >>>> > > Hey guys!
>>> >>>> > >
>>> >>>> > > The RBAC UI <https://github.com/apache/inc
>>> ubator-airflow/pull/3015>
>>> >>>> has
>>> >>>> > > been merged to master. I'm looking forward to early adopters'
>>> >>>> feedback
>>> >>>> > and
>>> >>>> > > bug reports. I also hope to have more folks helping out with the
>>> >>>> RBAC UI,
>>> >>>> > > especially with introducing DAG-Level access control, which is a
>>> >>>> feature
>>> >>>> > > that a lot of people have been asking. If you are interested in
>>> >>>> helping
>>> >>>> > out
>>> >>>> > > with this effort, let's talk more!
>>> >>>> > >
>>> >>>> > > This commit will be in the 1.10.0 release, and we are going to
>>> >>>> maintain
>>> >>>> > > both UIs simultaneously for a short period of time. Once RBAC
>>> UI is
>>> >>>> > stable
>>> >>>> > > and battle-tested, we will deprecate the old UI and eventually
>>> >>>> remove it
>>> >>>> > > from the repo (around Airflow 2.0.0 or 2.1.0 release). This is
>>> to
>>> >>>> prevent
>>> >>>> > > two UIs from forking into separate paths, as that would become
>>> very
>>> >>>> > > difficult to maintain.
>>> >>>> > >
>>> >>>> > > Going forward while both UIs are up, if you are making a change
>>> to
>>> >>>> any
>>> >>>> > > files in airflow/www/ (old UI), where applicable, please also
>>> make
>>> >>>> the
>>> >>>> > > change to the airflow/www_rbac/ (new UI). If you rather not make
>>> >>>> changes
>>> >>>> > in
>>> >>>> > > both UIs, it is recommended that you only make the changes to
>>> the
>>> >>>> RBAC
>>> >>>> > UI,
>>> >>>> > > since that is the one we are maintaining in the long term.
>>> >>>> > >
>>> >>>> > > I'm excited that the RBAC UI will be able to bring additional
>>> >>>> security to
>>> >>>> > > Airflow, and with FAB framework in place we can look into
>>> >>>> leveraging it
>>> >>>> > for
>>> >>>> > > a unified set of APIs used by both UI and CLI.
>>> >>>> > >
>>> >>>> > > Joy
>>> >>>> > >
>>> >>>> > >
>>> >>>> > >
>>> >>>> > > On Thu, Feb 8, 2018 at 11:31 AM, Joy Gao <j...@wepay.com>
>>> wrote:
>>> >>>> > >
>>> >>>> > > > Hi folks,
>>> >>>> > > >
>>> >>>> > > > I have a PR <https://github.com/apache/
>>> >>>> incubator-airflow/pull/3015>
>>> >>>> > out
>>> >>>> > > > for the new UI. I've included instructions on how to test it
>>> out
>>> >>>> in the
>>> >>>> > > PR
>>> >>>> > > > description. Looking forward to your feedbacks.
>>> >>>> > > >
>>> >>>> > > > Cheers,
>>> >>>> > > > Joy
>>> >>>> > > >
>>> >>>> > > > On Fri, Dec 1, 2017 at 6:18 PM, Joy Gao <j...@wepay.com>
>>> wrote:
>>> >>>> > > >
>>> >>>> > > >> Thanks for the background info. Would be really awesome for
>>> you
>>> >>>> to
>>> >>>> > have
>>> >>>> > > >> PyPi access :D I'll make the change to have Airflow
>>> Webserver's
>>> >>>> FAB
>>> >>>> > > >> dependency pointing to my fork for the mean time.
>>> >>>> > > >>
>>> >>>> > > >> For folks who are interested in RBAC, I will be giving a
>>> >>>> talk/demo at
>>> >>>> > > the Airflow
>>> >>>> > > >> Meet-Up
>>> >>>> > > >> <https://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-
>>> >>>> > > Meetup/events/244525050/>
>>> >>>> > > >> next Monday. Happy to chat afterwards about it as well :)
>>> >>>> > > >>
>>> >>>> > > >> On Thu, Nov 30, 2017 at 8:36 AM, Maxime Beauchemin <
>>> >>>> > > >> maximebeauche...@gmail.com> wrote:
>>> >>>> > > >>
>>> >>>> > > >>> A bit of related history here:
>>> >>>> > > >>> https://github.com/dpgaspar/Flask-AppBuilder/issues/399
>>> >>>> > > >>>
>>> >>>> > > >>> On Thu, Nov 30, 2017 at 8:33 AM, Maxime Beauchemin <
>>> >>>> > > >>> maximebeauche...@gmail.com> wrote:
>>> >>>> > > >>>
>>> >>>> > > >>> > Given I have merge rights on FAB I could probably do
>>> another
>>> >>>> round
>>> >>>> > of
>>> >>>> > > >>> > review and get your PRs through. I would really like to
>>> get
>>> >>>> the
>>> >>>> > main
>>> >>>> > > >>> > maintainer's input on things that touch the core
>>> >>>> (composite-key
>>> >>>> > > >>> support) as
>>> >>>> > > >>> > he might have concerns/intuitions that we can't know
>>> about.
>>> >>>> > > >>> >
>>> >>>> > > >>> > I do not have Pypi access though so I cannot push new
>>> releases
>>> >>>> > out. I
>>> >>>> > > >>> > could ask for that.
>>> >>>> > > >>> >
>>> >>>> > > >>> > I've threatened to fork the project before, that's always
>>> an
>>> >>>> > option.
>>> >>>> > > >>> I've
>>> >>>> > > >>> > noticed his involvement is sporadic and comes in bursts.
>>> >>>> > > >>> >
>>> >>>> > > >>> > In the meantime, you can have the dependency in Airflow
>>> >>>> Webserver
>>> >>>> > > >>> pointing
>>> >>>> > > >>> > straight to your fork.
>>> >>>> > > >>> >
>>> >>>> > > >>> > Max
>>> >>>> > > >>> >
>>> >>>> > > >>> > On Wed, Nov 29, 2017 at 7:02 PM, Joy Gao <j...@wepay.com>
>>> >>>> wrote:
>>> >>>> > > >>> >
>>> >>>> > > >>> >> I just created a new webserver instance if you haven't
>>> >>>> gotten a
>>> >>>> > > >>> chance to
>>> >>>> > > >>> >> fiddle around with the new web UI and the RBAC
>>> configurations
>>> >>>> > > (thanks
>>> >>>> > > >>> >> Maxime for getting started with this earlier!):
>>> >>>> > > >>> >>
>>> >>>> > > >>> >> http://104.209.38.171:8080/
>>> >>>> > > >>> >>
>>> >>>> > > >>> >> Admin Account
>>> >>>> > > >>> >> username: admin
>>> >>>> > > >>> >> password: admin
>>> >>>> > > >>> >>
>>> >>>> > > >>> >> Read-Only Account
>>> >>>> > > >>> >> username: viewer
>>> >>>> > > >>> >> password: password
>>> >>>> > > >>> >>
>>> >>>> > > >>> >>
>>> >>>> > > >>> >> On Wed, Nov 29, 2017 at 2:58 PM, Joy Gao <j...@wepay.com
>>> >
>>> >>>> wrote:
>>> >>>> > > >>> >>
>>> >>>> > > >>> >> > Hi folks,
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > Thanks for all the feedback regarding to the new
>>> Airflow
>>> >>>> > Webserver
>>> >>>> > > >>> UI
>>> >>>> > > >>> >> > <https://github.com/wepay/airflow-webserver/>! I've
>>> been
>>> >>>> > actively
>>> >>>> > > >>> >> > addressing all the bugs that were raised on Github. So
>>> I
>>> >>>> want to
>>> >>>> > > >>> take
>>> >>>> > > >>> >> this
>>> >>>> > > >>> >> > opportunity to discuss two issues coming up:
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > The first issue is unaddressed PRs in FAB. If these PRs
>>> >>>> continue
>>> >>>> > > to
>>> >>>> > > >>> stay
>>> >>>> > > >>> >> > unaddressed, RBAC is blocked from making further
>>> progress.
>>> >>>> If
>>> >>>> > this
>>> >>>> > > >>> >> continue
>>> >>>> > > >>> >> > to be an issue, I'm inclined to fork FAB, even though
>>> it's
>>> >>>> not
>>> >>>> > > >>> >> idealistic.
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> >    - PR/631 <https://github.com/dpgaspar/F
>>> >>>> > > lask-AppBuilder/pull/631>
>>> >>>> > > >>> >> Binary
>>> >>>> > > >>> >> >    column support (merged, unreleased)
>>> >>>> > > >>> >> >    <https://github.com/dpgaspar/F
>>> lask-AppBuilder/pull/631>
>>> >>>> > > >>> >> >    - PR/639 <https://github.com/dpgaspar/F
>>> >>>> > > lask-AppBuilder/pull/639>
>>> >>>> > > >>> >> Composite
>>> >>>> > > >>> >> >    primary key support (unmerged)
>>> >>>> > > >>> >> >    - PR/655 <https://github.com/dpgaspar/F
>>> >>>> > > lask-AppBuilder/pull/655>
>>> >>>> > > >>> >> Form
>>> >>>> > > >>> >> >    prefill support (unmerged)
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > The second issue is an open question about the next
>>> step of
>>> >>>> > > Airflow
>>> >>>> > > >>> >> > Webserver itself. Here are the 3 potential directions
>>> we
>>> >>>> could
>>> >>>> > > >>> take, and
>>> >>>> > > >>> >> > I've added my thought on each.
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > 1. Permanently keep Airflow Webserver as a separated
>>> >>>> package
>>> >>>> > from
>>> >>>> > > >>> >> Airflow,
>>> >>>> > > >>> >> > and treat it as another UI option. Keep `www` in
>>> Airflow.
>>> >>>> Allow
>>> >>>> > > >>> >> development
>>> >>>> > > >>> >> > on both UIs.
>>> >>>> > > >>> >> > *I'm not a fan of this. When there is an existing UI in
>>> >>>> Airflow,
>>> >>>> > > >>> most
>>> >>>> > > >>> >> > contributors would prefer to maintain the official
>>> version
>>> >>>> that
>>> >>>> > is
>>> >>>> > > >>> >> > installed out-of-the-box. **Having a second UI outside
>>> of
>>> >>>> > Airflow
>>> >>>> > > >>> will
>>> >>>> > > >>> >> > make maintaining it very difficult, leading to an
>>> eventual
>>> >>>> death
>>> >>>> > > of
>>> >>>> > > >>> the
>>> >>>> > > >>> >> new
>>> >>>> > > >>> >> > UI :(*
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > 2. Permanently keep Airflow Webserver as a separated
>>> >>>> package
>>> >>>> > from
>>> >>>> > > >>> >> Airflow,
>>> >>>> > > >>> >> > but freeze all development on `www`  and direct all
>>> future
>>> >>>> UI
>>> >>>> > > >>> >> development
>>> >>>> > > >>> >> > to Airflow Webserver, eventually removing `www`
>>> completely
>>> >>>> when
>>> >>>> > > >>> Airflow
>>> >>>> > > >>> >> > Webserver is stable.
>>> >>>> > > >>> >> > *I'm not a fan of this either. First of all, the views
>>> and
>>> >>>> > models
>>> >>>> > > >>> are
>>> >>>> > > >>> >> > tightly coupled in both old and new UI; until we have a
>>> >>>> > > full-fledged
>>> >>>> > > >>> >> REST
>>> >>>> > > >>> >> > API to build the UI (and cli) on top of it, separating
>>> >>>> them to a
>>> >>>> > > >>> >> separate
>>> >>>> > > >>> >> > package now will potentially cause dependency issues
>>> and
>>> >>>> add
>>> >>>> > > >>> >> complication
>>> >>>> > > >>> >> > to our release cycle. **Secondly, **majority of Airflow
>>> >>>> users
>>> >>>> > run
>>> >>>> > > >>> >> Airflow
>>> >>>> > > >>> >> > with the UI; it's one of Airflow's best features.
>>> >>>> Separating UI
>>> >>>> > > out
>>> >>>> > > >>> of
>>> >>>> > > >>> >> > Airflow core will complicate setup and configuration,
>>> while
>>> >>>> > making
>>> >>>> > > >>> >> Airflow
>>> >>>> > > >>> >> > core less complete.*
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > 3. Merge Airflow Webserver back into Airflow as `www2`,
>>> >>>> freeze
>>> >>>> > all
>>> >>>> > > >>> >> > development on `www`, eventually removing `www`
>>> completely
>>> >>>> when
>>> >>>> > > >>> `www2`
>>> >>>> > > >>> >> is
>>> >>>> > > >>> >> > stable.
>>> >>>> > > >>> >> > *This makes the most sense to me. Airflow Webserver is
>>> >>>> developed
>>> >>>> > > >>> with
>>> >>>> > > >>> >> the
>>> >>>> > > >>> >> > goal of feature parity to the current UI, plus
>>> additional
>>> >>>> RBAC
>>> >>>> > > >>> >> capability,
>>> >>>> > > >>> >> > in hope to replace the old UI completely. Yes, this
>>> means
>>> >>>> there
>>> >>>> > > >>> will be
>>> >>>> > > >>> >> a
>>> >>>> > > >>> >> > short period of having to maintain two UIs, but once we
>>> >>>> freeze
>>> >>>> > > >>> >> development
>>> >>>> > > >>> >> > on www, it shouldn't be a concern for long.*
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > I'd love to hear everyone's thoughts on this! I'm
>>> excited
>>> >>>> about
>>> >>>> > > >>> bringing
>>> >>>> > > >>> >> > RBAC to airflow and I hope it's something others will
>>> find
>>> >>>> > useful
>>> >>>> > > as
>>> >>>> > > >>> >> well!
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > Cheers,
>>> >>>> > > >>> >> > Joy
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> > On Mon, Nov 20, 2017 at 11:24 AM, Joy Gao <
>>> j...@wepay.com>
>>> >>>> > wrote:
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >> >> Thank you everyone for the active feedback so far, and
>>> >>>> thanks
>>> >>>> > for
>>> >>>> > > >>> >> setting
>>> >>>> > > >>> >> >> up the demo Maxime!
>>> >>>> > > >>> >> >>
>>> >>>> > > >>> >> >> Going to work on pruning through the issues in the
>>> >>>> upcoming
>>> >>>> > days.
>>> >>>> > > >>> >> >>
>>> >>>> > > >>> >> >> Fokko/Maxime, do you recall the SQLAlchemy Exception
>>> >>>> message
>>> >>>> > so I
>>> >>>> > > >>> can
>>> >>>> > > >>> >> >> look into it? Otherwise I'll wait until it's down
>>> again =P
>>> >>>> > > >>> >> >>
>>> >>>> > > >>> >> >> Cheers,
>>> >>>> > > >>> >> >>
>>> >>>> > > >>> >> >> Joy
>>> >>>> > > >>> >> >>
>>> >>>> > > >>> >> >> On Mon, Nov 20, 2017 at 9:35 AM, Maxime Beauchemin <
>>> >>>> > > >>> >> >> maximebeauche...@gmail.com> wrote:
>>> >>>> > > >>> >> >>
>>> >>>> > > >>> >> >>> I just restarted it, not sure how long it will take
>>> to
>>> >>>> get in
>>> >>>> > a
>>> >>>> > > >>> bad
>>> >>>> > > >>> >> state
>>> >>>> > > >>> >> >>> again...
>>> >>>> > > >>> >> >>>
>>> >>>> > > >>> >> >>> Max
>>> >>>> > > >>> >> >>>
>>> >>>> > > >>> >> >>> On Sun, Nov 19, 2017 at 11:55 PM, Driesprong, Fokko
>>> >>>> > > >>> >> <fo...@driesprong.frl
>>> >>>> > > >>> >> >>> >
>>> >>>> > > >>> >> >>> wrote:
>>> >>>> > > >>> >> >>>
>>> >>>> > > >>> >> >>> > Good morning,
>>> >>>> > > >>> >> >>> >
>>> >>>> > > >>> >> >>> > The demo provided by Max is down, it throws a
>>> >>>> > > >>> SQLAlchemyexception
>>> >>>> > > >>> >> :'(
>>> >>>> > > >>> >> >>> >
>>> >>>> > > >>> >> >>> > Cheers, Fokko
>>> >>>> > > >>> >> >>> >
>>> >>>> > > >>> >> >>> > 2017-11-18 19:14 GMT+01:00 Chris Riccomini <
>>> >>>> > > >>> criccom...@apache.org>:
>>> >>>> > > >>> >> >>> >
>>> >>>> > > >>> >> >>> > > @bolke, open issues on the Github repo, please.
>>> >>>> > > >>> >> >>> > >
>>> >>>> > > >>> >> >>> > > On Sat, Nov 18, 2017 at 10:13 AM, Bolke de Bruin
>>> <
>>> >>>> > > >>> >> bdbr...@gmail.com>
>>> >>>> > > >>> >> >>> > > wrote:
>>> >>>> > > >>> >> >>> > >
>>> >>>> > > >>> >> >>> > > > Chris,
>>> >>>> > > >>> >> >>> > > >
>>> >>>> > > >>> >> >>> > > > Do you want us to report bugs somewhere (I have
>>> >>>> > > encountered
>>> >>>> > > >>> a
>>> >>>> > > >>> >> >>> few)? Or
>>> >>>> > > >>> >> >>> > > > just generic user experiences posted here?
>>> >>>> > > >>> >> >>> > > >
>>> >>>> > > >>> >> >>> > > > Cheers
>>> >>>> > > >>> >> >>> > > > Bolke
>>> >>>> > > >>> >> >>> > > >
>>> >>>> > > >>> >> >>> > > > > On 18 Nov 2017, at 00:47, Chris Riccomini <
>>> >>>> > > >>> >> criccom...@apache.org
>>> >>>> > > >>> >> >>> >
>>> >>>> > > >>> >> >>> > > wrote:
>>> >>>> > > >>> >> >>> > > > >
>>> >>>> > > >>> >> >>> > > > > Hey all,
>>> >>>> > > >>> >> >>> > > > >
>>> >>>> > > >>> >> >>> > > > > I know the weekend is coming up, and for
>>> those
>>> >>>> of us
>>> >>>> > in
>>> >>>> > > >>> the
>>> >>>> > > >>> >> US,
>>> >>>> > > >>> >> >>> next
>>> >>>> > > >>> >> >>> > > week
>>> >>>> > > >>> >> >>> > > > > is a bit of a slow holiday week. Would love
>>> to
>>> >>>> get
>>> >>>> > some
>>> >>>> > > >>> >> feedback
>>> >>>> > > >>> >> >>> from
>>> >>>> > > >>> >> >>> > > > > everyone on this. The goal would ideally to
>>> be to
>>> >>>> > > >>> converge on
>>> >>>> > > >>> >> >>> this
>>> >>>> > > >>> >> >>> > and
>>> >>>> > > >>> >> >>> > > > > eventually replace the existing Airflow UI
>>> with
>>> >>>> this
>>> >>>> > > one.
>>> >>>> > > >>> >> >>> > > > >
>>> >>>> > > >>> >> >>> > > > > Cheers,
>>> >>>> > > >>> >> >>> > > > > Chris
>>> >>>> > > >>> >> >>> > > > >
>>> >>>> > > >>> >> >>> > > > > On Fri, Nov 17, 2017 at 1:44 PM, Joy Gao <
>>> >>>> > > j...@wepay.com>
>>> >>>> > > >>> >> wrote:
>>> >>>> > > >>> >> >>> > > > >
>>> >>>> > > >>> >> >>> > > > >> Hi guys.
>>> >>>> > > >>> >> >>> > > > >>
>>> >>>> > > >>> >> >>> > > > >> I've been working on moving airflow from
>>> >>>> Flask-Admin
>>> >>>> > to
>>> >>>> > > >>> >> >>> > > Flask-AppBuilder
>>> >>>> > > >>> >> >>> > > > >> for RBAC
>>> >>>> > > >>> >> >>> > > > >> <https://cwiki.apache.org/
>>> >>>> > confluence/display/AIRFLOW/
>>> >>>> > > >>> >> >>> > > > Airflow+RBAC+proposal
>>> >>>> > > >>> >> >>> > > > >>> ,
>>> >>>> > > >>> >> >>> > > > >> check it out at
>>> https://github.com/wepay/airfl
>>> >>>> > > >>> ow-webserver.
>>> >>>> > > >>> >> >>> > > > >>
>>> >>>> > > >>> >> >>> > > > >> It's still a work-in-progress, but most
>>> >>>> features you
>>> >>>> > > see
>>> >>>> > > >>> in
>>> >>>> > > >>> >> the
>>> >>>> > > >>> >> >>> > > > webserver
>>> >>>> > > >>> >> >>> > > > >> UI today is available there. For those who
>>> are
>>> >>>> > > >>> interested in
>>> >>>> > > >>> >> >>> RBAC,
>>> >>>> > > >>> >> >>> > I'd
>>> >>>> > > >>> >> >>> > > > love
>>> >>>> > > >>> >> >>> > > > >> to get some early feedback in terms of the
>>> >>>> following:
>>> >>>> > > >>> >> >>> > > > >>
>>> >>>> > > >>> >> >>> > > > >> - New Flask-AppBuilder UI (any
>>> bugs/regressions)
>>> >>>> > > >>> >> >>> > > > >> - Setup issues
>>> >>>> > > >>> >> >>> > > > >> - Ease of integration with third party auth
>>> >>>> (i.e.
>>> >>>> > LDAP,
>>> >>>> > > >>> AD,
>>> >>>> > > >>> >> >>> OAuth,
>>> >>>> > > >>> >> >>> > > etc.)
>>> >>>> > > >>> >> >>> > > > >> - Any other thoughts/concerns
>>> >>>> > > >>> >> >>> > > > >>
>>> >>>> > > >>> >> >>> > > > >> Thanks a lot!
>>> >>>> > > >>> >> >>> > > > >>
>>> >>>> > > >>> >> >>> > > > >> Cheers,
>>> >>>> > > >>> >> >>> > > > >> Joy
>>> >>>> > > >>> >> >>> > > > >>
>>> >>>> > > >>> >> >>> > > >
>>> >>>> > > >>> >> >>> > > >
>>> >>>> > > >>> >> >>> > >
>>> >>>> > > >>> >> >>> >
>>> >>>> > > >>> >> >>>
>>> >>>> > > >>> >> >>
>>> >>>> > > >>> >> >>
>>> >>>> > > >>> >> >
>>> >>>> > > >>> >>
>>> >>>> > > >>> >
>>> >>>> > > >>> >
>>> >>>> > > >>>
>>> >>>> > > >>
>>> >>>> > > >>
>>> >>>> > > >
>>> >>>> > >
>>> >>>> >
>>> >>>>
>>> >>>
>>> >>>
>>> >>
>>> >
>>>
>>
>>
>

Reply via email to