syzkaller/dashboard/app
Dmitry Vyukov 854773ea9f dashboard/app: prohibit dup cycles
Bug dup cycles are not useful and the
rest of the code is not prepared for them.
Prohibit updates that create cycles.
This required to restructure the code to move
the check into the transaction, so that we
can't get cycles even after concurrent updates.

Fixes #1852
2020-06-23 16:42:46 +02:00
..
static dashboard/app: add help link for coverage reports 2020-04-29 09:09:35 +02:00
access_test.go .golangci.yml: enable funlen checker 2020-06-05 12:23:19 +02:00
access.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
admin.go dashboard: update to go111 runtime 2020-01-29 16:01:06 +01:00
admin.html dashboard/app: show patch testing requests on bug page 2020-05-08 15:48:07 +02:00
api.go dashboard/app: collect BB coverage stats from managers 2020-05-08 14:09:35 +02:00
app_test.go all: use more respective language 2020-06-11 23:19:34 +02:00
app.yaml all: add missing copyright statements 2020-05-18 11:34:42 +02:00
bisect_test.go all: use more respective language 2020-06-11 23:19:34 +02:00
bug.html dashboard/app: show patch testing requests on bug page 2020-05-08 15:48:07 +02:00
commit_poll_test.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
config.go all: use more respective language 2020-06-11 23:19:34 +02:00
cron.yaml all: add missing copyright statements 2020-05-18 11:34:42 +02:00
dashboard.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
email_test.go .golangci.yml: enable funlen checker 2020-06-05 12:23:19 +02:00
entities.go dashboard/app: prohibit dup cycles 2020-06-23 16:42:46 +02:00
error.html dashboard/app: add support for Google Analytics 2018-03-21 13:46:45 +01:00
fix_test.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
handler.go dashboard/app: fix linter warnings 2020-04-29 16:32:33 +02:00
index.yaml all: add missing copyright statements 2020-05-18 11:34:42 +02:00
jobs_test.go all: use more respective language 2020-06-11 23:19:34 +02:00
jobs.go all: use more respective language 2020-06-11 23:19:34 +02:00
mail_bisect_result.txt syz-ci: send build info for failed bisections 2019-11-05 09:15:56 +01:00
mail_bug.txt dashboard/app: add notion of per-repo build maintainers 2020-05-09 15:40:30 +02:00
mail_test_result.txt dashboard/app: include dashboard link in job reports 2019-08-24 13:42:14 -07:00
main.go dashboard/app: show patch testing requests on bug page 2020-05-08 15:48:07 +02:00
main.html dashboard/app: introduce notion of "decommissioned" namespaces 2020-04-29 13:14:07 +02:00
notifications_test.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
README.md dashboard/app: add instructions on how to update the scheme 2020-04-03 10:49:59 +02:00
reporting_email.go all: fix new golangci-lint warnings 2020-03-13 08:26:02 +01:00
reporting_external.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
reporting_test.go dashboard/app: prohibit dup cycles 2020-06-23 16:42:46 +02:00
reporting.go dashboard/app: prohibit dup cycles 2020-06-23 16:42:46 +02:00
repro_test.go dashboard/app: fix testing for go1.11 runtime 2020-01-29 16:01:06 +01:00
templates.html dashboard/app: show patch testing requests on bug page 2020-05-08 15:48:07 +02:00
terminal.html dashboard/app: add invalid bugs page 2019-05-27 11:28:02 +02:00
util_test.go tools: add syz-big-env 2020-06-02 13:39:30 +02:00

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 gcloud app deploy/update, refer to the docs for more details.

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