From a383abe469edab3fdd420cd41a327a0f6bee58c0 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Tue, 9 Apr 2024 16:29:29 +0800 Subject: [PATCH] refactor: all module update. --- go.mod | 8 +- go.sum | 35 +++---- go.work | 13 --- tools/component/checks/etcd.go | 10 -- tools/component/checks/kafka.go | 39 -------- tools/component/checks/minio.go | 79 --------------- tools/component/checks/mongo.go | 36 ------- tools/component/checks/redis.go | 32 ------ tools/component/checks/zookeeper.go | 31 ------ tools/component/config/config.go | 2 - tools/component/main.go | 147 ---------------------------- tools/component/main_test.go | 65 ------------ tools/component/util/print.go | 54 ---------- 13 files changed, 21 insertions(+), 530 deletions(-) delete mode 100644 go.work delete mode 100644 tools/component/checks/etcd.go delete mode 100644 tools/component/checks/kafka.go delete mode 100644 tools/component/checks/minio.go delete mode 100644 tools/component/checks/mongo.go delete mode 100644 tools/component/checks/redis.go delete mode 100644 tools/component/checks/zookeeper.go delete mode 100644 tools/component/config/config.go delete mode 100644 tools/component/main.go delete mode 100644 tools/component/main_test.go delete mode 100644 tools/component/util/print.go diff --git a/go.mod b/go.mod index a47b59b8e..9d1659d73 100644 --- a/go.mod +++ b/go.mod @@ -30,14 +30,17 @@ require github.com/google/uuid v1.6.0 require ( github.com/IBM/sarama v1.43.0 + github.com/fatih/color v1.14.1 github.com/go-redis/redis v6.15.9+incompatible + github.com/kelindar/bitmap v1.5.2 + github.com/likexian/gokit v0.25.13 github.com/redis/go-redis/v9 v9.4.0 github.com/robfig/cron/v3 v3.0.1 github.com/shirou/gopsutil v3.21.11+incompatible github.com/spf13/viper v1.18.2 github.com/stathat/consistent v1.0.0 + go.uber.org/automaxprocs v1.5.3 golang.org/x/sync v0.6.0 - gotest.tools v2.2.0+incompatible ) require ( @@ -72,7 +75,6 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.4 // indirect - github.com/google/go-cmp v0.6.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect @@ -92,12 +94,14 @@ require ( github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/kelindar/simd v1.1.2 // indirect github.com/klauspost/compress v1.17.7 // indirect github.com/klauspost/cpuid/v2 v2.2.6 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/lithammer/shortuuid v3.0.0+incompatible // indirect github.com/magefile/mage v1.15.0 // indirect github.com/magiconair/properties v1.8.7 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/minio/md5-simd v1.1.2 // indirect github.com/minio/minio-go/v7 v7.0.69 // indirect diff --git a/go.sum b/go.sum index ce1ff52a4..f91d538e3 100644 --- a/go.sum +++ b/go.sum @@ -22,13 +22,10 @@ github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mo github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible h1:8psS8a+wKfiLt1iVDX79F7Y6wUM49Lcha2FMXt4UM8g= github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= -github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= -github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= @@ -46,7 +43,6 @@ github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5P github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= -github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -70,13 +66,12 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w= +github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -95,7 +90,6 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= @@ -143,13 +137,11 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -202,9 +194,12 @@ github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkr github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= -github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= 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/kelindar/bitmap v1.5.2 h1:XwX7CTvJtetQZ64zrOkApoZZHBJRkjE23NfqUALA/HE= +github.com/kelindar/bitmap v1.5.2/go.mod h1:j3qZjxH9s4OtvsnFTP2bmPkjqil9Y2xQlxPYHexasEA= +github.com/kelindar/simd v1.1.2 h1:KduKb+M9cMY2HIH8S/cdJyD+5n5EGgq+Aeeleos55To= +github.com/kelindar/simd v1.1.2/go.mod h1:inq4DFudC7W8L5fhxoeZflLRNpWSs0GNx6MlWFvuvr0= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= @@ -214,9 +209,7 @@ github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02 github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= @@ -225,12 +218,17 @@ github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible h1:Y6sqxHMyB1D2YSzWkL github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible/go.mod h1:ZQnN8lSECaebrkQytbHj4xNgtg8CR7RYXnPok8e0EHA= github.com/lestrrat-go/strftime v1.0.6 h1:CFGsDEt1pOpFNU+TJB0nhz9jl+K0hZSLE205AhTIGQQ= github.com/lestrrat-go/strftime v1.0.6/go.mod h1:f7jQKgV5nnJpYgdEasS+/y7EsTb8ykN2z68n3TtcTaw= +github.com/likexian/gokit v0.25.13 h1:p2Uw3+6fGG53CwdU2Dz0T6bOycdb2+bAFAa3ymwWVkM= +github.com/likexian/gokit v0.25.13/go.mod h1:qQhEWFBEfqLCO3/vOEo2EDKd+EycekVtUK4tex+l2H4= github.com/lithammer/shortuuid v3.0.0+incompatible h1:NcD0xWW/MZYXEHa6ITy6kaXN5nwm/V115vj2YXfhS0w= github.com/lithammer/shortuuid v3.0.0+incompatible/go.mod h1:FR74pbAuElzOUuenUHTK2Tciko1/vKuIKS9dSkDrA4w= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= @@ -281,6 +279,7 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -297,7 +296,6 @@ github.com/redis/go-redis/v9 v9.4.0/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0 github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -374,13 +372,13 @@ go.opentelemetry.io/otel v1.23.0/go.mod h1:YCycw9ZeKhcJFrb34iVSkyT0iczq/zYDtZYFu go.opentelemetry.io/otel/metric v1.23.0 h1:pazkx7ss4LFVVYSxYew7L5I6qvLXHA0Ap2pwV+9Cnpo= go.opentelemetry.io/otel/metric v1.23.0/go.mod h1:MqUW2X2a6Q8RN96E2/nqNoT+z9BSms20Jb7Bbp+HiTo= go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= -go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= go.opentelemetry.io/otel/trace v1.23.0 h1:37Ik5Ib7xfYVb4V1UtnT97T1jI+AoIYkJyPkuL4iJgI= go.opentelemetry.io/otel/trace v1.23.0/go.mod h1:GSGTbIClEsuZrGIzoEHqsVfxgn5UkggkflQwDScNUsk= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= +go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= @@ -454,6 +452,7 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= @@ -486,7 +485,6 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.165.0 h1:zd5d4JIIIaYYsfVy1HzoXYZ9rWCSBxxAglbczzo7Bgc= google.golang.org/api v0.165.0/go.mod h1:2OatzO7ZDQsoS7IFf3rvsE17/TldiU3F/zxFHeqUB5o= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -524,7 +522,6 @@ google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGm google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= @@ -540,8 +537,6 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/gorm v1.25.8 h1:WAGEZ/aEcznN4D03laj8DKnehe1e9gYQAjW8xyPRdeo= gorm.io/gorm v1.25.8/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= 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= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/go.work b/go.work deleted file mode 100644 index 848da501c..000000000 --- a/go.work +++ /dev/null @@ -1,13 +0,0 @@ -go 1.21 - -use ( - . - ./tools/changelog - ./tools/component - ./tools/imctl - ./tools/infra - ./tools/ncpu - ./tools/url2im - ./tools/versionchecker - ./tools/yamlfmt -) diff --git a/tools/component/checks/etcd.go b/tools/component/checks/etcd.go deleted file mode 100644 index e85c5d636..000000000 --- a/tools/component/checks/etcd.go +++ /dev/null @@ -1,10 +0,0 @@ -package checks - -import "context" - -type EtcdCheck struct{} - -func CheckEtcd(ctx context.Context, config *EtcdCheck) error { - - return nil -} diff --git a/tools/component/checks/kafka.go b/tools/component/checks/kafka.go deleted file mode 100644 index 17fa84c5a..000000000 --- a/tools/component/checks/kafka.go +++ /dev/null @@ -1,39 +0,0 @@ -package checks - -import ( - "context" - - "github.com/openimsdk/open-im-server/v3/pkg/common/config" - "github.com/openimsdk/tools/log" - "github.com/openimsdk/tools/mq/kafka" -) - -type KafkaCheck struct { - Kafka *config.Kafka -} - - -func CheckKafka(ctx context.Context, config *KafkaCheck) error { - kafkaConfig := &kafka.Config{ - Addr: config.Kafka.Addr, - Username: config.Kafka.Username, - Password: config.Kafka.Password, - } - - requiredTopics := []string{ - config.Kafka.MsgToMongo.Topic, - config.Kafka.MsgToPush.Topic, - config.Kafka.LatestMsgToRedis.Topic, - } - - log.CInfo(ctx, "Checking Kafka connection", "Address", kafkaConfig.Addr, "Topics", requiredTopics) - - err := kafka.CheckKafka(ctx, kafkaConfig, requiredTopics) - if err != nil { - log.CInfo(ctx, "Kafka connection failed", "error", err) - return err - } - - log.CInfo(ctx, "Kafka connection and required topics verified successfully") - return nil -} diff --git a/tools/component/checks/minio.go b/tools/component/checks/minio.go deleted file mode 100644 index f24b3303e..000000000 --- a/tools/component/checks/minio.go +++ /dev/null @@ -1,79 +0,0 @@ -package checks - -import ( - "context" - "net" - "net/url" - "time" - - "github.com/minio/minio-go/v7" - "github.com/minio/minio-go/v7/pkg/credentials" - "github.com/openimsdk/tools/errs" - "github.com/openimsdk/tools/log" - - s3minio "github.com/openimsdk/open-im-server/v3/pkg/common/db/s3/minio" -) - -const ( - minioHealthCheckDuration = 1 * time.Second -) - -type MinioCheck struct { - s3minio.Config - UseSSL bool `yaml:"useSSL"` - ApiURL string `yaml:"apiURL"` -} - -func CheckMinio(ctx context.Context, config MinioCheck) error { - - if config.Endpoint == "" || config.AccessKeyID == "" || config.SecretAccessKey == "" { - logMsg := "Missing configuration for MinIO: endpoint, accessKeyID, or secretAccessKey" - log.CInfo(ctx, logMsg, "Config", config) - return errs.New(logMsg) - } - - endpointURL, err := url.Parse(config.Endpoint) - if err != nil { - return errs.WrapMsg(err, "Failed to parse MinIO endpoint URL") - } - secure := endpointURL.Scheme == "https" || config.UseSSL - - minioClient, err := minio.New(endpointURL.Host, &minio.Options{ - Creds: credentials.NewStaticV4(config.AccessKeyID, config.SecretAccessKey, ""), - Secure: secure, - }) - if err != nil { - return errs.WrapMsg(err, "Failed to initialize MinIO client", "Endpoint", config.Endpoint) - } - - cancel, err := minioClient.HealthCheck(minioHealthCheckDuration) - if err != nil { - return errs.WrapMsg(err, "MinIO client health check failed") - } - defer cancel() - - if minioClient.IsOffline() { - return errs.New("minio client is offline").Wrap() - } - - apiURLHost, _ := exactIP(config.ApiURL) - signEndpointHost, _ := exactIP(config.SignEndpoint) - if apiURLHost == "127.0.0.1" || signEndpointHost == "127.0.0.1" { - logMsg := "Warning: MinIO ApiURL or SignEndpoint contains localhost" - log.CInfo(ctx, logMsg, "ApiURL", config.ApiURL, "SignEndpoint", config.SignEndpoint) - } - - return nil -} - -func exactIP(urlStr string) (string, error) { - u, err := url.Parse(urlStr) - if err != nil { - return "", errs.WrapMsg(err, "URL parse error") - } - host, _, err := net.SplitHostPort(u.Host) - if err != nil { - host = u.Host - } - return host, nil -} diff --git a/tools/component/checks/mongo.go b/tools/component/checks/mongo.go deleted file mode 100644 index a149ca82e..000000000 --- a/tools/component/checks/mongo.go +++ /dev/null @@ -1,36 +0,0 @@ -package checks - -import ( - "context" - - "github.com/openimsdk/open-im-server/v3/pkg/common/config" - "github.com/openimsdk/tools/db/mongoutil" - "github.com/openimsdk/tools/log" -) - -type MongoCheck struct { - Mongo *config.Mongo -} - -func CheckMongo(ctx context.Context, config *MongoCheck) error { - mongoConfig := &mongoutil.Config{ - Uri: config.Mongo.Uri, - Address: config.Mongo.Address, - Database: config.Mongo.Database, - Username: config.Mongo.Username, - Password: config.Mongo.Password, - MaxPoolSize: config.Mongo.MaxPoolSize, - MaxRetry: 0, - } - - log.CInfo(ctx, "Checking MongoDB connection", "URI", mongoConfig.Uri, "Database", mongoConfig.Database) - - err := mongoutil.CheckMongo(ctx, mongoConfig) - if err != nil { - log.CInfo(ctx, "MongoDB connection failed", "error", err) - return err - } - - log.CInfo(ctx, "MongoDB connection established successfully") - return nil -} diff --git a/tools/component/checks/redis.go b/tools/component/checks/redis.go deleted file mode 100644 index 225951037..000000000 --- a/tools/component/checks/redis.go +++ /dev/null @@ -1,32 +0,0 @@ -package checks - -import ( - "context" - - "github.com/openimsdk/open-im-server/v3/pkg/common/config" - "github.com/openimsdk/tools/db/redisutil" - "github.com/openimsdk/tools/log" -) - -type RedisCheck struct { - Redis *config.Redis -} - -func CheckRedis(ctx context.Context, config *RedisCheck) error { - redisConfig := &redisutil.Config{ - Address: config.Redis.Address, - Username: config.Redis.Username, - Password: config.Redis.Password, - } - - log.CInfo(ctx, "Checking Redis connection", "Address", redisConfig.Address) - - err := redisutil.CheckRedis(ctx, redisConfig) - if err != nil { - log.CInfo(ctx, "Redis connection failed", "error", err) - return err - } - - log.CInfo(ctx, "Redis connection established successfully") - return nil -} diff --git a/tools/component/checks/zookeeper.go b/tools/component/checks/zookeeper.go deleted file mode 100644 index 05aa38504..000000000 --- a/tools/component/checks/zookeeper.go +++ /dev/null @@ -1,31 +0,0 @@ -package checks - -import ( - "context" - - "github.com/openimsdk/open-im-server/v3/pkg/common/config" - "github.com/openimsdk/tools/discovery/zookeeper" - "github.com/openimsdk/tools/log" -) - -type ZookeeperCheck struct { - Zookeeper *config.Zookeeper -} - -func CheckZookeeper(ctx context.Context, config *ZookeeperCheck) error { - zkServers := config.Zookeeper.ZkAddr - schema := config.Zookeeper.Schema - - authOption := zookeeper.WithUserNameAndPassword(config.Zookeeper.Username, config.Zookeeper.Password) - - log.CInfo(ctx, "Checking Zookeeper connection", "Schema", schema, "ZkServers", zkServers) - - err := zookeeper.CheckZookeeper(ctx, zkServers, config.Zookeeper.Schema, authOption) - if err != nil { - log.CInfo(ctx, "Zookeeper connection failed", "error", err) - return err - } - - log.CInfo(ctx, "Zookeeper connection established successfully") - return nil -} diff --git a/tools/component/config/config.go b/tools/component/config/config.go deleted file mode 100644 index f3921b062..000000000 --- a/tools/component/config/config.go +++ /dev/null @@ -1,2 +0,0 @@ -package config - diff --git a/tools/component/main.go b/tools/component/main.go deleted file mode 100644 index a625cdad0..000000000 --- a/tools/component/main.go +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright © 2023 OpenIM. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "context" - "fmt" - "os" - "strconv" - "time" - - "github.com/openimsdk/open-im-server/v3/tools/component/checks" - "github.com/openimsdk/open-im-server/v3/tools/component/util" - "github.com/openimsdk/tools/log" - "github.com/spf13/pflag" - "github.com/spf13/viper" - - "github.com/openimsdk/open-im-server/v3/pkg/common/config" - "github.com/openimsdk/open-im-server/v3/pkg/common/db/s3/minio" -) - -const defaultCfgPath = "./config.yaml" -const maxRetry = 100 - -func initConfig(cfgPath string) error { - viper.SetConfigType("yaml") - viper.AddConfigPath(".") - - viper.SetConfigName("config") - viper.AddConfigPath("../../../../../config") - - viper.SetEnvPrefix("openim") - viper.AutomaticEnv() - - if cfgPath != "" { - viper.SetConfigFile(cfgPath) - } else if envPath, ok := os.LookupEnv("OPENIM_CONFIG"); ok && envPath != "" { - viper.SetConfigFile(envPath) - } - - if err := viper.ReadInConfig(); err != nil { - return err - } - - fmt.Println("Using config file:", viper.ConfigFileUsed()) - return nil -} - -func main() { - var cfgFile string - pflag.StringVarP(&cfgFile, "config", "c", "", "config file (default is ./config.yaml)") - pflag.Parse() - - ctx := context.Background() - - if err := initConfig(cfgFile); err != nil { - fmt.Fprintf(os.Stderr, "Initialization failed: %v\n", err) - os.Exit(1) - } - - // if err := util.ConfigGetEnv(conf); err != nil { - // fmt.Fprintf(os.Stderr, "Environment variable override failed: %v\n", err) - // os.Exit(1) - // } - - // Define a slice of functions to perform each service check - serviceChecks := []func(context.Context, *config.GlobalConfig) error{ - func(ctx context.Context, cfg *config.GlobalConfig) error { - return checks.CheckMongo(ctx, &checks.MongoCheck{Mongo: &cfg.Mongo}) - }, - func(ctx context.Context, cfg *config.GlobalConfig) error { - return checks.CheckRedis(ctx, &checks.RedisCheck{Redis: &cfg.Redis}) - }, - func(ctx context.Context, cfg *config.GlobalConfig) error { - return checks.CheckZookeeper(ctx, &checks.ZookeeperCheck{Zookeeper: &cfg.Zookeeper}) - }, - func(ctx context.Context, cfg *config.GlobalConfig) error { - return checks.CheckKafka(ctx, &checks.KafkaCheck{Kafka: &cfg.Kafka}) - }, - } - - if viper.GetString("object.enable") == "minio" { - minioConfig := checks.MinioCheck{ - Config: minio.Config(viper.GetString("object.minio")), - // UseSSL: conf.Minio.UseSSL, - ApiURL: viper.GetString("object.apiURL"), - } - - adjustUseSSL(&minioConfig) - - minioCheck := func(ctx context.Context, cfg *config.GlobalConfig) error { - return checks.CheckMinio(ctx, minioConfig) - } - serviceChecks = append(serviceChecks, minioCheck) - } - - // Execute checks with retry logic - for i := 0; i < maxRetry; i++ { - if i > 0 { - time.Sleep(time.Second) - } - fmt.Printf("Checking components, attempt %d/%d\n", i+1, maxRetry) - - allSuccess := true - for _, check := range serviceChecks { - if err := check(ctx, &config.Config); err != nil { - util.ColorErrPrint(fmt.Sprintf("Check failed: %v", err)) - allSuccess = false - break - } - } - - if allSuccess { - util.SuccessPrint("All components started successfully!") - return - } - } - - util.ErrorPrint("Some components failed to start correctly.") - os.Exit(-1) -} - -// adjustUseSSL updates the UseSSL setting based on the MINIO_USE_SSL environment variable. -func adjustUseSSL(config *checks.MinioCheck) { - useSSL := config.UseSSL - if envSSL, exists := os.LookupEnv("MINIO_USE_SSL"); exists { - parsedSSL, err := strconv.ParseBool(envSSL) - if err == nil { - useSSL = parsedSSL - } else { - log.CInfo(context.Background(), "Invalid MINIO_USE_SSL value; using config file setting.", "MINIO_USE_SSL", envSSL) - } - } - config.UseSSL = useSSL -} diff --git a/tools/component/main_test.go b/tools/component/main_test.go deleted file mode 100644 index c56361b2c..000000000 --- a/tools/component/main_test.go +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright © 2023 OpenIM. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "context" - "strconv" - "testing" - "time" - - "github.com/redis/go-redis/v9" -) - -func TestRedis(t *testing.T) { - conf, err := initCfg() - conf.Redis.Address = []string{ - "172.16.8.142:7000", - //"172.16.8.142:7000", "172.16.8.142:7001", "172.16.8.142:7002", "172.16.8.142:7003", "172.16.8.142:7004", "172.16.8.142:7005", - } - - var redisClient redis.UniversalClient - defer func() { - if redisClient != nil { - redisClient.Close() - } - }() - if len(conf.Redis.Address) > 1 { - redisClient = redis.NewClusterClient(&redis.ClusterOptions{ - Addrs: conf.Redis.Address, - Username: conf.Redis.Username, - Password: conf.Redis.Password, - }) - } else { - redisClient = redis.NewClient(&redis.Options{ - Addr: conf.Redis.Address[0], - Username: conf.Redis.Username, - Password: conf.Redis.Password, - }) - } - _, err = redisClient.Ping(context.Background()).Result() - if err != nil { - t.Fatal(err) - } - - for i := 0; i < 1000000; i++ { - val, err := redisClient.Set(context.Background(), "b_"+strconv.Itoa(i), "test", time.Second*10).Result() - t.Log("index", i, "resp", val, "err", err) - if err != nil { - return - } - } - -} diff --git a/tools/component/util/print.go b/tools/component/util/print.go deleted file mode 100644 index 4389d3f6a..000000000 --- a/tools/component/util/print.go +++ /dev/null @@ -1,54 +0,0 @@ -package util - -import ( - "fmt" - "log" - "os" -) - -const ( - colorRed = 31 - colorGreen = 32 - colorYellow = 33 -) - -// colorErrPrint prints formatted string in red to stderr -func ColorErrPrint(msg string) { - // ANSI escape code for red text - const redColor = "\033[31m" - // ANSI escape code to reset color - const resetColor = "\033[0m" - msg = redColor + msg + resetColor - // Print to stderr in red - fmt.Fprintf(os.Stderr, "%s\n", msg) -} - -func ColorSuccessPrint(format string, a ...interface{}) { - // ANSI escape code for green text is \033[32m - // \033[0m resets the color - fmt.Printf("\033[32m"+format+"\033[0m", a...) -} - -func colorPrint(colorCode int, format string, a ...any) { - fmt.Printf("\x1b[%dm%s\x1b[0m\n", colorCode, fmt.Sprintf(format, a...)) -} - -func colorErrPrint(colorCode int, format string, a ...any) { - log.Printf("\x1b[%dm%s\x1b[0m\n", colorCode, fmt.Sprintf(format, a...)) -} - -func ErrorPrint(s string) { - colorErrPrint(colorRed, "%v", s) -} - -func SuccessPrint(s string) { - colorPrint(colorGreen, "%v", s) -} - -func WarningPrint(s string) { - colorPrint(colorYellow, "Warning: But %v", s) -} - -func ErrStr(err error, str string) error { - return fmt.Errorf("%v;%s", err, str) -}