Skip to content

feat: initialize openfunction knative and async runtime #4

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

Merged
merged 7 commits into from
Apr 14, 2022

Conversation

webup
Copy link
Collaborator

@webup webup commented Mar 31, 2022

This big initial PR is an important upgrade to current GCP Node.js Function Framework with following task accomplished:

  • Add OpenFunction knative runtime
  • Add OpenFunction async runtime
  • Add e2e tests for knative runtime
  • Add e2e tests for async runtime
  • Add conformance test for knative runtime
  • Add conformance test for async runtime
  • Add sequence diagram for knative runtime
  • Add sequence diagram for async runtime
  • Test runtimes in Kubernetes
  • Update auto-generated API docs
  • Refine README

Copy link
Member

@benjaminhuo benjaminhuo left a comment

Choose a reason for hiding this comment

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

Big kudos to this PR, just some comments for some corner cases

@webup
Copy link
Collaborator Author

webup commented Apr 8, 2022

Is it reasonable to make adjustment like below to be consistent with go functions framework?

send(data: object, output?: string)
or
send(output?: string, data: object) ?

In TS, a required param cannot be placed after an optional param.

@benjaminhuo
Copy link
Member

Is it reasonable to make adjustment like below to be consistent with go functions framework?

send(data: object, output?: string) or send(output?: string, data: object) ?

In TS, a required param cannot be placed after an optional param.

If the output is not set, where is the data sent to?

@webup
Copy link
Collaborator Author

webup commented Apr 8, 2022

Is it reasonable to make adjustment like below to be consistent with go functions framework?

send(data: object, output?: string) or send(output?: string, data: object) ?

In TS, a required param cannot be placed after an optional param.

If the output is not set, where is the data sent to?

Will broadcast to all declared outputs In current impl.

@benjaminhuo
Copy link
Member

benjaminhuo commented Apr 8, 2022

The broadcast could be a different method, the send just sends the output to one destination like go implementation maybe?

@webup
Copy link
Collaborator Author

webup commented Apr 9, 2022

The broadcast could be a different method, the send just sends the output to one destination like go implementation maybe?

As we discussed in wechat group, let's move on to roll out 0.4.0 first, then will upgrade the function interfaces to better comply with the Function Framework overall guidelines. :)

@webup webup marked this pull request as ready for review April 10, 2022 09:49
@webup webup added the type: feature New feature or request label Apr 10, 2022
@benjaminhuo
Copy link
Member

send(data: object, output?: string) seems to be language-specific, there are optional params in nodejs while there isn't in go. We can keep it for now.

@benjaminhuo benjaminhuo merged commit a9b6224 into OpenFunction:master Apr 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature New feature or request
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants