|
|
Hook To Do list
|
|
|
===============
|
|
|
|
|
|
The list of hook-related features that should be implemented:
|
|
|
|
|
|
- [x] Version check
|
|
|
- [x] Application check
|
|
|
- [x] Static type checking of callout points
|
|
|
- [x] Calling the callout points through a proxy to hide the number of registered hooks from core
|
|
|
- [x] Loading and validating the hooks
|
|
|
- [x] Customizable hook location
|
|
|
- [x] Calling hooks sequentially
|
|
|
- [x] Calling single hook
|
|
|
- [x] Separating callouts to minimize the dependencies footprint
|
|
|
- [x] Possibility to use Stork-specific data types
|
|
|
- [x] Exchange data via context
|
|
|
- [x] Receive output from hook
|
|
|
- [x] Task to initialize new hook
|
|
|
- [x] Task to list dependencies of a given callout
|
|
|
- [x] Task to change Stork core dependency location in go.mod
|
|
|
- [x] Develop example hook
|
|
|
- [ ] Handle hook CLI parameters
|
|
|
- [ ] Handle hook environment variables by dedicated component
|
|
|
- [ ] Exchange data between hooks (excluding context)
|
|
|
- [ ] Demo with hooks
|
|
|
- [ ] Unify the hook and core toolkits and standards (for ISC hooks, e.g., linting, unit testing)
|
|
|
- [ ] Support UI hooks
|
|
|
- [ ] Tool for inspecting hooks
|
|
|
- [x] Check if file is Go plugin
|
|
|
- [x] Check if file has the mandatory functions
|
|
|
- [ ] Check if file returns a proper callout object
|
|
|
- [ ] Specify good practices to minimize output size of binary
|
|
|
- [ ] Configure CI for hooks
|
|
|
- [ ] Distributing the compiled hooks in release
|
|
|
- [ ] Reload and unload hooks
|
|
|
- [ ] Measure hook execution time, CPU and memory usage
|
|
|
- [ ] Hook monitoring
|
|
|
- [ ] Allow storing hook settings in the database
|
|
|
- [ ] Hook RESTApi endpoint
|
|
|
- [ ] Test hooks on various operating systems
|
|
|
|
|
|
and adding more and more callout points. |