forked from bookingcom/shipper
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Some of the modern Kubernetes clients use clients generated from a swagger.json kubernetes-client/javascript uses kubernetes-client/gen which uses OpenApiTools/openapi-generator and kubernetes/kubernetes/api/openapi-spec/swagger.json There are open/closed/rotten/ignored issues all over the place about making these easier to use with CRDs. Wrongly closed issue on kubernetes-client/javascript: kubernetes-client/javascript#341 Open issue on kubernetes-client/gen: kubernetes-client/gen#121 It seems like kubernetes/kube-openapi is one of the repos working on solving the main part of this problem, generating the Go code to make it easy to generate a swagger.json I found the following Argo code via the following issue: kubernetes/kube-openapi#13 https://github.com/argoproj/argo/blob/master/hack/gen-openapi-spec/main.go https://github.com/argoproj/argo/blob/master/pkg/apis/workflow/v1alpha1/openapi_generated.go#L14:6 https://github.com/kubernetes/kube-openapi/blob/master/cmd/openapi-gen/openapi-gen.go So I'm working on adding similar stuff to Shipper. gen-openapi-spec uses the generated openapi_generated.go module that is generated via the openapi-gen command. The following commit adds the code to generate openapi_generated.go Signed-off-by: William Stewart <zoidbergwill@gmail.com>
- Loading branch information
1 parent
6f11dcf
commit 95d39c3
Showing
3 changed files
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#!/bin/bash | ||
|
||
set -o errexit | ||
set -o nounset | ||
set -o pipefail | ||
|
||
# PROJECT_ROOT=$(cd $(dirname "$0")/.. ; pwd) | ||
# CODEGEN_PKG=${PROJECT_ROOT}/vendor/k8s.io/kube-openapi | ||
# VERSION="v1alpha1" | ||
# | ||
# go run ${CODEGEN_PKG}/cmd/openapi-gen/openapi-gen.go \ | ||
# --go-header-file ${PROJECT_ROOT}/hack/custom-boilerplate.go.txt \ | ||
# --input-dirs github.com/bookingcom/shipper/pkg/apis/workflow/${VERSION} \ | ||
# --output-package github.com/argoproj/argo/pkg/apis/workflow/${VERSION} \ | ||
# --report-filename pkg/apis/api-rules/violation_exceptions.list \ | ||
# $@ | ||
# PROJECT_ROOT=$(cd $(dirname "$0")/.. ; pwd) | ||
# CODEGEN_PKG=${PROJECT_ROOT}/vendor/k8s.io/kube-openapi | ||
VERSION="v1alpha1" | ||
|
||
go run $GOPATH/src/k8s.io/kube-openapi/cmd/openapi-gen/openapi-gen.go \ | ||
--input-dirs github.com/bookingcom/shipper/pkg/apis/shipper/${VERSION} \ | ||
--output-package github.com/bookingcom/shipper/pkg/apis/shipper/${VERSION} \ | ||
--report-filename pkg/apis/api-rules/violation_exceptions.list | ||
$@ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ApplicationList,Items | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ApplicationStatus,Conditions | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ApplicationStatus,History | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,CapacityTargetList,Items | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,CapacityTargetSpec,Clusters | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,CapacityTargetStatus,Clusters | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterCapacityReport,Breakdown | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterCapacityReportBreakdown,Containers | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterCapacityReportContainerBreakdown,States | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterCapacityStatus,Conditions | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterCapacityStatus,Reports | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterCapacityStatus,SadPods | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterInstallationStatus,Conditions | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterList,Items | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterRequirements,Capabilities | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterRequirements,Regions | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterSpec,Capabilities | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ClusterTrafficStatus,Conditions | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,InstallationTargetList,Items | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,InstallationTargetSpec,Clusters | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,InstallationTargetStatus,Clusters | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,PodStatus,Containers | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,PodStatus,InitContainers | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ReleaseList,Items | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ReleaseStatus,Conditions | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,ReleaseStrategyStatus,Conditions | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,RolloutBlockList,Items | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,RolloutStrategy,Steps | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,TrafficTargetList,Items | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,TrafficTargetSpec,Clusters | ||
API rule violation: list_type_missing,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,TrafficTargetStatus,Clusters | ||
API rule violation: names_match,github.com/bookingcom/shipper/pkg/apis/shipper/v1alpha1,Chart,RepoURL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters