github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/dashboard/app/README.md (about)

     1  # Dashboard
     2  
     3  `dashboard` is an [App Engine](https://cloud.google.com/appengine) app that powers [syzbot](/docs/syzbot.md).
     4  The main deployment is at [syzkaller.appspot.com](https://syzkaller.appspot.com).
     5  
     6  It is so-called [Standard environment](https://cloud.google.com/appengine/docs/standard) Go app.\
     7  To deploy and manage the app you need to install [Google Cloud SDK](https://cloud.google.com/sdk/install).\
     8  For more details about App Engine refer to the [docs](https://cloud.google.com/appengine/docs/standard/go/).
     9  
    10  **Note**: The app is not stable and is not officially supported. It's here only to power the main deployment.
    11  
    12  Here is "big" picture of a possible setup:
    13  ![Overall picture of syzbot setup](/docs/syzbot_architecture.png)
    14  
    15  **Note**: the vector source is [here](https://docs.google.com/drawings/d/16EdqYrWD4PWD2nV_PoDPvC5VPry2H40Sm8Min-RtDdA);
    16  to update: make a copy of the source, edit, download a png, update the png and include a link to your vector copy into the PR.
    17  
    18  To deploy the app you need to add a `.go` file with production config. The config specifies kernel namespaces,
    19  bug reporting details, API keys, etc. Tests contain a [config example](app_test.go), but it's not ready for
    20  production use.
    21  
    22  The app also needs one or more [syz-ci](/syz-ci/syz-ci.go) instances running elsewhere. The `syz-ci` instances
    23  do the actual fuzzing, bisection, patch testing, etc.
    24  
    25  The app can be deployed by `gcloud app deploy ./dashboard/app/app.yaml`.
    26  
    27  Next optional flags are available:
    28  
    29  1. "--no-promote" to test the app firs and migrate the traffic to it later.
    30  2. "--verbosity=info" to see what files are going to be deployed.
    31  
    32  The app tests can be run with:
    33  ```
    34  go test github.com/google/syzkaller/dashboard/app
    35  ```
    36  During development it's handy to use `-short` flag to not run the longest tests.
    37  
    38  If any of the tests fail, use `-v` flag to see log of what happens and `-run` flag
    39  to run a single test, e.g.:
    40  ```
    41  go test -short -v -run=TestEmailReport github.com/google/syzkaller/dashboard/app
    42  ```