Giter Site home page Giter Site logo

falco-diagrams's Introduction

falco-diagrams

Diagrams to visually explain Falco

Diagrams are done with Mermaid.

Since I believe a picture is worth a thousand words, even more when trying to explain complicated stuff as Falco and its eBPF driver are... Here we are!

This repo also provides tooling for automating the making of these diagrams:

a GiHub action to automatically generate, commit, and push Falco diagrams to the output/ directory.

But since I didn't like so much the quality of the resulting diagram images, I created a simple in-place mermaid editor that you can use to:

  1. draw diagrams with a custom Falco theme
  2. download them as PNG images with a good resolution

I've already created some of them for my talks and decks in the past, so you can find them in the themed/ directory. Enjoy them!

Disclaimer: it's possible that you'll find some of these diagrams and illustrations (and many others) in the upcoming Falco Cookbook. Grab it until it's hot!

falco starts sinsp scap scap open scap open internals
scap open live int scap bpf load initial setup scap bpf load probe elf loading
scap bpf load populate routing syscall table scap bpf load populate event table and fillers table scap bpf load events per cpu
scap bpf load settings falco event loop falco event loop with queue
falco grpc server on falco grpc server spawning threads falco grpc server thread processing
falco grpc server bidirectional handling falco grpc server stream handling falco poiana bot workflow

Contribute a diagram

It's simple!

Just create a .md file containing some Mermaid syntax in the input/ directory. Something like:

sequenceDiagram
  autonumber
  falco->>sinsp: new()
  sinsp-->>falco: inspector
  falco->>sinsp: open()
  Note over sinsp: open_live_common(..., SCAP_MODE_LIVE)
  sinsp->>scap: scap_open()
  Note over scap: REF: SCAP OPEN
  scap-->>sinsp: scap_t
  sinsp->>sinsp: init
  sinsp-->>falco: void

This repo's tooling will do the rest for you and you'll obtain in a minute the resulting diagram in the output/ directory.

Notice that also the input file will be edited by the tooling by inserting into it the diagram image just generated.

TODOs

  • Make the in-place editor work also on other browsers other than Google Chrome
  • Create a real in-place editor with a text-area or similar
    • At the moment, you need to copy the diagram source in the HTML and re-open it
  • Publish the editor
  • Fix the GitHub action compiling the Mermaid diagrams
    • Sizing of the resulting image

Analytics

falco-diagrams's People

Contributors

leodido avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jimangel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.