Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure OpenAPIV3 schema #34

Merged
merged 1 commit into from
Jan 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ require (
github.com/pkg/errors v0.9.1
github.com/spf13/cobra v1.7.0
github.com/spf13/pflag v1.0.5
go.bytebuilders.dev/audit v0.0.29-0.20231225201242-3ff33160c6f0
go.bytebuilders.dev/audit v0.0.32-0.20240105184043-9cf3195203b7
go.bytebuilders.dev/license-proxyserver v0.0.6
go.bytebuilders.dev/license-verifier v0.13.4
go.bytebuilders.dev/license-verifier/kubernetes v0.13.4
Expand All @@ -37,7 +37,7 @@ require (
k8s.io/utils v0.0.0-20231127182322-b307cd553661
kmodules.xyz/client-go v0.29.6
kmodules.xyz/go-containerregistry v0.0.12
kubedb.dev/apimachinery v0.39.1-0.20231226050606-cdc6824e47f7
kubedb.dev/apimachinery v0.41.0-beta.0.0.20240117131030-72d44aef7411
sigs.k8s.io/controller-runtime v0.16.3
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
)
Expand Down Expand Up @@ -115,10 +115,12 @@ require (
github.com/imdario/mergo v0.3.13 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/jonboulle/clockwork v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/klauspost/compress v1.17.2 // indirect
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-isatty v0.0.18 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
Expand Down Expand Up @@ -175,6 +177,7 @@ require (
golang.org/x/time v0.5.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f // indirect
gomodules.xyz/counter v0.0.1 // indirect
gomodules.xyz/encoding v0.0.7 // indirect
gomodules.xyz/flags v0.1.3 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
Expand All @@ -200,7 +203,7 @@ require (
kmodules.xyz/apiversion v0.2.0 // indirect
kmodules.xyz/custom-resources v0.29.0 // indirect
kmodules.xyz/offshoot-api v0.29.0 // indirect
kmodules.xyz/resource-metadata v0.18.1-0.20231225184845-c3650ae60818 // indirect
kmodules.xyz/resource-metadata v0.18.2-0.20240101021508-7630737cb0e6 // indirect
kmodules.xyz/resource-metrics v0.29.0 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
sigs.k8s.io/cli-utils v0.34.0 // indirect
Expand Down
20 changes: 12 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1823,8 +1823,9 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfC
github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4=
github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
Expand Down Expand Up @@ -1937,8 +1938,9 @@ github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOA
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98=
github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
Expand Down Expand Up @@ -2454,8 +2456,8 @@ github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
go.bytebuilders.dev/audit v0.0.29-0.20231225201242-3ff33160c6f0 h1:NOA3xOja8zVlnWcd+ap4PSHjH3IrCgXcQ8R1U6+ulr4=
go.bytebuilders.dev/audit v0.0.29-0.20231225201242-3ff33160c6f0/go.mod h1:VPU6L3GCSPEIEOOyH+gmwi6f8WpCkXsOCtqHggzJZzA=
go.bytebuilders.dev/audit v0.0.32-0.20240105184043-9cf3195203b7 h1:LaxhSR/p5uH9a7gPTGeAXJ58df9TxT4Hq9LjZAzmn0w=
go.bytebuilders.dev/audit v0.0.32-0.20240105184043-9cf3195203b7/go.mod h1:7B7cjCAoqAW+DghpBi6MzajKYxn4d+8dqx7iIAjMvu0=
go.bytebuilders.dev/license-proxyserver v0.0.6 h1:9gstbQ/Ug8s6V1PzELbqLMIktXLn8NsnV7ZBtJg1f+w=
go.bytebuilders.dev/license-proxyserver v0.0.6/go.mod h1:QmaFuBWQKFCgHp8UJVYGjWrJdoGB9Natw6qAFmElLp0=
go.bytebuilders.dev/license-verifier v0.13.4 h1:K4qSsTWTZc7lyRvRHfI23XRrbVrQVJ8Ew5afvSiMdBE=
Expand Down Expand Up @@ -3222,6 +3224,8 @@ gomodules.xyz/blobfs v0.1.12 h1:wUn1eaXi8CtZm5ks27zhqIGffXWLRP/9BDXa7gQvLpQ=
gomodules.xyz/blobfs v0.1.12/go.mod h1:IG5Qe1vVLWDQh5WtMNMnxLVwjyyBFpWv1fAK9ciDHAk=
gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f h1:hTyhR4r+tj1Uq7/PpFxLTzbeA0LhMVp7bEYfhkzFjdY=
gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f/go.mod h1:K3m7N+nBOlf91/tpv8REUGwsAgaKFwElQCuiLhm12AQ=
gomodules.xyz/counter v0.0.1 h1:ceHyWSJFgaMmUMmw5KLJSprxeqqEirAmltkZBhi/UOE=
gomodules.xyz/counter v0.0.1/go.mod h1:WlB0utIJzIaZgUs6sulne7DLzbEkAxvNGsMHkhjPaUY=
gomodules.xyz/encoding v0.0.7 h1:Y4PaflVS+vkYgkw6FwyF1S0ab4Y1BAdOqB3Uwjcx8qI=
gomodules.xyz/encoding v0.0.7/go.mod h1:blYJWy456Bzxj3L2G7G5WV1l5rFXl6uYXrmeFqxxqk8=
gomodules.xyz/flags v0.1.3 h1:jQ06+EfmoMv5NvjXvJon03dOhLU+FF0TQMWN7I6qpzs=
Expand Down Expand Up @@ -3772,12 +3776,12 @@ kmodules.xyz/go-containerregistry v0.0.12 h1:Tl32QGmSqRVm9PUEb/f3dgDeu9zW5fVzt3q
kmodules.xyz/go-containerregistry v0.0.12/go.mod h1:KgeNg0hDsgeda+qc0NzWk0iVRdF0+ZIg/oRzGoYh78I=
kmodules.xyz/offshoot-api v0.29.0 h1:GHLhxxT9jU1N8+FvOCCeJNyU5g0duYS46UGrs6AHNLY=
kmodules.xyz/offshoot-api v0.29.0/go.mod h1:5NxhBblXoDHWStx9HCDJR2KFTwYjEZ7i1Id3jelIunw=
kmodules.xyz/resource-metadata v0.18.1-0.20231225184845-c3650ae60818 h1:jHrryhrR488uf/LPKXz+8IOe/01uEktveG9IedciW1A=
kmodules.xyz/resource-metadata v0.18.1-0.20231225184845-c3650ae60818/go.mod h1:t9zy5/xAD042zBn9Zf7igQKh9TSPa72B3kVMXdTQTUI=
kmodules.xyz/resource-metadata v0.18.2-0.20240101021508-7630737cb0e6 h1:a1ZAbqyIL41vgnsbkKP64r9fQBOVxpmaM+5GpwPJhcc=
kmodules.xyz/resource-metadata v0.18.2-0.20240101021508-7630737cb0e6/go.mod h1:XsCdEKjfoulX29tMGviDhjT/jLl158uvMvXlKOhK1as=
kmodules.xyz/resource-metrics v0.29.0 h1:YBSVCbGdAugUqZK4igHu3fPhxvpYar4xejE6njryNM4=
kmodules.xyz/resource-metrics v0.29.0/go.mod h1:OuG/QobZ7o8GFHl/u3lqaUR0fDZDegxtV8Vdh+MNBD4=
kubedb.dev/apimachinery v0.39.1-0.20231226050606-cdc6824e47f7 h1:Bvze3ca+ELJDFT91Nuh6GkhJDYc37tn+5dHO/IuxBMo=
kubedb.dev/apimachinery v0.39.1-0.20231226050606-cdc6824e47f7/go.mod h1:Cf3eXiNiuOaEFO3X7CudohbCrpgn18sVTFLV1qxEb2g=
kubedb.dev/apimachinery v0.41.0-beta.0.0.20240117131030-72d44aef7411 h1:ZSVihIHPJfZSoegK5WGpSsVPTDZzHuaLsqOK9Hp+6Xg=
kubedb.dev/apimachinery v0.41.0-beta.0.0.20240117131030-72d44aef7411/go.mod h1:9iHsSfX02yJ6eA9IXSCruVjckH8wWgHB93ivpNVc1EY=
lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
Expand Down
26 changes: 16 additions & 10 deletions pkg/cmds/server/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,12 @@ import (
"kubeops.dev/scanner/pkg/apiserver"

"github.com/spf13/pflag"
v "gomodules.xyz/x/version"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apiserver/pkg/endpoints/openapi"
"k8s.io/apiserver/pkg/features"
genericapiserver "k8s.io/apiserver/pkg/server"
genericoptions "k8s.io/apiserver/pkg/server/options"
"k8s.io/apiserver/pkg/util/feature"
ou "kmodules.xyz/client-go/openapi"
"kmodules.xyz/client-go/tools/clientcmd"
"sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager"
Expand Down Expand Up @@ -101,19 +99,27 @@ func (o *ScannerServerOptions) Config() (*apiserver.Config, error) {
// Fixes https://github.com/Azure/AKS/issues/522
clientcmd.Fix(serverConfig.ClientConfig)

serverConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(
ou.GetDefinitions(
api.GetOpenAPIDefinitions,
),
openapi.NewDefinitionNamer(apiserver.Scheme))
serverConfig.OpenAPIConfig.Info.Title = "scanner"
serverConfig.OpenAPIConfig.Info.Version = v.Version.Version
serverConfig.OpenAPIConfig.IgnorePrefixes = []string{
ignore := []string{
"/swaggerapi",
fmt.Sprintf("/apis/%s", api.SchemeGroupVersion),
fmt.Sprintf("/apis/%s/%s", api.SchemeGroupVersion, api.ResourceImageScanRequests),
fmt.Sprintf("/apis/%s/%s", api.SchemeGroupVersion, api.ResourceImageScanReports),
}

serverConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(
api.GetOpenAPIDefinitions,
openapi.NewDefinitionNamer(apiserver.Scheme))
serverConfig.OpenAPIConfig.Info.Title = "scanner"
serverConfig.OpenAPIConfig.Info.Version = api.SchemeGroupVersion.Version
serverConfig.OpenAPIConfig.IgnorePrefixes = ignore

serverConfig.OpenAPIV3Config = genericapiserver.DefaultOpenAPIV3Config(
api.GetOpenAPIDefinitions,
openapi.NewDefinitionNamer(apiserver.Scheme))
serverConfig.OpenAPIV3Config.Info.Title = "scanner"
serverConfig.OpenAPIV3Config.Info.Version = api.SchemeGroupVersion.Version
serverConfig.OpenAPIV3Config.IgnorePrefixes = ignore

extraConfig := apiserver.ExtraConfig{
ClientConfig: serverConfig.ClientConfig,
ScannerImage: o.ExtraOptions.ScannerImage,
Expand Down
12 changes: 12 additions & 0 deletions vendor/github.com/jonboulle/clockwork/.editorconfig

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 27 additions & 0 deletions vendor/github.com/jonboulle/clockwork/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading