You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Simon Weng (Jira)" <ji...@apache.org> on 2020/08/07 16:26:00 UTC
[jira] [Updated] (NIFI-7718) create NiFi sub projects to host NiFi
REST client in different languages
[ https://issues.apache.org/jira/browse/NIFI-7718?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simon Weng updated NIFI-7718:
-----------------------------
Summary: create NiFi sub projects to host NiFi REST client in different languages (was: create NiFI sub projects to host NiFi REST client in different languages)
> create NiFi sub projects to host NiFi REST client in different languages
> ------------------------------------------------------------------------
>
> Key: NIFI-7718
> URL: https://issues.apache.org/jira/browse/NIFI-7718
> Project: Apache NiFi
> Issue Type: New Feature
> Components: Tools and Build
> Reporter: Simon Weng
> Priority: Minor
>
> We're seeing the need of NiFI REST clients in different languages, such as Python, Go, etc, so that software can be created to control and manage NiFi cluster and flows.
> Since the RESTful API is documented in OpenAPI spec v2, a client SDK can be generated via [openapi-generator|[https://github.com/OpenAPITools/openapi-generator]|https://github.com/OpenAPITools/openapi-generator].]
> Individual effort is seen from the community, such as:
> * [https://github.com/erdrix/nigoapi]
> * [https://github.com/simingweng/nifi-go-client]
> * [https://github.com/Chaffelson/nipyapi]
> It would be beneficial to the community to consolidate the effort and centrally maintain the Client SDK effort for everybody to use.
> Just like \{{minifi}} being a sub project of NiFi, we can create sub project for each language binding, such as:
> * apache/nifi-client-go
> * apache/nifi-client-python
> A \{{repo-per-language}} approach is favored for various reasons, take [https://github.com/kubernetes-client] as sample:
> * each language has its idiomatic way to publish and share
> * easier for contributor to maintain and release
> * each language may require different custom templates, almost certainly different code generation configurations
> * some language has tighter couple with repo and their dependencies management, like Go
> This means higher initial logistic effort to set those sub projects up, but it can be done gradually.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)