f5devcentral / f5-automation-config-converter

Convert BIG-IP configs to AS3 and DO declarations
https://clouddocs.f5.com/products/extensions/f5-automation-config-converter/latest/
Apache License 2.0
35 stars 13 forks source link

[RFE] Provide api interface #4

Closed DumpySquare closed 3 years ago

DumpySquare commented 4 years ago

Is your feature request related to a problem? Please describe.

Users and developers would like to access ACC features and functionality via other methods (command line) or within other tools. Furthermore, consuming a docker package can be a barrier for many (including customers).

Describe the solution you'd like

Provide a programmatic way to interface with ACC (direct api via something like a nodejs npm package).

I recommend something like the F5 FAST approach. They released a 'core' npm module https://github.com/f5devcentral/f5-fast-core, which is used by the ILX RPM that is installed on TMOS. The core npm module also has a command line. So, users can just utilize the product from a simple command line (other than 'npm install f5-fast-core'), or can integrate it into any automation or solution they desire (wrap it in a REST API, or even wrap that in a gui).

Describe alternatives you've considered

Few alternatives, but to reiterate, that the current docker packaging can be a barrier to consumption for some people.

Additional context

With a direct API interface, users would be able to utilize ACC functionality in any way imaged (driving further consumption).

For example, direct integration into the vscode-f5-chariot vscode extension, which could remove the need for docker all together, provide a single install package and an easy point/click interface to utilize ACC. This solution also has the benefit of being able to code a "help" function that could capture all the necessary configs/logs/output for a user to submit a bug/rfe request, further simplifying the feedback process.

https://github.com/f5devcentral/vscode-f5-chariot

Furthermore, a native command line utility can have less requirements for consumption.

Another example of a modular api tool with a command line: https://github.com/f5devcentral/f5-corkscrew#installation

mdditt2000 commented 4 years ago

Created Spike Jira CHARON-140 - [Spike] Provide api interface #4 for PM tracking.

mdditt2000 commented 4 years ago

Adding a merge request coming from internal F5 dev https://gitswarm.f5net.com/automation-toolchain/as3-charon/-/merge_requests/200

mdditt2000 commented 3 years ago

This task is complete and will be in ACC 1.10 Here is a preview for testing -

docker pull vzhuravlevf5/zvvaccdev:dev docker run --rm -v "$PWD":/app/data -p 8080:8080 vzhuravlevf5/zvvaccdev:dev serve curl -v http://localhost:8080/as3convert --form "conf=@/Users/dittmer/Desktop/toConvert.conf

or use POSTMAN

image