Story: OpenFaaS SDKs for each language
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 26.2k
- Forks
- 2k
- PR merge metrics
- No merged PRs in 30d
Description
Story: OpenFaaS SDKs for each language
Since this will be a big piece of work and potentially involve multiple languages and features, I'm calling it a Story.
Use-case
We have been asked 4-5 times in as many months for an SDK for Java which can be used to integrate with the OpenFaaS API. This aligns well with the developers-first value of OpenFaaS and the mission: Serverless Functions Made Simple.
The official Java template also has code bundled for its entrypoint and function model, which need to be submitted to jCenter or similar so that enterprise developers can get a good experience in their IDEs.
Whilst invoking a function, or listing functions can be as simple as creating a HttpClient and then doing a GET / POST, this can and should be made easier. It may be that some developers within an organisation write OpenFaaS functions, other teams should be able to integrate with those easily and this story is part of that.
Coverage
I think this is my priority order:
- JavaScript (nodejs)
- Java
- .NET Core 2.x
- Go (perhaps this can be vendored from the proxy package of the faas-cli)
- Python
Followed by PHP, Ruby, Perl and potentially some others.
Other concerns
I think we need a degree of similarity between each SDK and we also need to be idiomatic in each language as far as possible.
I wanted to highlight some prior work that may be useful for reference from the CNCF Serverless Working Group for CloudEvents; JavaScript, Java, Go - .NET also exists.
These packages should be distributed through the appropriate channels as Ruby Gems, NPM modules and jCenter for JARs.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No implementation files or tests are named. Start by reviewing the faas-cli proxy package, the official Java template, and the referenced CloudEvents SDKs to compare possible SDK boundaries and language conventions. Done requires a scoped plan and compatible SDKs distributed through the appropriate package channels.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, java, javascript, nodejs, perl, php, python, ruby
- Domain
- api, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100