Skip to content
Open
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ Session.vim
*manifest-tool
.gopath
.tools

.DS_Store
33 changes: 18 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ REPO_REPORTS_SERVER ?= $(REGISTRY)/$(ORG)/$(REPO)
TOOLS_DIR := $(PWD)/.tools
REGISTER_GEN := $(TOOLS_DIR)/register-gen
OPENAPI_GEN := $(TOOLS_DIR)/openapi-gen
CODE_GEN_VERSION := v0.28.0
CODE_GEN_VERSION := v0.35.0
# we sadly need to use a specific commit because https://github.com/kubernetes/kube-openapi has no sane tags
KUBE_OPENAPI_VERSION := v0.0.0-20250910181357-589584f1c912
KIND := $(TOOLS_DIR)/kind
KIND_VERSION := v0.30.0
KO := $(TOOLS_DIR)/ko
Expand All @@ -40,7 +42,7 @@ $(REGISTER_GEN):

$(OPENAPI_GEN):
@echo Install openapi-gen... >&2
@GOBIN=$(TOOLS_DIR) go install k8s.io/code-generator/cmd/openapi-gen@$(CODE_GEN_VERSION)
@GOBIN=$(TOOLS_DIR) go install k8s.io/kube-openapi/cmd/openapi-gen@$(KUBE_OPENAPI_VERSION)

$(KIND):
@echo Install kind... >&2
Expand Down Expand Up @@ -136,19 +138,20 @@ $(PACKAGE_SHIM): $(GOPATH_SHIM)
codegen-openapi: $(PACKAGE_SHIM) $(OPENAPI_GEN) ## Generate openapi
@echo Generate openapi... >&2
@$(OPENAPI_GEN) \
-i k8s.io/apimachinery/pkg/api/resource \
-i k8s.io/apimachinery/pkg/apis/meta/v1 \
-i k8s.io/apimachinery/pkg/version \
-i k8s.io/apimachinery/pkg/runtime \
-i k8s.io/apimachinery/pkg/types \
-i k8s.io/api/core/v1 \
-i openreports.io/apis/openreports.io/v1alpha1 \
-i sigs.k8s.io/wg-policy-prototypes/policy-report/pkg/api/wgpolicyk8s.io/v1alpha2 \
-i github.com/kyverno/kyverno/api/reports/v1 \
-i github.com/kyverno/kyverno/api/policyreport/v1alpha2 \
-p ./pkg/api/generated/openapi \
-O zz_generated.openapi \
-h ./.hack/boilerplate.go.txt
k8s.io/apimachinery/pkg/api/resource \
k8s.io/apimachinery/pkg/apis/meta/v1 \
k8s.io/apimachinery/pkg/version \
k8s.io/apimachinery/pkg/runtime \
k8s.io/apimachinery/pkg/types \
k8s.io/api/core/v1 \
openreports.io/apis/openreports.io/v1alpha1 \
sigs.k8s.io/wg-policy-prototypes/policy-report/pkg/api/wgpolicyk8s.io/v1alpha2 \
github.com/kyverno/kyverno/api/reports/v1 \
github.com/kyverno/kyverno/api/policyreport/v1alpha2 \
--output-dir ./pkg/api/generated/openapi \
--output-pkg openapi \
--output-file zz_generated.openapi.go \
--go-header-file ./.hack/boilerplate.go.txt

.PHONY: codegen-helm-docs
codegen-helm-docs: ## Generate helm docs
Expand Down
425 changes: 227 additions & 198 deletions go.mod

Large diffs are not rendered by default.

1,199 changes: 639 additions & 560 deletions go.sum

Large diffs are not rendered by default.

4,019 changes: 2,763 additions & 1,256 deletions pkg/api/generated/openapi/zz_generated.openapi.go

Large diffs are not rendered by default.

15 changes: 10 additions & 5 deletions pkg/app/opts/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@ import (
"github.com/kyverno/reports-server/pkg/api"
generatedopenapi "github.com/kyverno/reports-server/pkg/api/generated/openapi"
"github.com/kyverno/reports-server/pkg/storage/etcd"
utilversion "k8s.io/apimachinery/pkg/util/version"
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
genericapiserver "k8s.io/apiserver/pkg/server"
genericoptions "k8s.io/apiserver/pkg/server/options"
"k8s.io/client-go/pkg/version"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/component-base/cli/flag"
basecompatibility "k8s.io/component-base/compatibility"
"k8s.io/component-base/logs"
logsapi "k8s.io/component-base/logs/api/v1"
_ "k8s.io/component-base/logs/json/register"
baseversion "k8s.io/component-base/version"
)

type Options struct {
Expand Down Expand Up @@ -144,15 +146,18 @@ func (o Options) ApiserverConfig() (*genericapiserver.Config, error) {
return nil, err
}

versionGet := version.Get()
serverConfig.Version = &versionGet
// will be the version of kubernetes client-go library
binaryVersion := utilversion.MustParse(baseversion.DefaultKubeBinaryVersion)

serverConfig.EffectiveVersion = basecompatibility.NewEffectiveVersion(binaryVersion, false, binaryVersion, binaryVersion.SubtractMinor(1))
// enable OpenAPI schemas
serverConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(generatedopenapi.GetOpenAPIDefinitions, openapinamer.NewDefinitionNamer(api.Scheme))
serverConfig.OpenAPIV3Config = genericapiserver.DefaultOpenAPIV3Config(generatedopenapi.GetOpenAPIDefinitions, openapinamer.NewDefinitionNamer(api.Scheme))
serverConfig.OpenAPIConfig.Info.Title = "reports-server"
serverConfig.OpenAPIV3Config.Info.Title = "reports-server"
serverConfig.OpenAPIConfig.Info.Version = strings.Split(serverConfig.Version.String(), "-")[0] // TODO(directxman12): remove this once autosetting this doesn't require security definitions
serverConfig.OpenAPIV3Config.Info.Version = strings.Split(serverConfig.Version.String(), "-")[0]

serverConfig.OpenAPIConfig.Info.Version = strings.Split(serverConfig.EffectiveVersion.String(), "-")[0] // TODO(directxman12): remove this once autosetting this doesn't require security definitions
serverConfig.OpenAPIV3Config.Info.Version = strings.Split(serverConfig.EffectiveVersion.String(), "-")[0]

return serverConfig, nil
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/utils/constants.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package utils

import (
"github.com/kyverno/kyverno/api/policyreport/v1alpha2"
reportsv1 "github.com/kyverno/kyverno/api/reports/v1"
"k8s.io/api/resource/v1alpha2"
openreportsv1alpha1 "openreports.io/apis/openreports.io/v1alpha1"
)

Expand Down
Loading