Skip to content

Register the connector-service (webapi) plugin in the Flyte 2 executor#7565

Open
dejanzele wants to merge 3 commits into
flyteorg:mainfrom
dejanzele:armada
Open

Register the connector-service (webapi) plugin in the Flyte 2 executor#7565
dejanzele wants to merge 3 commits into
flyteorg:mainfrom
dejanzele:armada

Conversation

@dejanzele

@dejanzele dejanzele commented Jun 19, 2026

Copy link
Copy Markdown

Registers the connector-service (webapi) plugin in the Flyte 2 executor so it can run connector tasks. Today a task whose type resolves to connector-service has no plugin to handle it, so it never runs.

The webapi machinery also expects a ResourceManager and a SecretManager from the plugin setup context, which the executor doesn't supply. This adds a no-op ResourceManager and registrar so the allocation-token path doesn't nil-dereference.

Closes #7564.

Tested with unit tests for the no-op ResourceManager and registrar, and manually end to end: a real connector (armada-flyte) runs @env.task functions as Armada jobs through this change.

The OSS Flyte 2 executor never calls RegisterConnectorPlugin, so task types
backed by external connectors (agents) have no plugin and fall through to the
pod plugin. Register it during executor setup, and clear ResourceQuotas since
the v2 executor wires no ResourceRegistrar/ResourceManager.

Enables routing tasks (e.g. armada) to a connector service over gRPC.

Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Registers the Flyte webapi connector-service plugin in the v2 executor and restores required pluginmachinery contracts by providing no-op quota registration/allocation implementations, so connector-backed task types can be routed and executed without crashing.

Changes:

  • Register the connector-service (webapi) plugin during executor startup so connector-service tasks resolve to a handler.
  • Provide a no-op ResourceRegistrar (setup-time) and ResourceManager (execution-time) to satisfy webapi allocation-token/quota paths.
  • Add unit tests validating the no-op registrar/manager behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
executor/setup.go Registers connector plugin before registry init; wires in no-op resource registrar and resource manager.
executor/pkg/plugin/resource_manager.go Introduces no-op implementations of ResourceRegistrar and ResourceManager for executor usage.
executor/pkg/plugin/resource_manager_test.go Adds unit tests for the no-op registrar/manager.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread executor/setup.go
Comment thread executor/setup.go
Comment thread executor/setup.go
Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>
Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>
@dejanzele

Copy link
Copy Markdown
Author

Thanks, good catches. Added a no-op SecretManager and wired it into both the setup context and the reconciler. It returns an error on lookups rather than an empty string, so a connector task that references a secret fails with a clear message instead of silently getting a blank, which felt like the safer default until there's a real backend. Also dropped the stray Printf.

@kumare3

kumare3 commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

@pingsutw there was some work already on this right

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Register the connector-service (webapi) plugin in the Flyte 2 executor

3 participants