Skip to content

Commit ae3f62b

Browse files
committed
syz-cluster: initial code
The basic code of a K8S-based cluster that: * Aggregates new LKML patch series. * Determines the kernel trees to apply them to. * Builds the basic and the patched kernel. * Displays the results on a web dashboard. This is a very rudimentary version with a lot of TODOs that provides a skeleton for further work. The project makes use of Argo workflows and Spanner DB. Bootstrap is used for the web interface. Overall structure: * syz-cluster/dashboard: a web dashboard listing patch series and their test results. * syz-cluster/series-tracker: polls Lore archives and submits the new patch series to the DB. * syz-cluster/controller: schedules workflows and provides API for them. * syz-cluster/kernel-disk: a cron job that keeps a kernel checkout up to date. * syz-cluster/workflow/*: workflow steps. For the DB structure see syz-cluster/pkg/db/migrations/*.
1 parent 259a2d8 commit ae3f62b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+5329
-13
lines changed

go.mod

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/google/syzkaller
22

3-
go 1.22.1
3+
go 1.23.1
44

55
require (
66
cloud.google.com/go v0.116.0
@@ -15,6 +15,8 @@ require (
1515
github.com/VividCortex/gohistogram v1.0.0
1616
github.com/dvyukov/go-fuzz v0.0.0-20220726122315-1d375ef9f9f6
1717
github.com/golangci/golangci-lint v1.62.2
18+
github.com/golang-migrate/migrate/v4 v4.18.1
19+
github.com/golangci/golangci-lint v1.62.0
1820
github.com/google/flatbuffers v24.3.25+incompatible
1921
github.com/google/generative-ai-go v0.18.0
2022
github.com/google/go-cmp v0.6.0
@@ -37,6 +39,7 @@ require (
3739
google.golang.org/appengine/v2 v2.0.5
3840
google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1
3941
google.golang.org/protobuf v1.35.2
42+
google.golang.org/grpc v1.66.2
4043
gopkg.in/yaml.v3 v3.0.1
4144
)
4245

@@ -67,6 +70,8 @@ require (
6770
github.com/alexkohler/prealloc v1.0.0 // indirect
6871
github.com/alingse/asasalint v0.0.11 // indirect
6972
github.com/apache/arrow/go/v15 v15.0.2 // indirect
73+
github.com/argoproj/argo-workflows/v3 v3.6.2 // indirect
74+
github.com/argoproj/pkg v0.13.7-0.20240704113442-a69fd34a8117 // indirect
7075
github.com/ashanbrown/forbidigo v1.6.0 // indirect
7176
github.com/ashanbrown/makezero v1.1.1 // indirect
7277
github.com/beorn7/perks v1.0.1 // indirect
@@ -88,21 +93,26 @@ require (
8893
github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b // indirect
8994
github.com/curioswitch/go-reassign v0.2.0 // indirect
9095
github.com/daixiang0/gci v0.13.5 // indirect
91-
github.com/davecgh/go-spew v1.1.1 // indirect
96+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
9297
github.com/denis-tingaikin/go-header v0.5.0 // indirect
98+
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
9399
github.com/envoyproxy/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155 // indirect
94100
github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect
95101
github.com/ettle/strcase v0.2.0 // indirect
96102
github.com/fatih/color v1.18.0 // indirect
97103
github.com/fatih/structtag v1.2.0 // indirect
98104
github.com/felixge/httpsnoop v1.0.4 // indirect
99105
github.com/firefart/nonamedreturns v1.0.5 // indirect
100-
github.com/fsnotify/fsnotify v1.6.0 // indirect
106+
github.com/fsnotify/fsnotify v1.7.0 // indirect
107+
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
101108
github.com/fzipp/gocyclo v0.6.0 // indirect
102109
github.com/ghostiam/protogetter v0.3.8 // indirect
103110
github.com/go-critic/go-critic v0.11.5 // indirect
104111
github.com/go-logr/logr v1.4.2 // indirect
105112
github.com/go-logr/stdr v1.2.2 // indirect
113+
github.com/go-openapi/jsonpointer v0.21.0 // indirect
114+
github.com/go-openapi/jsonreference v0.20.4 // indirect
115+
github.com/go-openapi/swag v0.23.0 // indirect
106116
github.com/go-toolsmith/astcast v1.1.0 // indirect
107117
github.com/go-toolsmith/astcopy v1.1.0 // indirect
108118
github.com/go-toolsmith/astequal v1.2.0 // indirect
@@ -112,9 +122,10 @@ require (
112122
github.com/go-toolsmith/typep v1.1.0 // indirect
113123
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
114124
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
115-
github.com/gobwas/glob v0.2.3 // indirect
116-
github.com/goccy/go-json v0.10.2 // indirect
125+
github.com/gobwas/glob v0.2.4-0.20181002190808-e7a84e9525fe // indirect
126+
github.com/goccy/go-json v0.10.3 // indirect
117127
github.com/gofrs/flock v0.12.1 // indirect
128+
github.com/gogo/protobuf v1.3.2 // indirect
118129
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
119130
github.com/golang/protobuf v1.5.4 // indirect
120131
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
@@ -125,7 +136,9 @@ require (
125136
github.com/golangci/plugin-module-register v0.1.1 // indirect
126137
github.com/golangci/revgrep v0.5.3 // indirect
127138
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
128-
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 // indirect
139+
github.com/google/gnostic-models v0.6.8 // indirect
140+
github.com/google/gofuzz v1.2.0 // indirect
141+
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
129142
github.com/google/s2a-go v0.1.8 // indirect
130143
github.com/google/safehtml v0.1.0 // indirect
131144
github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
@@ -135,6 +148,9 @@ require (
135148
github.com/gostaticanalysis/comment v1.4.2 // indirect
136149
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
137150
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
151+
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
152+
github.com/hashicorp/errwrap v1.1.0 // indirect
153+
github.com/hashicorp/go-multierror v1.1.1 // indirect
138154
github.com/hashicorp/go-version v1.7.0 // indirect
139155
github.com/hashicorp/hcl v1.0.0 // indirect
140156
github.com/hexops/gotextdiff v1.0.3 // indirect
@@ -145,12 +161,14 @@ require (
145161
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
146162
github.com/jinzhu/copier v0.3.5 // indirect
147163
github.com/jjti/go-spancheck v0.6.2 // indirect
164+
github.com/josharian/intern v1.0.0 // indirect
165+
github.com/json-iterator/go v1.1.12 // indirect
148166
github.com/julz/importas v0.1.0 // indirect
149167
github.com/karamaru-alpha/copyloopvar v1.1.0 // indirect
150168
github.com/kisielk/errcheck v1.8.0 // indirect
151169
github.com/kkHAIKE/contextcheck v1.1.5 // indirect
152170
github.com/klauspost/compress v1.17.9 // indirect
153-
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
171+
github.com/klauspost/cpuid/v2 v2.2.8 // indirect
154172
github.com/kulti/thelper v0.6.3 // indirect
155173
github.com/kunwardeep/paralleltest v1.0.10 // indirect
156174
github.com/kyoh86/exportloopref v0.1.11 // indirect
@@ -160,6 +178,7 @@ require (
160178
github.com/leonklingele/grouper v1.1.2 // indirect
161179
github.com/macabu/inamedparam v0.1.3 // indirect
162180
github.com/magiconair/properties v1.8.7 // indirect
181+
github.com/mailru/easyjson v0.7.7 // indirect
163182
github.com/maratori/testableexamples v1.0.0 // indirect
164183
github.com/maratori/testpackage v1.1.1 // indirect
165184
github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect
@@ -169,6 +188,8 @@ require (
169188
github.com/mgechev/revive v1.5.1 // indirect
170189
github.com/mitchellh/go-homedir v1.1.0 // indirect
171190
github.com/mitchellh/mapstructure v1.5.0 // indirect
191+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
192+
github.com/modern-go/reflect2 v1.0.2 // indirect
172193
github.com/moricho/tparallel v0.3.2 // indirect
173194
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
174195
github.com/nakabonne/nestif v0.3.1 // indirect
@@ -207,15 +228,15 @@ require (
207228
github.com/sonatard/noctx v0.1.0 // indirect
208229
github.com/sourcegraph/go-diff v0.7.0 // indirect
209230
github.com/spf13/afero v1.11.0 // indirect
210-
github.com/spf13/cast v1.5.0 // indirect
231+
github.com/spf13/cast v1.6.0 // indirect
211232
github.com/spf13/cobra v1.8.1 // indirect
212233
github.com/spf13/jwalterweatherman v1.1.0 // indirect
213234
github.com/spf13/pflag v1.0.5 // indirect
214-
github.com/spf13/viper v1.15.0 // indirect
235+
github.com/spf13/viper v1.18.2 // indirect
215236
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
216237
github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect
217238
github.com/stretchr/objx v0.5.2 // indirect
218-
github.com/subosito/gotenv v1.4.2 // indirect
239+
github.com/subosito/gotenv v1.6.0 // indirect
219240
github.com/tdakkota/asciicheck v0.2.0 // indirect
220241
github.com/tetafro/godot v1.4.18 // indirect
221242
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect
@@ -226,6 +247,7 @@ require (
226247
github.com/ultraware/whitespace v0.1.1 // indirect
227248
github.com/uudashr/gocognit v1.1.3 // indirect
228249
github.com/uudashr/iface v1.2.1 // indirect
250+
github.com/x448/float16 v0.8.4 // indirect
229251
github.com/xen0n/gosmopolitan v1.2.2 // indirect
230252
github.com/yagipy/maintidx v1.0.0 // indirect
231253
github.com/yeya24/promlinter v0.3.0 // indirect
@@ -242,22 +264,31 @@ require (
242264
go.opentelemetry.io/otel/trace v1.29.0 // indirect
243265
go.uber.org/atomic v1.10.0 // indirect
244266
go.uber.org/automaxprocs v1.6.0 // indirect
245-
go.uber.org/multierr v1.9.0 // indirect
267+
go.uber.org/multierr v1.11.0 // indirect
246268
go.uber.org/zap v1.24.0 // indirect
247269
golang.org/x/crypto v0.29.0 // indirect
248270
golang.org/x/exp/typeparams v0.0.0-20241108190413-2d47ceb2692f // indirect
249271
golang.org/x/mod v0.22.0 // indirect
250272
golang.org/x/net v0.31.0 // indirect
251273
golang.org/x/term v0.26.0 // indirect
252274
golang.org/x/text v0.20.0 // indirect
253-
golang.org/x/time v0.6.0 // indirect
275+
golang.org/x/time v0.7.0 // indirect
254276
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
255277
google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect
256278
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
257-
google.golang.org/grpc v1.66.2 // indirect
279+
gopkg.in/inf.v0 v0.9.1 // indirect
258280
gopkg.in/ini.v1 v1.67.0 // indirect
259281
gopkg.in/yaml.v2 v2.4.0 // indirect
260282
honnef.co/go/tools v0.5.1 // indirect
283+
k8s.io/api v0.32.0 // indirect
284+
k8s.io/apimachinery v0.32.0 // indirect
285+
k8s.io/client-go v0.32.0 // indirect
286+
k8s.io/klog/v2 v2.130.1 // indirect
287+
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
288+
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
261289
mvdan.cc/gofumpt v0.7.0 // indirect
262290
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f // indirect
291+
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
292+
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
293+
sigs.k8s.io/yaml v1.4.0 // indirect
263294
)

0 commit comments

Comments
 (0)