-
Notifications
You must be signed in to change notification settings - Fork 94
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
[discussion] Api on the fly #3005
Conversation
@oliver-sanders - forgot to comment the other day sorry. This looks good and useful to me. I'm not sure how GraphQL impacts it, let's discuss in the meeting... |
@oliver-sanders - Even though the owner could interact directly with their UI Server, via graphiql interface (which is self-documenting), I think it will focus on web gui provision right? You could could garner the graphiql docs info via a CLI also I suppose, but I guess we would need to provide a command to send queries strings (to avoid people having to use curl).. Nice work BTW. |
Presumably there's a way of getting the same info that Graphiql does, for the CLI, without using |
Yeah |
30e6440
to
fae558d
Compare
Questions:
|
all("." not in arg for arg in args[1:])): | ||
if (len(args) in [2, 3] | ||
and all("/" not in arg for arg in args) | ||
and all("." not in arg for arg in args[1:])): | ||
items = [(args[0] + "." + args[1])] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Task globs do work for inserting task proxies.
(One for the meeting agenda...) |
A quick and obvious note on CLI efficiency, the |
Main reason I brought this up is at Melbourne we had been talking about implementing a graphql endpoint alongside the REST endpoint. I couldn't see any reason to maintain two interfaces instead of one and graphql is much much better at self-documentation etc. The remaining headache from the API on the fly front of keeping both interfaces is that the |
I think we have now reached the consensus that the GraphQL API will be used for the CLI so I'll mark this as POC and bump it back to #2123. |
closes the CLI component of #2123
This is built atop #3004 (look at last commit).
This is a quick (<2hr) demonstration to show just how easy it is to bring api-on-the-fly to the Cylc CLI in the new network framework.
Api-on-the-fly in a nutshell (for those not in the meeting when this was discussed (2 years back?)):
export CYLC_VERSION=...
) to work with suites at different Cylc version on the CLI.cylc message
would suffer performance wise.Examples
Note we would probably symlink commands (e.g.
cylc stop <suite>
tocylc client <suite> stop
). An endpoint rationalisation would be needed too.Loose ends
Questions
Will GraphQL replace everything or do we want to keep some (simplified/tidied) endpoints for Cylc "transactions" (e.g. stop)? Or should this be re-developed on-top of the GraphQL endpoint?