Skip to content
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
13 changes: 9 additions & 4 deletions .config/api-rules/violation_exceptions.list
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
API rule violation: list_type_missing,k8s.io/api/core/v1,RangeAllocation,Data
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
API rule violation: list_type_missing,kmodules.xyz/client-go/api/v1,CertificateSpec,DNSNames
API rule violation: list_type_missing,kmodules.xyz/client-go/api/v1,CertificateSpec,EmailAddresses
API rule violation: list_type_missing,kmodules.xyz/client-go/api/v1,CertificateSpec,IPAddresses
Expand Down Expand Up @@ -119,8 +115,17 @@ API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,
API rule violation: names_match,kmodules.xyz/client-go/api/v1,CertificateSpec,URIs
API rule violation: names_match,kmodules.xyz/client-go/api/v1,TimeOfDay,Time
API rule violation: names_match,kmodules.xyz/offshoot-api/api/v1,ContainerRuntimeSettings,IONice
API rule violation: names_match,kmodules.xyz/offshoot-api/api/v1,PersistentVolumeClaim,PartialObjectMeta
API rule violation: names_match,kmodules.xyz/offshoot-api/api/v1,PersistentVolumeClaimTemplate,PartialObjectMeta
API rule violation: names_match,kmodules.xyz/offshoot-api/api/v1,PodTemplateSpec,ObjectMeta
API rule violation: names_match,kmodules.xyz/offshoot-api/api/v1,ServiceTemplateSpec,ObjectMeta
API rule violation: names_match,kmodules.xyz/offshoot-api/api/v1,VolumeSource,CephFS
API rule violation: names_match,kmodules.xyz/offshoot-api/api/v1,VolumeSource,StorageOS
API rule violation: names_match,kmodules.xyz/resource-metadata/apis/shared,Action,OperationID
API rule violation: names_match,kmodules.xyz/resource-metadata/apis/shared,ActionTemplate,OperationID
API rule violation: names_match,kmodules.xyz/resource-metadata/apis/shared,RegistryProxies,AppsCode
API rule violation: streaming_list_type_json_tags,kmodules.xyz/resource-metadata/apis/ui/v1alpha1,FeatureList,Items
API rule violation: streaming_list_type_json_tags,kmodules.xyz/resource-metadata/apis/ui/v1alpha1,FeatureSetList,Items
API rule violation: streaming_list_type_json_tags,kmodules.xyz/resource-metadata/apis/ui/v1alpha1,ResourceDashboardList,Items
API rule violation: streaming_list_type_json_tags,kmodules.xyz/resource-metadata/apis/ui/v1alpha1,ResourceEditorList,Items
API rule violation: streaming_list_type_json_tags,kmodules.xyz/resource-metadata/apis/ui/v1alpha1,ResourceOutlineFilterList,Items
101 changes: 42 additions & 59 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ COMPRESS ?= no
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
# CRD_OPTIONS ?= "crd:trivialVersions=true"
CRD_OPTIONS ?= "crd:allowDangerousTypes=true,crdVersions={v1}"
CODE_GENERATOR_IMAGE ?= ghcr.io/appscode/gengo:release-1.32
CODE_GENERATOR_IMAGE ?= ghcr.io/appscode/gengo:release-1.34
API_GROUPS ?= core:v1alpha1 editor:v1alpha1 identity:v1alpha1 management:v1alpha1 meta:v1alpha1 node:v1alpha1 ui:v1alpha1

# Where to push the docker image.
Expand Down Expand Up @@ -130,65 +130,35 @@ version:
@echo commit_hash=$(commit_hash)
@echo commit_timestamp=$(commit_timestamp)

# Generate code for Kubernetes types
.PHONY: clientset
clientset:
# Generate code for Kubernetes types, using update-codegen.sh -- a generic
# script bundled into $(CODE_GENERATOR_IMAGE) (see
# https://github.com/appscodelabs/gengo-builder/blob/master/scripts/update-codegen.sh
# for the full env-var interface) driving k8s.io/code-generator's
# kube_codegen.sh toolchain. Generation scope is configured entirely through
# the env vars below rather than a repo-local copy of this script.
# GENERATORS is scoped to deepcopy+client only (no lister/informer), matching
# what the old generate-groups.sh call here actually generated. apis/shared
# has no client of its own (it's not part of API_GROUPS) but still needs
# deepcopy, hence EXTRA_DEEPCOPY_PKGS. Staleness is checked by verify-gen
# (which re-runs `gen`, including this target, and diffs against HEAD)
# rather than a separate verify-codegen target.
GENERATORS ?= deepcopy,client
EXTRA_DEEPCOPY_PKGS ?= $(GO_PKG)/$(REPO)/apis/shared

