From f5dd0a39884707909cc3c2467f9f914c99ade6e5 Mon Sep 17 00:00:00 2001 From: Harsha Dixit Date: Thu, 31 Jul 2025 12:43:39 +0530 Subject: [PATCH 1/4] feat: add --ignore-curcular-refs flag to openapi2kong --- cmd/file_openapi2kong.go | 44 +++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/cmd/file_openapi2kong.go b/cmd/file_openapi2kong.go index 4dd9f7b96..06fde0bd2 100644 --- a/cmd/file_openapi2kong.go +++ b/cmd/file_openapi2kong.go @@ -13,15 +13,16 @@ import ( ) var ( - cmdO2KinputFilename string - cmdO2KoutputFilename string - cmdO2KdocName string - cmdO2KoutputFormat string - cmdO2KentityTags []string - cmdO2KskipID bool - cmdO2KinsoCompat bool - cmdO2Ksecurity bool - cmdO2KignoreSecurityError bool + cmdO2KinputFilename string + cmdO2KoutputFilename string + cmdO2KdocName string + cmdO2KoutputFormat string + cmdO2KentityTags []string + cmdO2KskipID bool + cmdO2KinsoCompat bool + cmdO2Ksecurity bool + cmdO2KignoreSecurityError bool + cmdO2KignoreCircularRefs bool ) // Executes the CLI command "openapi2kong" @@ -39,14 +40,15 @@ func executeOpenapi2Kong(cmd *cobra.Command, _ []string) error { if cmdO2KinsoCompat { cmdO2KskipID = true // this is implicit in inso compatibility mode } - options := openapi2kong.O2kOptions{ - Tags: cmdO2KentityTags, - DocName: cmdO2KdocName, - SkipID: cmdO2KskipID, - InsoCompat: cmdO2KinsoCompat, - OIDC: cmdO2Ksecurity, - IgnoreSecurityErrors: cmdO2KignoreSecurityError, - } + options := openapi2kong.O2kOptions{ + Tags: cmdO2KentityTags, + DocName: cmdO2KdocName, + SkipID: cmdO2KskipID, + InsoCompat: cmdO2KinsoCompat, + OIDC: cmdO2Ksecurity, + IgnoreSecurityErrors: cmdO2KignoreSecurityError, + IgnoreCircularRefs: cmdO2KignoreCircularRefs, + } trackInfo := deckformat.HistoryNewEntry("openapi2kong") trackInfo["input"] = cmdO2KinputFilename @@ -109,8 +111,12 @@ The output will be targeted at Kong version 3.x. "the same, and no 'id' fields will be generated.") openapi2kongCmd.Flags().BoolVarP(&cmdO2Ksecurity, "generate-security", "", false, "generate OpenIDConnect plugins "+ "from the security directives") - openapi2kongCmd.Flags().BoolVarP(&cmdO2KignoreSecurityError, "ignore-security-errors", "", false, - "ignore errors for unsupported security schemes") + + openapi2kongCmd.Flags().BoolVarP(&cmdO2KignoreSecurityError, "ignore-security-errors", "", false, + "ignore errors for unsupported security schemes") + + openapi2kongCmd.Flags().BoolVar(&cmdO2KignoreCircularRefs, "ignore-circular-refs", false, + "ignore circular $ref errors in the OpenAPI spec (dangerous, use with caution)") return openapi2kongCmd } From 6023f98298b639e5464d03b463eef3469476e706 Mon Sep 17 00:00:00 2001 From: Harsha Dixit Date: Mon, 4 Aug 2025 10:53:04 +0530 Subject: [PATCH 2/4] chore: bump go-apiops --- go.mod | 3 ++- go.sum | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 6d3034fdb..031a89ca5 100644 --- a/go.mod +++ b/go.mod @@ -87,8 +87,9 @@ require ( github.com/sethvargo/go-password v0.3.1 // indirect github.com/shirou/gopsutil/v3 v3.24.5 // indirect github.com/sirupsen/logrus v1.9.3 // indirect + github.com/speakeasy-api/jsonpath v0.6.2 // indirect github.com/ssgelm/cookiejarparser v1.0.1 // indirect - github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect + github.com/wk8/go-ordered-map/v2 v2.1.9-0.20240815153524-6ea36470d1bd // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/xlab/treeprint v1.2.0 // indirect diff --git a/go.sum b/go.sum index 2089bc755..4d6b1a8c2 100644 --- a/go.sum +++ b/go.sum @@ -389,6 +389,8 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/speakeasy-api/jsonpath v0.6.2 h1:Mys71yd6u8kuowNCR0gCVPlVAHCmKtoGXYoAtcEbqXQ= +github.com/speakeasy-api/jsonpath v0.6.2/go.mod h1:ymb2iSkyOycmzKwbEAYPJV/yi2rSmvBCLZJcyD+VVWw= github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= @@ -429,6 +431,8 @@ github.com/vmware-labs/yaml-jsonpath v0.3.2 h1:/5QKeCBGdsInyDCyVNLbXyilb61MXGi9N github.com/vmware-labs/yaml-jsonpath v0.3.2/go.mod h1:U6whw1z03QyqgWdgXxvVnQ90zN1BWz5V+51Ewf8k+rQ= github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= +github.com/wk8/go-ordered-map/v2 v2.1.9-0.20240815153524-6ea36470d1bd h1:dLuIF2kX9c+KknGJUdJi1Il1SDiTSK158/BB9kdgAew= +github.com/wk8/go-ordered-map/v2 v2.1.9-0.20240815153524-6ea36470d1bd/go.mod h1:DbzwytT4g/odXquuOCqroKvtxxldI4nb3nuesHF/Exo= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= From b1d5dbf0e7286de5429ed34bd05d6a04b34502f1 Mon Sep 17 00:00:00 2001 From: Harsha Dixit Date: Mon, 4 Aug 2025 12:05:52 +0530 Subject: [PATCH 3/4] style: fix linting --- cmd/file_openapi2kong.go | 48 +++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/cmd/file_openapi2kong.go b/cmd/file_openapi2kong.go index 06fde0bd2..32ddbb35e 100644 --- a/cmd/file_openapi2kong.go +++ b/cmd/file_openapi2kong.go @@ -13,16 +13,16 @@ import ( ) var ( - cmdO2KinputFilename string - cmdO2KoutputFilename string - cmdO2KdocName string - cmdO2KoutputFormat string - cmdO2KentityTags []string - cmdO2KskipID bool - cmdO2KinsoCompat bool - cmdO2Ksecurity bool - cmdO2KignoreSecurityError bool - cmdO2KignoreCircularRefs bool + cmdO2KinputFilename string + cmdO2KoutputFilename string + cmdO2KdocName string + cmdO2KoutputFormat string + cmdO2KentityTags []string + cmdO2KskipID bool + cmdO2KinsoCompat bool + cmdO2Ksecurity bool + cmdO2KignoreSecurityError bool + cmdO2KignoreCircularRefs bool ) // Executes the CLI command "openapi2kong" @@ -40,15 +40,15 @@ func executeOpenapi2Kong(cmd *cobra.Command, _ []string) error { if cmdO2KinsoCompat { cmdO2KskipID = true // this is implicit in inso compatibility mode } - options := openapi2kong.O2kOptions{ - Tags: cmdO2KentityTags, - DocName: cmdO2KdocName, - SkipID: cmdO2KskipID, - InsoCompat: cmdO2KinsoCompat, - OIDC: cmdO2Ksecurity, - IgnoreSecurityErrors: cmdO2KignoreSecurityError, - IgnoreCircularRefs: cmdO2KignoreCircularRefs, - } + options := openapi2kong.O2kOptions{ + Tags: cmdO2KentityTags, + DocName: cmdO2KdocName, + SkipID: cmdO2KskipID, + InsoCompat: cmdO2KinsoCompat, + OIDC: cmdO2Ksecurity, + IgnoreSecurityErrors: cmdO2KignoreSecurityError, + IgnoreCircularRefs: cmdO2KignoreCircularRefs, + } trackInfo := deckformat.HistoryNewEntry("openapi2kong") trackInfo["input"] = cmdO2KinputFilename @@ -111,12 +111,10 @@ The output will be targeted at Kong version 3.x. "the same, and no 'id' fields will be generated.") openapi2kongCmd.Flags().BoolVarP(&cmdO2Ksecurity, "generate-security", "", false, "generate OpenIDConnect plugins "+ "from the security directives") - - openapi2kongCmd.Flags().BoolVarP(&cmdO2KignoreSecurityError, "ignore-security-errors", "", false, - "ignore errors for unsupported security schemes") - - openapi2kongCmd.Flags().BoolVar(&cmdO2KignoreCircularRefs, "ignore-circular-refs", false, - "ignore circular $ref errors in the OpenAPI spec (dangerous, use with caution)") + openapi2kongCmd.Flags().BoolVarP(&cmdO2KignoreSecurityError, "ignore-security-errors", "", false, + "ignore errors for unsupported security schemes") + openapi2kongCmd.Flags().BoolVar(&cmdO2KignoreCircularRefs, "ignore-circular-refs", false, + "ignore circular $ref errors in the OpenAPI spec (dangerous, use with caution)") return openapi2kongCmd } From bbbf41f694b9a4e158bd3448079d4ba862baa5cb Mon Sep 17 00:00:00 2001 From: Harsha Dixit Date: Mon, 4 Aug 2025 17:07:06 +0530 Subject: [PATCH 4/4] chore: bump go-apiops --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 031a89ca5..35dc9baf6 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/ettle/strcase v0.2.0 github.com/fatih/color v1.18.0 github.com/google/go-cmp v0.7.0 - github.com/kong/go-apiops v0.1.47 + github.com/kong/go-apiops v0.1.49 github.com/kong/go-database-reconciler v1.26.0 github.com/kong/go-kong v0.67.0 github.com/mitchellh/go-homedir v1.1.0 diff --git a/go.sum b/go.sum index 4d6b1a8c2..0685a2f53 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/klauspost/cpuid/v2 v2.0.10/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuOb github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= -github.com/kong/go-apiops v0.1.47 h1:2Y4m36WY4YTOJPBFzaoa9BzKK7fu9c2IYznEwOaPC0c= -github.com/kong/go-apiops v0.1.47/go.mod h1:hKnHJ3UyeuG932SkI/yMpuT/PqSqGXNTS1zhno1lDqg= +github.com/kong/go-apiops v0.1.49 h1:/gjzH31qUUxvmg/lkePrh2b6trI5lrv7jJD2w9I7JPg= +github.com/kong/go-apiops v0.1.49/go.mod h1:yPwbl3P2eQinVGAEA0d3legaYmzPJ+WtJf9fSeGF4b8= github.com/kong/go-database-reconciler v1.26.0 h1:x074dbSwYbTaUVmrCbDy1z9dy2oWu/XTbpxFJ/YEccQ= github.com/kong/go-database-reconciler v1.26.0/go.mod h1:wq48xbXrcs1NCm7MlPhOIuYFjw66NR0zu+du+Br9q0I= github.com/kong/go-kong v0.67.0 h1:54zXKc58IZpZdlJCv8p95SJjejTxT+cwbWXw97icCak= @@ -429,8 +429,6 @@ github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+F github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/vmware-labs/yaml-jsonpath v0.3.2 h1:/5QKeCBGdsInyDCyVNLbXyilb61MXGi9NP674f9Hobk= github.com/vmware-labs/yaml-jsonpath v0.3.2/go.mod h1:U6whw1z03QyqgWdgXxvVnQ90zN1BWz5V+51Ewf8k+rQ= -github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= -github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= github.com/wk8/go-ordered-map/v2 v2.1.9-0.20240815153524-6ea36470d1bd h1:dLuIF2kX9c+KknGJUdJi1Il1SDiTSK158/BB9kdgAew= github.com/wk8/go-ordered-map/v2 v2.1.9-0.20240815153524-6ea36470d1bd/go.mod h1:DbzwytT4g/odXquuOCqroKvtxxldI4nb3nuesHF/Exo= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=