From 24d7309900022a3fa0b591080716ea1b736e137c Mon Sep 17 00:00:00 2001 From: elasticmachine Date: Wed, 26 Jun 2024 17:25:15 +0000 Subject: [PATCH 1/9] Test elastic-package from PR 1915 - 2b2125fa9562d2546ca8cb36f22eb401dded26b2 --- go.mod | 30 ++++++++++++++------------- go.sum | 64 ++++++++++++++++++++++++++++------------------------------ 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/go.mod b/go.mod index 7661ef478d..b252c39e87 100644 --- a/go.mod +++ b/go.mod @@ -54,13 +54,13 @@ require ( github.com/elastic/go-ucfg v0.8.8 // indirect github.com/elastic/go-windows v1.0.1 // indirect github.com/elastic/gojsonschema v1.2.1 // indirect - github.com/elastic/kbncontent v0.1.3 // indirect - github.com/elastic/package-spec/v3 v3.1.4 // indirect + github.com/elastic/kbncontent v0.1.4 // indirect + github.com/elastic/package-spec/v3 v3.2.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/evanphx/json-patch v5.7.0+incompatible // indirect github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect - github.com/fatih/color v1.16.0 // indirect + github.com/fatih/color v1.17.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsouza/fake-gcs-server v1.48.0 // indirect github.com/go-errors/errors v1.4.2 // indirect @@ -140,12 +140,12 @@ require ( github.com/prometheus/procfs v0.12.0 // indirect github.com/rivo/uniseg v0.4.3 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/shirou/gopsutil/v3 v3.24.4 // indirect + github.com/shirou/gopsutil/v3 v3.24.5 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect - github.com/spf13/cobra v1.8.0 // indirect + github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect @@ -190,21 +190,23 @@ require ( google.golang.org/protobuf v1.33.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - helm.sh/helm/v3 v3.14.4 // indirect + helm.sh/helm/v3 v3.15.2 // indirect howett.net/plist v1.0.0 // indirect - k8s.io/api v0.30.0 // indirect - k8s.io/apiextensions-apiserver v0.29.0 // indirect - k8s.io/apimachinery v0.30.0 // indirect - k8s.io/cli-runtime v0.30.0 // indirect - k8s.io/client-go v0.30.0 // indirect - k8s.io/component-base v0.29.0 // indirect + k8s.io/api v0.30.2 // indirect + k8s.io/apiextensions-apiserver v0.30.0 // indirect + k8s.io/apimachinery v0.30.2 // indirect + k8s.io/cli-runtime v0.30.2 // indirect + k8s.io/client-go v0.30.2 // indirect + k8s.io/component-base v0.30.0 // indirect k8s.io/klog/v2 v2.120.1 // indirect k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect - k8s.io/kubectl v0.29.0 // indirect + k8s.io/kubectl v0.30.0 // indirect k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) + +replace github.com/elastic/elastic-package => github.com/jsoriano/elastic-package v0.66.1-0.20240626171720-2b2125fa9562 diff --git a/go.sum b/go.sum index 721f901aca..6e79aaebea 100644 --- a/go.sum +++ b/go.sum @@ -77,7 +77,7 @@ github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUK github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0= @@ -95,8 +95,6 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/elastic/elastic-integration-corpus-generator-tool v0.10.0 h1:sx1lpZuTG5suJuvgix4FWQFCLFFbzkoOmPoHWYOPLCY= github.com/elastic/elastic-integration-corpus-generator-tool v0.10.0/go.mod h1:2/30n+2QRzRzus4TPVUV1T3U/j8g2ItUgvP0pcpjLGk= -github.com/elastic/elastic-package v0.100.0 h1:SiuS7jmi8YWu7lkmD2yn7Y6euoaMxOVmREZ+EU0Y+lM= -github.com/elastic/elastic-package v0.100.0/go.mod h1:ffyHwLLyREQvJBP2WRGhRxJl+dosf494/Dvl+b4bKms= github.com/elastic/go-elasticsearch/v7 v7.17.10 h1:TCQ8i4PmIJuBunvBS6bwT2ybzVFxxUhhltAs3Gyu1yo= github.com/elastic/go-elasticsearch/v7 v7.17.10/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= github.com/elastic/go-licenser v0.4.2 h1:bPbGm8bUd8rxzSswFOqvQh1dAkKGkgAmrPxbUi+Y9+A= @@ -111,12 +109,12 @@ github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUt github.com/elastic/go-windows v1.0.1/go.mod h1:FoVvqWSun28vaDQPbj2Elfc0JahhPB7WQEGa3c814Ss= github.com/elastic/gojsonschema v1.2.1 h1:cUMbgsz0wyEB4x7xf3zUEvUVDl6WCz2RKcQPul8OsQc= github.com/elastic/gojsonschema v1.2.1/go.mod h1:biw5eBS2Z4T02wjATMRSfecfjCmwaDPvuaqf844gLrg= -github.com/elastic/kbncontent v0.1.3 h1:qT0RkshRhiAgH51dDD983tJloeLLMCYE/qlRRtn3R8k= -github.com/elastic/kbncontent v0.1.3/go.mod h1:kOPREITK9gSJsiw/WKe7QWSO+PRiZMyEFQCw+CMLAHI= +github.com/elastic/kbncontent v0.1.4 h1:GoUkJkqkn2H6iJTnOHcxEqYVVYyjvcebLQVaSR1aSvU= +github.com/elastic/kbncontent v0.1.4/go.mod h1:kOPREITK9gSJsiw/WKe7QWSO+PRiZMyEFQCw+CMLAHI= github.com/elastic/package-registry v1.24.0 h1:LAhw2J3qg4av5yGBa/6ZhF6I87RlnAAKSQQnoxxzDf8= github.com/elastic/package-registry v1.24.0/go.mod h1:c/xP7+n9csO7ts6UFe7x2CkN7M7KGxVg/uyGbbnzMxQ= -github.com/elastic/package-spec/v3 v3.1.4 h1:Z+hFWqHWwzPDBcCALo50haFNqIKVZd8V+zQAHZUeFDA= -github.com/elastic/package-spec/v3 v3.1.4/go.mod h1:o2bb1hKo+BYdXyurVfTidh/s11n0F1NdJ2BZsieUNhY= +github.com/elastic/package-spec/v3 v3.2.0 h1:do/Q9lX8CzYcAtDD6jhVRYJ6rXc1f+7KPOK58UCgQjQ= +github.com/elastic/package-spec/v3 v3.2.0/go.mod h1:dH3ca6UEfn4c4LX3SwznyOEV8ZJN/YJ2PE+x0WeNHvM= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -129,8 +127,8 @@ github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0 github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= -github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= -github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= +github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= +github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= @@ -266,6 +264,8 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jsoriano/elastic-package v0.66.1-0.20240626171720-2b2125fa9562 h1:Z5oSO/ajJkjsrfjoLJ6CRoJ9zQWyJh4FdXqFiuPx9i4= +github.com/jsoriano/elastic-package v0.66.1-0.20240626171720-2b2125fa9562/go.mod h1:wZ8mzO5q2+db2hhrSWAwOTPFjl8mTqc7J2sHotDuaZQ= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= @@ -397,8 +397,8 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= -github.com/shirou/gopsutil/v3 v3.24.4 h1:dEHgzZXt4LMNm+oYELpzl9YCqV65Yr/6SfrvgRBtXeU= -github.com/shirou/gopsutil/v3 v3.24.4/go.mod h1:lTd2mdiOspcqLgAnr9/nGi71NkeMpWKdmhuxm9GusH8= +github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= +github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= @@ -411,8 +411,8 @@ github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNo github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= -github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -429,7 +429,6 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= @@ -582,7 +581,6 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -682,30 +680,30 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -helm.sh/helm/v3 v3.14.4 h1:6FSpEfqyDalHq3kUr4gOMThhgY55kXUEjdQoyODYnrM= -helm.sh/helm/v3 v3.14.4/go.mod h1:Tje7LL4gprZpuBNTbG34d1Xn5NmRT3OWfBRwpOSer9I= +helm.sh/helm/v3 v3.15.2 h1:/3XINUFinJOBjQplGnjw92eLGpgXXp1L8chWPkCkDuw= +helm.sh/helm/v3 v3.15.2/go.mod h1:FzSIP8jDQaa6WAVg9F+OkKz7J0ZmAga4MABtTbsb9WQ= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM= howett.net/plist v1.0.0/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= -k8s.io/api v0.30.0 h1:siWhRq7cNjy2iHssOB9SCGNCl2spiF1dO3dABqZ8niA= -k8s.io/api v0.30.0/go.mod h1:OPlaYhoHs8EQ1ql0R/TsUgaRPhpKNxIMrKQfWUp8QSE= -k8s.io/apiextensions-apiserver v0.29.0 h1:0VuspFG7Hj+SxyF/Z/2T0uFbI5gb5LRgEyUVE3Q4lV0= -k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= -k8s.io/apimachinery v0.30.0 h1:qxVPsyDM5XS96NIh9Oj6LavoVFYff/Pon9cZeDIkHHA= -k8s.io/apimachinery v0.30.0/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= -k8s.io/cli-runtime v0.30.0 h1:0vn6/XhOvn1RJ2KJOC6IRR2CGqrpT6QQF4+8pYpWQ48= -k8s.io/cli-runtime v0.30.0/go.mod h1:vATpDMATVTMA79sZ0YUCzlMelf6rUjoBzlp+RnoM+cg= -k8s.io/client-go v0.30.0 h1:sB1AGGlhY/o7KCyCEQ0bPWzYDL0pwOZO4vAtTSh/gJQ= -k8s.io/client-go v0.30.0/go.mod h1:g7li5O5256qe6TYdAMyX/otJqMhIiGgTapdLchhmOaY= -k8s.io/component-base v0.29.0 h1:T7rjd5wvLnPBV1vC4zWd/iWRbV8Mdxs+nGaoaFzGw3s= -k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= +k8s.io/api v0.30.2 h1:+ZhRj+28QT4UOH+BKznu4CBgPWgkXO7XAvMcMl0qKvI= +k8s.io/api v0.30.2/go.mod h1:ULg5g9JvOev2dG0u2hig4Z7tQ2hHIuS+m8MNZ+X6EmI= +k8s.io/apiextensions-apiserver v0.30.0 h1:jcZFKMqnICJfRxTgnC4E+Hpcq8UEhT8B2lhBcQ+6uAs= +k8s.io/apiextensions-apiserver v0.30.0/go.mod h1:N9ogQFGcrbWqAY9p2mUAL5mGxsLqwgtUce127VtRX5Y= +k8s.io/apimachinery v0.30.2 h1:fEMcnBj6qkzzPGSVsAZtQThU62SmQ4ZymlXRC5yFSCg= +k8s.io/apimachinery v0.30.2/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= +k8s.io/cli-runtime v0.30.2 h1:ooM40eEJusbgHNEqnHziN9ZpLN5U4WcQGsdLKVxpkKE= +k8s.io/cli-runtime v0.30.2/go.mod h1:Y4g/2XezFyTATQUbvV5WaChoUGhojv/jZAtdp5Zkm0A= +k8s.io/client-go v0.30.2 h1:sBIVJdojUNPDU/jObC+18tXWcTJVcwyqS9diGdWHk50= +k8s.io/client-go v0.30.2/go.mod h1:JglKSWULm9xlJLx4KCkfLLQ7XwtlbflV6uFFSHTMgVs= +k8s.io/component-base v0.30.0 h1:cj6bp38g0ainlfYtaOQuRELh5KSYjhKxM+io7AUIk4o= +k8s.io/component-base v0.30.0/go.mod h1:V9x/0ePFNaKeKYA3bOvIbrNoluTSG+fSJKjLdjOoeXQ= k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= -k8s.io/kubectl v0.29.0 h1:Oqi48gXjikDhrBF67AYuZRTcJV4lg2l42GmvsP7FmYI= -k8s.io/kubectl v0.29.0/go.mod h1:0jMjGWIcMIQzmUaMgAzhSELv5WtHo2a8pq67DtviAJs= +k8s.io/kubectl v0.30.0 h1:xbPvzagbJ6RNYVMVuiHArC1grrV5vSmmIcSZuCdzRyk= +k8s.io/kubectl v0.30.0/go.mod h1:zgolRw2MQXLPwmic2l/+iHs239L49fhSeICuMhQQXTI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= @@ -716,5 +714,5 @@ sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= From 8f39995a0f3070e0aa26309e674b8ad5a21e7f34 Mon Sep 17 00:00:00 2001 From: elasticmachine Date: Thu, 27 Jun 2024 08:09:47 +0000 Subject: [PATCH 2/9] Test elastic-package from PR 1915 - 8f082e0a1c076d3afbac6a380837991a9e8a74f4 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b252c39e87..a9a44aba78 100644 --- a/go.mod +++ b/go.mod @@ -209,4 +209,4 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -replace github.com/elastic/elastic-package => github.com/jsoriano/elastic-package v0.66.1-0.20240626171720-2b2125fa9562 +replace github.com/elastic/elastic-package => github.com/jsoriano/elastic-package v0.66.1-0.20240627080333-8f082e0a1c07 diff --git a/go.sum b/go.sum index 6e79aaebea..adbab76496 100644 --- a/go.sum +++ b/go.sum @@ -264,8 +264,8 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jsoriano/elastic-package v0.66.1-0.20240626171720-2b2125fa9562 h1:Z5oSO/ajJkjsrfjoLJ6CRoJ9zQWyJh4FdXqFiuPx9i4= -github.com/jsoriano/elastic-package v0.66.1-0.20240626171720-2b2125fa9562/go.mod h1:wZ8mzO5q2+db2hhrSWAwOTPFjl8mTqc7J2sHotDuaZQ= +github.com/jsoriano/elastic-package v0.66.1-0.20240627080333-8f082e0a1c07 h1:YKWZ4tShLnhHmYZ+d/GFPMyxGMb8AxuXLG2SPwmsTH4= +github.com/jsoriano/elastic-package v0.66.1-0.20240627080333-8f082e0a1c07/go.mod h1:wZ8mzO5q2+db2hhrSWAwOTPFjl8mTqc7J2sHotDuaZQ= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= From 1546530e739b795865da73e1d74b88968b189224 Mon Sep 17 00:00:00 2001 From: elasticmachine Date: Thu, 27 Jun 2024 15:03:53 +0000 Subject: [PATCH 3/9] Test elastic-package from PR 1915 - df5f66cf28f0ef086ef7c50e761ef2e0b1ee6ddd --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a9a44aba78..aa5a6796cc 100644 --- a/go.mod +++ b/go.mod @@ -209,4 +209,4 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -replace github.com/elastic/elastic-package => github.com/jsoriano/elastic-package v0.66.1-0.20240627080333-8f082e0a1c07 +replace github.com/elastic/elastic-package => github.com/jsoriano/elastic-package v0.66.1-0.20240627145749-df5f66cf28f0 diff --git a/go.sum b/go.sum index adbab76496..b93795cda5 100644 --- a/go.sum +++ b/go.sum @@ -264,8 +264,8 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jsoriano/elastic-package v0.66.1-0.20240627080333-8f082e0a1c07 h1:YKWZ4tShLnhHmYZ+d/GFPMyxGMb8AxuXLG2SPwmsTH4= -github.com/jsoriano/elastic-package v0.66.1-0.20240627080333-8f082e0a1c07/go.mod h1:wZ8mzO5q2+db2hhrSWAwOTPFjl8mTqc7J2sHotDuaZQ= +github.com/jsoriano/elastic-package v0.66.1-0.20240627145749-df5f66cf28f0 h1:/Caeyditn5zRTl/4gFXsA6ES+fzDPEwL+jGuW7AAeMk= +github.com/jsoriano/elastic-package v0.66.1-0.20240627145749-df5f66cf28f0/go.mod h1:wZ8mzO5q2+db2hhrSWAwOTPFjl8mTqc7J2sHotDuaZQ= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= From fe7c33618f110ec09d198359401862a1fa9ceb96 Mon Sep 17 00:00:00 2001 From: elasticmachine Date: Fri, 28 Jun 2024 10:14:19 +0000 Subject: [PATCH 4/9] Test elastic-package from PR 1915 - 194c56da05fb840351b32b61954370c45438756f --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index aa5a6796cc..720f2ded25 100644 --- a/go.mod +++ b/go.mod @@ -209,4 +209,4 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -replace github.com/elastic/elastic-package => github.com/jsoriano/elastic-package v0.66.1-0.20240627145749-df5f66cf28f0 +replace github.com/elastic/elastic-package => github.com/jsoriano/elastic-package v0.66.1-0.20240628100437-194c56da05fb diff --git a/go.sum b/go.sum index b93795cda5..5e058079f4 100644 --- a/go.sum +++ b/go.sum @@ -264,8 +264,8 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jsoriano/elastic-package v0.66.1-0.20240627145749-df5f66cf28f0 h1:/Caeyditn5zRTl/4gFXsA6ES+fzDPEwL+jGuW7AAeMk= -github.com/jsoriano/elastic-package v0.66.1-0.20240627145749-df5f66cf28f0/go.mod h1:wZ8mzO5q2+db2hhrSWAwOTPFjl8mTqc7J2sHotDuaZQ= +github.com/jsoriano/elastic-package v0.66.1-0.20240628100437-194c56da05fb h1:yHt1VaEVdouoTOfYpgRsL3O1+M6hCollr2/CsfTrnqs= +github.com/jsoriano/elastic-package v0.66.1-0.20240628100437-194c56da05fb/go.mod h1:wZ8mzO5q2+db2hhrSWAwOTPFjl8mTqc7J2sHotDuaZQ= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= From e18befc697774b45685a5516b752b5aef1347ed6 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Mon, 1 Jul 2024 13:14:14 +0200 Subject: [PATCH 5/9] Try to generate some coverage data --- .../_dev/build/build.yml | 1 + .../elastic_package_registry/changelog.yml | 5 +++ .../_dev/test/policy/test-default.expected | 40 +++++++++++++++++++ .../metrics/_dev/test/policy/test-default.yml | 3 ++ .../data_stream/metrics/fields/ecs.yml | 17 +------- .../elastic_package_registry/docs/README.md | 8 ---- .../elastic_package_registry/manifest.yml | 4 +- sonar-project.properties | 2 +- 8 files changed, 54 insertions(+), 26 deletions(-) create mode 100644 packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected create mode 100644 packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.yml diff --git a/packages/elastic_package_registry/_dev/build/build.yml b/packages/elastic_package_registry/_dev/build/build.yml index 7f9ad6da21..aac0dececc 100644 --- a/packages/elastic_package_registry/_dev/build/build.yml +++ b/packages/elastic_package_registry/_dev/build/build.yml @@ -1,3 +1,4 @@ dependencies: ecs: reference: git@v8.3.1 + import_mappings: true diff --git a/packages/elastic_package_registry/changelog.yml b/packages/elastic_package_registry/changelog.yml index 5688a016af..f52898a820 100644 --- a/packages/elastic_package_registry/changelog.yml +++ b/packages/elastic_package_registry/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "0.2.1" + changes: + - description: Random chages + type: enhancement + link: https://github.com/elastic/integrations/pull/10273 - version: "0.2.0" changes: - description: Fix legacy dashboards. diff --git a/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected b/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected new file mode 100644 index 0000000000..c17eed6a8b --- /dev/null +++ b/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected @@ -0,0 +1,40 @@ +inputs: + - data_stream: + namespace: ep + meta: + package: + name: elastic_package_registry + name: test-default-elastic_package_registry + streams: + - data_stream: + dataset: elastic_package_registry.metrics + type: metrics + hosts: + - http://localhost:9000 + metrics_filters.exclude: + - ^go_* + - ^promhttp_* + metrics_path: /metrics + metricsets: + - collector + period: 30s + rate_counters: false + tags: null + use_types: true + type: prometheus/metrics + use_output: default +output_permissions: + default: + _elastic_agent_checks: + cluster: + - monitor + _elastic_agent_monitoring: + indices: [] + uuid-for-permissions-on-related-indices: + indices: + - names: + - metrics-elastic_package_registry.metrics-ep + privileges: + - auto_configure + - create_doc +secret_references: [] diff --git a/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.yml b/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.yml new file mode 100644 index 0000000000..c7678ce910 --- /dev/null +++ b/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.yml @@ -0,0 +1,3 @@ +vars: + hosts: + - http://localhost:8080 diff --git a/packages/elastic_package_registry/data_stream/metrics/fields/ecs.yml b/packages/elastic_package_registry/data_stream/metrics/fields/ecs.yml index 7bbd0b22e4..0b8ae96ab2 100644 --- a/packages/elastic_package_registry/data_stream/metrics/fields/ecs.yml +++ b/packages/elastic_package_registry/data_stream/metrics/fields/ecs.yml @@ -1,16 +1,3 @@ -- name: ecs.version - external: ecs -- name: error.message - external: ecs -- name: event.duration - external: ecs -- name: event.ingested - external: ecs -- name: event.kind - external: ecs -- name: service.address - external: ecs -- name: service.type - external: ecs -- name: tags +- name: host.mac external: ecs + pattern: '^[a-fA-F0-9]{2}([-:][a-fA-F0-9]{2}){5,}$' diff --git a/packages/elastic_package_registry/docs/README.md b/packages/elastic_package_registry/docs/README.md index 66f4cab6d1..5a460b8702 100644 --- a/packages/elastic_package_registry/docs/README.md +++ b/packages/elastic_package_registry/docs/README.md @@ -53,11 +53,6 @@ You can verify that metrics endpoint is enabled by making an HTTP request to | data_stream.dataset | Data stream dataset. | constant_keyword | | | | data_stream.namespace | Data stream namespace. | constant_keyword | | | | data_stream.type | Data stream type. | constant_keyword | | | -| ecs.version | ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | | | -| error.message | Error message. | match_only_text | | | -| event.duration | Duration of the event in nanoseconds. If event.start and event.end are known this value should be the difference between the end and start time. | long | | | -| event.ingested | Timestamp when an event arrived in the central data store. This is different from `@timestamp`, which is when the event originally occurred. It's also different from `event.created`, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: `@timestamp` \< `event.created` \< `event.ingested`. | date | | | -| event.kind | This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not. | keyword | | | | package_registry.http.request_duration_seconds.histogram | A histogram of latencies for requests to the http server | histogram | | | | package_registry.http.request_size_bytes.histogram | A histogram of sizes of requests to the http server | histogram | | | | package_registry.http.response_size_bytes.histogram | A histogram of response sizes for requests to the http server | histogram | | | @@ -81,9 +76,6 @@ You can verify that metrics endpoint is enabled by making an HTTP request to | package_registry.storage_indexer.update_index_success_total.counter | A counter for all the update index processes that finished with success in the storage indexer | long | | | | package_registry.storage_requests_total.counter | Counter for requests performed to the storage | long | | counter | | package_registry.uptime | Elastic Package Registry uptime in seconds | long | s | counter | -| service.address | Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). | keyword | | | -| service.type | The type of the service data is collected from. The type can be used to group and correlate logs and metrics from one service type. Example: If logs or metrics are collected from Elasticsearch, `service.type` would be `elasticsearch`. | keyword | | | -| tags | List of keywords used to tag each event. | keyword | | | #### Example diff --git a/packages/elastic_package_registry/manifest.yml b/packages/elastic_package_registry/manifest.yml index 3e0be424a2..19c22fc389 100644 --- a/packages/elastic_package_registry/manifest.yml +++ b/packages/elastic_package_registry/manifest.yml @@ -1,7 +1,7 @@ -format_version: 3.0.1 +format_version: 3.1.4 name: elastic_package_registry title: "Elastic Package Registry" -version: 0.2.0 +version: 0.2.1 description: "Collect metrics from a Elastic Package Registry instance" type: integration categories: diff --git a/sonar-project.properties b/sonar-project.properties index 0864085516..67e57b1fda 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -7,7 +7,7 @@ sonar.sourceEncoding=UTF-8 # Coverage report created by elastic-package just reference to *.yml files # Remove all these extensions to try to keep just *.yml files -sonar.exclusions=**/*.java,**/*.json,**/Dockerfile,**/*.tf,**/*.go,**/*.yaml,**/*.xml,**/*.md,**/*.hbs,**/*.jsp +sonar.exclusions=**/*.java,**/Dockerfile,**/*.tf,**/*.go,**/*.yaml,**/*.xml,**/*.md,**/*.jsp # Generic test coverage report format # https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/test-coverage/generic-test-data/#generic-test-coverage From 0e090d1f6b29a219aa28e3faf706e329b7671dfa Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Mon, 1 Jul 2024 13:42:40 +0200 Subject: [PATCH 6/9] Update readme --- packages/elastic_package_registry/docs/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/elastic_package_registry/docs/README.md b/packages/elastic_package_registry/docs/README.md index 5a460b8702..2bd6fad6cb 100644 --- a/packages/elastic_package_registry/docs/README.md +++ b/packages/elastic_package_registry/docs/README.md @@ -53,6 +53,7 @@ You can verify that metrics endpoint is enabled by making an HTTP request to | data_stream.dataset | Data stream dataset. | constant_keyword | | | | data_stream.namespace | Data stream namespace. | constant_keyword | | | | data_stream.type | Data stream type. | constant_keyword | | | +| host.mac | Host MAC addresses. The notation format from RFC 7042 is suggested: Each octet (that is, 8-bit byte) is represented by two [uppercase] hexadecimal digits giving the value of the octet as an unsigned integer. Successive octets are separated by a hyphen. | keyword | | | | package_registry.http.request_duration_seconds.histogram | A histogram of latencies for requests to the http server | histogram | | | | package_registry.http.request_size_bytes.histogram | A histogram of sizes of requests to the http server | histogram | | | | package_registry.http.response_size_bytes.histogram | A histogram of response sizes for requests to the http server | histogram | | | From eaa0f1316bea21ecdc4bcd95c09ed193283e1be0 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Mon, 1 Jul 2024 19:51:17 +0200 Subject: [PATCH 7/9] Merge coverage per file and line Merge coverage per file and line instead of just appending the content of each coverage result. --- .buildkite/scripts/merge_xml.sh | 29 ---- .buildkite/scripts/run_sonar_scanner.sh | 8 +- dev/coverage/coverage.go | 143 ++++++++++++++++++ dev/coverage/coverage_test.go | 31 ++++ .../testdata/expected-test-coverage.xml | 23 +++ dev/coverage/testdata/test-coverage-1.xml | 23 +++ dev/coverage/testdata/test-coverage-2.xml | 9 ++ dev/coverage/testdata/test-coverage-3.xml | 23 +++ magefile.go | 10 ++ 9 files changed, 269 insertions(+), 30 deletions(-) delete mode 100755 .buildkite/scripts/merge_xml.sh create mode 100644 dev/coverage/coverage.go create mode 100644 dev/coverage/coverage_test.go create mode 100644 dev/coverage/testdata/expected-test-coverage.xml create mode 100644 dev/coverage/testdata/test-coverage-1.xml create mode 100644 dev/coverage/testdata/test-coverage-2.xml create mode 100644 dev/coverage/testdata/test-coverage-3.xml diff --git a/.buildkite/scripts/merge_xml.sh b/.buildkite/scripts/merge_xml.sh deleted file mode 100755 index 01d910d439..0000000000 --- a/.buildkite/scripts/merge_xml.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -# Script to merge all the coverage XML files into just one file. -# It supports XML files using generic test coverage report format: -# https://docs.sonarsource.com/sonarqube/9.8/analyzing-source-code/test-coverage/generic-test-data/#generic-test-coverage - -sourceFolder="build/test-coverage" -mergedCoverageFileName="coverage_merged.xml" - -pushd "${sourceFolder}" > /dev/null -echo "Generating ${mergedCoverageFileName} into ${sourceFolder}..." -echo '' > "${mergedCoverageFileName}" -echo '' >> "${mergedCoverageFileName}" - -for file in coverage-*.xml; do - if [[ "$file" == "${mergedCoverageFileName}" ]]; then - continue - fi - echo " - Adding ${file}" - sed '1d;$d' "$file" | awk '//' >> "${mergedCoverageFileName}" -done - -echo '' >> "${mergedCoverageFileName}" -echo 'Done' - -popd > /dev/null - diff --git a/.buildkite/scripts/run_sonar_scanner.sh b/.buildkite/scripts/run_sonar_scanner.sh index 55650d26ee..e64a966c8c 100755 --- a/.buildkite/scripts/run_sonar_scanner.sh +++ b/.buildkite/scripts/run_sonar_scanner.sh @@ -1,6 +1,12 @@ #!/bin/bash + +source .buildkite/scripts/common.sh + set -euo pipefail +add_bin_path +with_mage + run_sonar_scanner() { local message="" echo "--- Download coverage reports and merge them" @@ -15,7 +21,7 @@ run_sonar_scanner() { fi echo "Merge all coverage reports" - .buildkite/scripts/merge_xml.sh + mage mergeCoverage echo "--- Execute sonar scanner CLI" /scan-source-code.sh diff --git a/dev/coverage/coverage.go b/dev/coverage/coverage.go new file mode 100644 index 0000000000..b9b5eab394 --- /dev/null +++ b/dev/coverage/coverage.go @@ -0,0 +1,143 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +// File partially copied from elastic-package. + +package coverage + +import ( + "bytes" + "encoding/xml" + "fmt" + "os" +) + +// GenericCoverage is the root element for a Cobertura XML report. +type GenericCoverage struct { + XMLName xml.Name `xml:"coverage"` + Version int64 `xml:"version,attr"` + Files []*GenericFile `xml:"file"` + Timestamp int64 `xml:"-"` + TestType string `xml:",comment"` +} + +type GenericFile struct { + Path string `xml:"path,attr"` + Lines []*GenericLine `xml:"lineToCover"` +} + +type GenericLine struct { + LineNumber int64 `xml:"lineNumber,attr"` + Covered bool `xml:"covered,attr"` +} + +func (c *GenericCoverage) Bytes() ([]byte, error) { + out, err := xml.MarshalIndent(&c, "", " ") + if err != nil { + return nil, fmt.Errorf("unable to format test results as Coverage: %w", err) + } + + var buffer bytes.Buffer + buffer.WriteString(xml.Header) + buffer.WriteString("\n") + buffer.Write(out) + return buffer.Bytes(), nil +} + +func (c *GenericFile) merge(b *GenericFile) error { + // Merge files + for _, coverageLine := range b.Lines { + found := false + foundId := 0 + for idx, existingLine := range c.Lines { + if existingLine.LineNumber == coverageLine.LineNumber { + found = true + foundId = idx + break + } + } + if !found { + c.Lines = append(c.Lines, coverageLine) + } else { + c.Lines[foundId].Covered = c.Lines[foundId].Covered || coverageLine.Covered + } + } + return nil +} + +// merge merges two coverage reports. +func (c *GenericCoverage) Merge(other *GenericCoverage) error { + // Merge files + for _, coverageFile := range other.Files { + var target *GenericFile + for _, existingFile := range c.Files { + if existingFile.Path == coverageFile.Path { + target = existingFile + break + } + } + if target != nil { + if err := target.merge(coverageFile); err != nil { + return err + } + } else { + c.Files = append(c.Files, coverageFile) + } + } + return nil +} + +func ReadGenericCoverage(path string) (*GenericCoverage, error) { + f, err := os.Open(path) + if err != nil { + return nil, fmt.Errorf("open failed: %w", err) + } + defer f.Close() + + dec := xml.NewDecoder(f) + + var coverage GenericCoverage + err = dec.Decode(&coverage) + if err != nil { + return nil, fmt.Errorf("xml decode failed: %w", err) + } + + return &coverage, nil +} + +func MergeGenericCoverageFiles(paths []string, output string) error { + f, err := os.Create(output) + if err != nil { + return fmt.Errorf("cannot open file %s to write merged coverage: %w", output, err) + } + defer f.Close() + + var coverage *GenericCoverage + for _, path := range paths { + c, err := ReadGenericCoverage(path) + if err != nil { + return fmt.Errorf("failed to read coverage from %s: %w", path, err) + } + if coverage == nil { + coverage = c + continue + } + err = coverage.Merge(c) + if err != nil { + return fmt.Errorf("failed to merge coverage from %s: %w", path, err) + } + } + + d, err := coverage.Bytes() + if err != nil { + return fmt.Errorf("failed to encode merged coverage: %w", err) + } + + _, err = f.Write(d) + if err != nil { + return fmt.Errorf("cannot write merged coverage to %s: %w", output, err) + } + + return nil +} diff --git a/dev/coverage/coverage_test.go b/dev/coverage/coverage_test.go new file mode 100644 index 0000000000..4f25c60c4d --- /dev/null +++ b/dev/coverage/coverage_test.go @@ -0,0 +1,31 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package coverage + +import ( + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestMergeCoverage(t *testing.T) { + coverageFiles, err := filepath.Glob("testdata/test-coverage-*.xml") + require.NoError(t, err) + + expectedCoverage, err := ReadGenericCoverage("testdata/expected-test-coverage.xml") + require.NoError(t, err) + + output := filepath.Join(t.TempDir(), "coverage-merged.xml") + + err = MergeGenericCoverageFiles(coverageFiles, output) + require.NoError(t, err) + + mergedCoverage, err := ReadGenericCoverage(output) + require.NoError(t, err) + + assert.EqualValues(t, expectedCoverage, mergedCoverage) +} diff --git a/dev/coverage/testdata/expected-test-coverage.xml b/dev/coverage/testdata/expected-test-coverage.xml new file mode 100644 index 0000000000..4335bd4f67 --- /dev/null +++ b/dev/coverage/testdata/expected-test-coverage.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/coverage/testdata/test-coverage-1.xml b/dev/coverage/testdata/test-coverage-1.xml new file mode 100644 index 0000000000..4275ab1853 --- /dev/null +++ b/dev/coverage/testdata/test-coverage-1.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/coverage/testdata/test-coverage-2.xml b/dev/coverage/testdata/test-coverage-2.xml new file mode 100644 index 0000000000..4d5f188840 --- /dev/null +++ b/dev/coverage/testdata/test-coverage-2.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/dev/coverage/testdata/test-coverage-3.xml b/dev/coverage/testdata/test-coverage-3.xml new file mode 100644 index 0000000000..3e1e45f0b1 --- /dev/null +++ b/dev/coverage/testdata/test-coverage-3.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/magefile.go b/magefile.go index 054a67c5ac..7f3177e806 100644 --- a/magefile.go +++ b/magefile.go @@ -7,6 +7,7 @@ package main import ( + "fmt" "io" "os" "path/filepath" @@ -16,6 +17,7 @@ import ( "github.com/pkg/errors" "github.com/elastic/integrations/dev/codeowners" + "github.com/elastic/integrations/dev/coverage" ) var ( @@ -51,6 +53,14 @@ func ImportBeats() error { return sh.Run("go", args...) } +func MergeCoverage() error { + coverageFiles, err := filepath.Glob("build/test-coverage/coverage-*.xml") + if err != nil { + return fmt.Errorf("glob failed: %w", err) + } + return coverage.MergeGenericCoverageFiles(coverageFiles, "build/test-coverage/coverage_merged.xml") +} + func build() error { mg.Deps(buildImportBeats) return nil From d4b0b59dfdfaa3008a9ff9bdedd2fc0e047a5883 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Tue, 2 Jul 2024 10:51:47 +0200 Subject: [PATCH 8/9] Regenerate expected file --- .../data_stream/metrics/_dev/test/policy/test-default.expected | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected b/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected index c17eed6a8b..bce0569ce5 100644 --- a/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected +++ b/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected @@ -37,4 +37,3 @@ output_permissions: privileges: - auto_configure - create_doc -secret_references: [] From 661f9b4a8ace5390ebb35344c711db770649082f Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Tue, 2 Jul 2024 11:18:28 +0200 Subject: [PATCH 9/9] Regenerate again --- .../data_stream/metrics/_dev/test/policy/test-default.expected | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected b/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected index bce0569ce5..bb0fca6136 100644 --- a/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected +++ b/packages/elastic_package_registry/data_stream/metrics/_dev/test/policy/test-default.expected @@ -30,7 +30,7 @@ output_permissions: - monitor _elastic_agent_monitoring: indices: [] - uuid-for-permissions-on-related-indices: + test-default-elastic_package_registry: indices: - names: - metrics-elastic_package_registry.metrics-ep