.PHONY: update-codegen
update-codegen:
@docker run --rm \
-u $$(id -u):$$(id -g) \
-v /tmp:/.cache \
-v $$(pwd):$(DOCKER_REPO_ROOT) \
-w $(DOCKER_REPO_ROOT) \
--env HTTP_PROXY=$(HTTP_PROXY) \
--env HTTPS_PROXY=$(HTTPS_PROXY) \
--env API_GROUPS="$(API_GROUPS)" \
--env GENERATORS="$(GENERATORS)" \
--env EXTRA_DEEPCOPY_PKGS="$(EXTRA_DEEPCOPY_PKGS)" \
$(CODE_GENERATOR_IMAGE) \
deepcopy-gen \
--go-header-file "./hack/license/go.txt" \
--input-dirs "$(GO_PKG)/$(REPO)/apis/shared" \
--output-file-base zz_generated.deepcopy
@docker run --rm \
-u $$(id -u):$$(id -g) \
-v /tmp:/.cache \
-v $$(pwd):$(DOCKER_REPO_ROOT) \
-w $(DOCKER_REPO_ROOT) \
--env HTTP_PROXY=$(HTTP_PROXY) \
--env HTTPS_PROXY=$(HTTPS_PROXY) \
$(CODE_GENERATOR_IMAGE) \
/go/src/k8s.io/code-generator/generate-groups.sh \
deepcopy,client \
$(GO_PKG)/$(REPO)/client \
$(GO_PKG)/$(REPO)/apis \
"$(API_GROUPS)" \
--go-header-file "./hack/license/go.txt"
# @docker run --rm \
# -u $$(id -u):$$(id -g) \
# -v /tmp:/.cache \
# -v $$(pwd):$(DOCKER_REPO_ROOT) \
# -w $(DOCKER_REPO_ROOT) \
# --env HTTP_PROXY=$(HTTP_PROXY) \
# --env HTTPS_PROXY=$(HTTPS_PROXY) \
# $(CODE_GENERATOR_IMAGE) \
# /go/src/k8s.io/code-generator/generate-internal-groups.sh \
# "conversion" \
# $(GO_PKG)/$(REPO)/client \
# $(GO_PKG)/$(REPO)/apis \
# $(GO_PKG)/$(REPO)/apis \
# "$(API_GROUPS)" \
# --go-header-file "./hack/license/go.txt" --extra-dirs k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
# # for both CRD and EAS types
# @docker run --rm \
# -u $$(id -u):$$(id -g) \
# -v /tmp:/.cache \
# -v $$(pwd):$(DOCKER_REPO_ROOT) \
# -w $(DOCKER_REPO_ROOT) \
# --env HTTP_PROXY=$(HTTP_PROXY) \
# --env HTTPS_PROXY=$(HTTPS_PROXY) \
# $(CODE_GENERATOR_IMAGE) \
# /go/src/k8s.io/code-generator/generate-groups.sh \
# all \
# $(GO_PKG)/$(REPO)/client \
# $(GO_PKG)/$(REPO)/apis \
# "$(API_GROUPS)" \
# --go-header-file "./hack/license/go.txt"
update-codegen.sh

# Generate openapi schema
.PHONY: openapi
Expand All @@ -206,9 +176,11 @@ openapi-shared:
openapi-gen \
--v 1 --logtostderr \
--go-header-file "./hack/license/go.txt" \
--input-dirs "$(GO_PKG)/$(REPO)/apis/shared" \
--output-package "$(GO_PKG)/$(REPO)/apis/shared" \
--report-filename /tmp/violation_exceptions.list
--output-dir "$(DOCKER_REPO_ROOT)/apis/shared" \
--output-pkg "$(GO_PKG)/$(REPO)/apis/shared" \
--output-file "openapi_generated.go" \
--report-filename /tmp/violation_exceptions.list \
$(GO_PKG)/$(REPO)/apis/shared
openapi-%:
@echo "Generating openapi schema for $(subst _,/,$*)"
@mkdir -p .config/api-rules
Expand All @@ -223,9 +195,20 @@ openapi-%:
openapi-gen \
--v 1 --logtostderr \
--go-header-file "./hack/license/go.txt" \
--input-dirs "$(GO_PKG)/$(REPO)/apis/$(subst _,/,$*),$(GO_PKG)/$(REPO)/apis/shared,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/api/resource,k8s.io/apimachinery/pkg/runtime,k8s.io/apimachinery/pkg/version,k8s.io/api/core/v1,k8s.io/apimachinery/pkg/util/intstr,kmodules.xyz/client-go/api/v1,go.bytebuilders.dev/catalog/api/v1alpha1,kmodules.xyz/offshoot-api/api/v1" \
--output-package "$(GO_PKG)/$(REPO)/apis/$(subst _,/,$*)" \
--report-filename .config/api-rules/violation_exceptions.list
--output-dir "$(DOCKER_REPO_ROOT)/apis/$(subst _,/,$*)" \
--output-pkg "$(GO_PKG)/$(REPO)/apis/$(subst _,/,$*)" \
--output-file "openapi_generated.go" \
--report-filename .config/api-rules/violation_exceptions.list \
$(GO_PKG)/$(REPO)/apis/$(subst _,/,$*) \
$(GO_PKG)/$(REPO)/apis/shared \
k8s.io/apimachinery/pkg/apis/meta/v1 \
k8s.io/apimachinery/pkg/api/resource \
k8s.io/apimachinery/pkg/runtime \
k8s.io/apimachinery/pkg/version \
k8s.io/api/core/v1 \
k8s.io/apimachinery/pkg/util/intstr \
kmodules.xyz/client-go/api/v1 \
kmodules.xyz/offshoot-api/api/v1

# Generate CRD manifests
.PHONY: gen-crds
Expand Down Expand Up @@ -254,7 +237,7 @@ patch-schema: $(BUILD_DIRS)
@mv bin/core.k8s.appscode.com_podviews.yaml crds/core.k8s.appscode.com_podviews.yaml

.PHONY: gen
gen: clientset manifests openapi
gen: update-codegen manifests openapi

fmt: $(BUILD_DIRS)
@docker run \
Expand Down
21 changes: 14 additions & 7 deletions apis/core/v1alpha1/openapi_generated.go

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

Loading
Loading