cloud composer airflow plugin usage

Viewed 254

I am just starting with airflow plugins and am a bit confused.

I am running it as a managed service using Cloud Composer on GCP (composer-1.13.4-airflow-1.10.12)

I wrote the plugin as per the docs but don't really know how to 'use' it

class TestAppBuilderBaseView(AppBuilderBaseView):
    @expose("/test")
    def test(self):
        return self.render("test_plugin/test.html", content="Hello Starlight!")
v_appbuilder_view = TestAppBuilderBaseView()
v_appbuilder_package = {"name": "Test View",
                        "category": "Test Plugin",
                        "view": v_appbuilder_view}

class AirflowTestPlugin(AirflowPlugin):
    name = "test_plugin"
    appbuilder_views = [v_appbuilder_package]

Cloud composer UI kick me over to https://[alpha-numeric].appspot.com/admin/ but I can't seem to find the exposed route for my apps plugin. I’ve tried https://[alpha-numeric].appspot.com/admin/test and https://[alpha-numeric].appspot.com/test

I can get a menu link plugin to show up so I know that i am uploading the files to correct location in the storage bucket.

WHAT AM I MISSING HERE?

Any help would be appreciated, thanks :)

1 Answers

I'm not sure I understood exactly your question, but if you want any sort of webserver plugin to work, you must disable dag serialization as explained here. After the lengthy Composer restart, it'll work both in the flask based and appbuilder based ui. source

Related