.. | ||
static | ||
access_test.go | ||
access.go | ||
admin.go | ||
admin.html | ||
api.go | ||
app_test.go | ||
app.yaml | ||
bisect_test.go | ||
bug.html | ||
commit_poll_test.go | ||
config.go | ||
cron.yaml | ||
dashboard.go | ||
email_test.go | ||
entities.go | ||
error.html | ||
fix_test.go | ||
handler.go | ||
index.yaml | ||
jobs_test.go | ||
jobs.go | ||
mail_bisect_result.txt | ||
mail_bug.txt | ||
mail_test_result.txt | ||
main.go | ||
main.html | ||
notifications_test.go | ||
README.md | ||
reporting_email.go | ||
reporting_external.go | ||
reporting_test.go | ||
reporting.go | ||
repro_test.go | ||
templates.html | ||
terminal.html | ||
util_test.go |
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:
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