StackStorm / st2

StackStorm (aka "IFTTT for Ops") is event-driven automation for auto-remediation, incident responses, troubleshooting, deployments, and more for DevOps and SREs. Includes rules engine, workflow, 160 integration packs with 6000+ actions (see https://exchange.stackstorm.org) and ChatOps. Installer at https://docs.stackstorm.com/install/index.html
https://stackstorm.com/
Apache License 2.0
6.09k stars 747 forks source link

Dedicated REST API Endpoint per action with formal openapi definition #4250

Open alexandrejuma opened 6 years ago

alexandrejuma commented 6 years ago
SUMMARY

Each action would have a consumable openapi definition and could be called directly instead of generic execution API

ISSUE TYPE

Pick one below and delete the rest:

STACKSTORM VERSION

N/A

OS / ENVIRONMENT / INSTALL METHOD

N/A

STEPS TO REPRODUCE

This makes exposure of stackstorm actions easier for external systems. Right now, in my case, to expose meaningful northbound APIs on WSO2 based on southbound stackstorm actions through the generic execution API, I need to perform ESB level payload transformation to make the generic execution call on Stackstorm REST API.

Also makes service (action) descovery a lot easier. Right now we need to discover the yaml action metadata, turn into an API definition and deploy the API on WSO2 API Gateway. If the action would have a dedicated openapi definition, action discovery and deployment (exposure), would directly consume the openapi definition with no additional hassle and without the need of custom discovery processes.

EXPECTED RESULTS
ACTUAL RESULTS
alexandrejuma commented 6 years ago

Another possibility is to use OAS 3 oneOf keyword and specify all possible actions in the openapi specification for the executions API

stale[bot] commented 5 years ago

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically marking is as stale. If this issue is not relevant or applicable anymore (problem has been fixed in a new version or similar), please close the issue or let us know so we can close it. On the contrary, if the issue is still relevant, there is nothing you need to do, but if you have any additional details or context which would help us when working on this issue, please include it as a comment to this issue.