update(proposals): goals, non-goals and use cases of the Falco API

Signed-off-by: Leonardo Di Donato <leodidonato@gmail.com>
This commit is contained in:
Leonardo Di Donato 2019-12-05 17:44:55 +01:00 committed by Leo Di Donato
parent b684aee817
commit 7159b43f68

View File

@ -25,23 +25,27 @@ Some examples, already in place, are:
- To design and implement an API to make Falco more configurable
- To design and implement an API to make Falco more consumable
- To have an API so that users are able to interface with Falco
- To design a set of simple contract interfaces
- To have a secure by default Falco API
- To have an API which is secure by default
- To implement this API in C++ using gRPC as a first implementation
## Non-Goals
- Replace the existing inputs: the **inputs** will be only for new source events users may want to add, initially
- To replace the existing inputs: the **inputs** will be only for new source events users may want to add, initially
- To document the API: to be approached as separate task
- To create/update the API client: to be approached as a separate task
## Proposal
### Use cases
- Receive Falco events with a well-defined contract over wire --> **outputs**
- Receive Falco drops with a well-defined contract over wire --> **drops**
- Receive Falco events with a well-defined contract --> **outputs**
- Receive Falco drops with a well-defined contract --> **drops**
- Receive current Falco version and related meta information (commit hash, built type, etc.) --> **version**
- Configure Falco via API (CRUD) -> **configs**
- Inject and/or modify Falco rules via API (CRUD) --> **rules**
- Send input events to Falco over wire --> **inputs**
- Send input events to Falco --> **inputs**
### Unary services