Brainstorming session about the tutorial.

Co-authored-by: César Gallego <cesar.gallego.next@bbva.com>
This commit is contained in:
Roberto Abdelkader Martínez Pérez
2019-11-22 13:37:09 +01:00
parent 5be545f168
commit 10bb243406
2 changed files with 74 additions and 0 deletions
+5
View File
@@ -23,6 +23,11 @@
theory/route_matching
theory/routes
.. toctree::
:maxdepth: 2
:caption: Tutorial
tutorial/_brianstorm
Indices and tables
==================
+69
View File
@@ -0,0 +1,69 @@
User Profile
============
Before You Start
----------------
Needed Skills:
#. Basic Linux
#. Proficient shell
#. How HTTP works
Needed Tools:
#. Linux machine
#. Installed Kapow! distribution
Motive
------
Use Kapow! to expose some Linux Box internal metrics and actions as an HTTP API for third party users.
Scenario
--------
User is a DevOps at ACME Company.
ACME Company appears to be a conglomerate which produces and sells every product type imaginable.
ACME's Infrastructure
---------------------
- 2 Linux machines
- Corporate Server
- Backup Server
User Journey
------------
#. Actions over the database. Launch database backup script with an HTTP call.
- User Learns: Add a route that executes a command locally.
- Kapow! Concepts: `kapow route add`
#. Basic database monitorization
- User Learns: Execute local commands and output it results to the HTTP body.
- Kapow! Concepts: `kapow set /response/body`
#. Advanced database monitorization
- User Learns: Compose complex HTTP responses with more than one local command.
- Kapow! Concepts: HEREDOC and subshells
#. Share your achievements
- User Learns: Format a complex HTTP response with JSON format to feed the corporate dashboard.
- Kapow! Concepts: backtick interpolation and `kapow set /response/headers`
#. Unifing the interface (???)
- User Learns: Add logic to the handler. React to a specific request.
- Kapow! Concepts: `kapow get /request/headers` and IF (bash)
Ideas
------
/request/params -> Filter the results of a backup query
Use redirects to from one Kapow! server to another. I.e: 192.168.1.1/backups/{path:.*} --> 192.168.1.2/<path>
/request/files -> Firma el fichero que sube el usuario y te lo devuelve firmado.
.. note::
Add this to serve the webpage that uses the implemented HTTP API
kapow route add / -c 'kapow set /resonse/headers/Content-Type text/html ; curl --output - http:// | kapow set /response/body'