Skip to content

Commit

Permalink
Configure OpenAPIV3 schema (#34)
Browse files Browse the repository at this point in the history
Signed-off-by: Arnob kumar saha <arnob@appscode.com>
  • Loading branch information
ArnobKumarSaha authored Jan 18, 2024
1 parent fdccb7e commit 08952c8
Show file tree
Hide file tree
Showing 74 changed files with 65,108 additions and 2,105 deletions.
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

0 comments on commit 08952c8

Please sign in to comment.