stackabletech / stackabletech/airflow-operator

Integrate DAG editor in Airflow

Open
#593 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type/feature-new
Dominant language
Rust
Stars
32
Forks
6
Avg merge
1d 7h
Merged PRs (30d)
13

Description

Current Situation

We offer the customer to inject DAGs into airflow in two ways:

  1. Customers can mount a configMap into the Airflow pod and store the DAGs there.
  2. Customers can use GitSync to host DAGs in an git repository.

Both ways need a way to interact either with kubernetes itself or with git.

Proposed Situation

Customers can log into Airflow and edit DAGs in the Airflow UI.

To archive this, we'd need to include an editor in airflow dockerimage and make it configurable through the operators CRD. I'd propose https://github.com/andreax79/airflow-code-editor as an candidate.

Advantage

Now where https://github.com/stackabletech/airflow-operator/pull/573 is merged, we offer deeply integrated Open Policy Agent support, which would lead to the advantage to offer role based editor access to data engineers or product owners. There wouldn't be a need to have knowledge of kuberentes or git to modify, develop and deploy DAGs. In my opinion this would increase usability and accessibility of Airflow and could empower the customer.

Additionally, it would make the development process of DAGs much easier as we would move from develop -> deploy -> test to develop -> test.

Evaluation

I expect this to be a rather large feature. We'd need to think about roles and how to configure those for editor access without OPA too. We need to be able to integrate with GitSync and implement access, provisioning and usage of PVCs to store DAGs written in the Airflow UI. Role based access may also apply to files stored in PVCs. We introduce at least another dependency we might need to maintain.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the operator's CRD configuration and the existing GitSync and Open Policy Agent integrations mentioned in the issue. Evaluate how the Airflow code editor would fit into the Docker image, GitSync, and PVC-based DAG storage. Done means a configured editor with role-based access and a defined provisioning and persistence path for UI-authored DAGs.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, kubernetes
Domain
authorization, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.