tree: 382cdc0bcb1ec966fa4a3b26b0d30535a3dfac66 [path history] [tgz]
  1. static/
  2. access.go
  3. access_test.go
  4. admin.go
  5. admin.html
  6. api.go
  7. api_test.go
  8. app.yaml
  9. app_test.go
  10. asset_storage.go
  11. asset_storage_test.go
  12. backports.html
  13. bisect_test.go
  14. bug.html
  15. cache.go
  16. cache_test.go
  17. commit_poll_test.go
  18. config.go
  19. cron.yaml
  20. dashboard.go
  21. discussion.go
  22. discussion_test.go
  23. email_test.go
  24. entities.go
  25. entities_test.go
  26. error.html
  27. fix_test.go
  28. getjson_test.go
  29. graph_bugs.html
  30. graph_crashes.html
  31. graph_fuzzing.html
  32. graph_lifetimes.html
  33. graphs.go
  34. graphs_test.go
  35. handler.go
  36. index.yaml
  37. jobs.go
  38. jobs_test.go
  39. kcidb.go
  40. label.go
  41. linux_reporting.go
  42. linux_reporting_test.go
  43. mail_bisect_result.txt
  44. mail_bug.txt
  45. mail_fix_candidate.txt
  46. mail_label_notif.txt
  47. mail_subsystem.txt
  48. mail_test_result.txt
  49. main.go
  50. main.html
  51. main_test.go
  52. notifications_test.go
  53. public_json_api.go
  54. README.md
  55. reporting.go
  56. reporting_email.go
  57. reporting_external.go
  58. reporting_lists.go
  59. reporting_test.go
  60. repos.html
  61. repro_test.go
  62. stats.go
  63. subsystem.go
  64. subsystem_page.html
  65. subsystem_test.go
  66. subsystems.html
  67. templates.html
  68. terminal.html
  69. tree.go
  70. tree_test.go
  71. util_test.go
dashboard/app/README.md

Dashboard

dashboard is an App Engine app that powers syzbot. The main deployment is at syzkaller.appspot.com.

It is so-called Standard environment Go app.
To deploy and manage the app you need to install Google Cloud SDK.
For more details about App Engine refer to the docs.

Note: The app is not stable and is not officially supported. It's here only to power the main deployment.

Here is “big” picture of a possible setup: Overall picture of syzbot setup

Note: the vector source is here; 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.

To deploy the app you need to add a .go file with production config. The config specifies kernel namespaces, bug reporting details, API keys, etc. Tests contain a config example, but it's not ready for production use.

The app also needs one or more syz-ci instances running elsewhere. The syz-ci instances do the actual fuzzing, bisection, patch testing, etc.

The app can be deployed with GO111MODULE=off gcloud beta app deploy ./dashboard/app/app.yaml command:

  1. GO111MODULE=off is needed to deploy the package, not module.
  2. “beta app” instead of “app” is needed to support the “app_engine_apis: true” flag in yaml file.
  3. [optional flag] “--no-promote” let you to test the app firs and migrate the traffic to it later.
  4. [optional flag] “--verbosity=info” let you to see what files are going to be deployed.

The app tests can be run with:

go test github.com/google/syzkaller/dashboard/app

During development it's handy to use -short flag to not run the longest tests.

If any of the tests fail, use -v flag to see log of what happens and -run flag to run a single test, e.g.:

go test -short -v -run=TestEmailReport github.com/google/syzkaller/dashboard/app