This diff adds an abstract DagsterAuthManager class and custom Dagster Instance FlaskDagsterInstance that users can implement for run attribution. The string returned from get_identity is attached to all runs created through the GraphQL layer as a tag.
Details
Details
Diff Detail
Diff Detail
- Repository
- R1 dagster
- Branch
- identity-auth-manager
- Lint
Lint Errors Severity Location Code Message Error python_modules/dagster/dagster/cli/workspace/context.py:32 E0239 Inherit Non Class Error python_modules/dagster/dagster/cli/workspace/context.py:48 E1136 Unsubscriptable Object Error python_modules/dagster/dagster/cli/workspace/context.py:124 E1136 Unsubscriptable Object Error python_modules/dagster/dagster/cli/workspace/context.py:135 E1136 Unsubscriptable Object Error python_modules/dagster/dagster/cli/workspace/context.py:146 E1136 Unsubscriptable Object Error python_modules/dagster/dagster/cli/workspace/context.py:156 E1136 Unsubscriptable Object Error python_modules/dagster/dagster/cli/workspace/context.py:179 E1136 Unsubscriptable Object - Unit
No Test Coverage
Event Timeline
Comment Actions
Re: th
python_modules/dagster-graphql/dagster_graphql/implementation/execution/run_lifecycle.py | ||
---|---|---|
70–72 | Is there a way we can put this into a customized run launcher rather than in the core of the instance? That would compartmentalize this way more. |
Comment Actions
Actually duh that is in the daemon process rather than dagit.
I would consider a more generic mechanism, such as pluggable tag provider or a way to customize the run creation process. That way this could be used for other purposes as well.
Comment Actions
I think I agree that another layer of indirection would be nice here, with e.g. get_additional_tags_for_run(pipeline_run) on the custom instance, and then the implementation of that calling the auth manager. i also think it makes sense to call this auth manager something like FlaskAuthManager