Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement subscriptions for Engine GraphQL API #555

Open
pkosiec opened this issue Nov 15, 2021 · 0 comments
Open

Implement subscriptions for Engine GraphQL API #555

pkosiec opened this issue Nov 15, 2021 · 0 comments
Labels
area/engine Relates to Engine enhancement New feature or request

Comments

@pkosiec
Copy link
Member

pkosiec commented Nov 15, 2021

Description

Implement subscriptions on Engine GraphQL API to be able to push real-time data to the API consumer:

  • GraphQL Subscriptions for Action Custom Resource
    • consume Kubernetes (Create/Update/Delete) events for Action CRs and send them through open subscription
      • To consider which subscriptions are needed: All Actions, Actions for a given Namespace, a given Action (even if we need all three of them, we will still share the same logic)
  • Separate subscription to stream Action logs (logs from Argo workflow)
  • To consider: separate subscription to stream Action workflow progress (to not use argo watch CLI command underneath anymore, and go through GraphQL API)

Blocked by nautilus/gateway#108 - while planning and estimating this task, we should take into account the contribution.

Reason

Currently, to see the logs from running/run Actions, we need to use Argo Workflows CLI or kubectl. We should have the capability built-in in Capact CLI.

Also, the subscriptions would be useful for building other interactive CLI commands (--watch flag) or UIs.

Use cases

  • As System User, I want to use Capact CLI as a single tool for all Action-related stuff (e.g. seeing logs of a given Action)
  • As Capact Developer, I want to use Capact GraphQL API to build modern, reactive UIs and interactive CLI commands to present up-to-date data for the System User.
@pkosiec pkosiec added enhancement New feature or request area/engine Relates to Engine labels Nov 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/engine Relates to Engine enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant