Closed DumpySquare closed 3 years ago
Created Spike Jira CHARON-140 - [Spike] Provide api interface #4 for PM tracking.
Adding a merge request coming from internal F5 dev https://gitswarm.f5net.com/automation-toolchain/as3-charon/-/merge_requests/200
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
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