diff --git a/go.mod b/go.mod index 260cc84b..29045da9 100644 --- a/go.mod +++ b/go.mod @@ -4,9 +4,12 @@ go 1.15 replace github.com/TeaOSLab/EdgeCommon => ../EdgeCommon +replace github.com/TeaOSLab/EdgePlus => ../EdgePlus + require ( github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect github.com/TeaOSLab/EdgeCommon v0.0.0-00010101000000-000000000000 + github.com/TeaOSLab/EdgePlus v0.0.0-00010101000000-000000000000 github.com/aliyun/alibaba-cloud-sdk-go v1.61.641 github.com/cespare/xxhash/v2 v2.1.1 github.com/go-acme/lego/v4 v4.1.2 @@ -26,5 +29,4 @@ require ( google.golang.org/genproto v0.0.0-20210617175327-b9e0b3197ced // indirect google.golang.org/grpc v1.38.0 google.golang.org/protobuf v1.26.0 - gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/go.sum b/go.sum index 98233e15..7bccbdc1 100644 --- a/go.sum +++ b/go.sum @@ -134,7 +134,6 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= @@ -146,8 +145,8 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -181,8 +180,6 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/iij/doapi v0.0.0-20190504054126-0bbf12d6d7df/go.mod h1:QMZY7/J/KSQEhKWFeDesPjMj+wCHReeknARU3wqlyN4= -github.com/iwind/TeaGo v0.0.0-20200923021120-f5d76441fe9e/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc= -github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f h1:r2O8PONj/KiuZjJHVHn7KlCePUIjNtgAmvLfgRafQ8o= github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc= github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060 h1:qdLtK4PDXxk2vMKkTWl5Fl9xqYuRCukzWAgJbLHdfOo= github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc= @@ -194,8 +191,6 @@ github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCV github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= @@ -292,8 +287,6 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sacloud/libsacloud v1.36.2/go.mod h1:P7YAOVmnIn3DKHqCZcUKYUXmSwGBm3yS7IBEjKVSrjg= -github.com/shirou/gopsutil v2.20.9+incompatible h1:msXs2frUV+O/JLva9EDLpuJ84PrFsdCTCQex8PUdtkQ= -github.com/shirou/gopsutil v2.20.9+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil v3.21.5+incompatible h1:OloQyEerMi7JUrXiNzy8wQ5XN+baemxSl12QgIzt0jc= github.com/shirou/gopsutil v3.21.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= @@ -403,7 +396,6 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= @@ -418,8 +410,8 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180622082034-63fc586f45fe/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -455,7 +447,6 @@ golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 h1:DYfZAGf2WMFjMxbgTjaC+2HC7NkNAQs+6Q8b9WEB/F4= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -468,7 +459,6 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -515,8 +505,8 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= @@ -553,7 +543,6 @@ google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4 google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210617175327-b9e0b3197ced h1:c5geK1iMU3cDKtFrCVQIcjR3W+JOZMuhIyICMCTbtus= google.golang.org/genproto v0.0.0-20210617175327-b9e0b3197ced/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= @@ -568,7 +557,6 @@ google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.32.0 h1:zWTV+LMdc3kaiJMSTOFz2UgSBgx8RNQoTGiZu3fR9S0= google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= @@ -580,7 +568,6 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= @@ -612,9 +599,8 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/internal/installers/deploy_manager.go b/internal/installers/deploy_manager.go index 4ed68e37..5d16c25c 100644 --- a/internal/installers/deploy_manager.go +++ b/internal/installers/deploy_manager.go @@ -65,7 +65,7 @@ func (this *DeployManager) FindNodeFile(os string, arch string) *DeployFile { return nil } -// LoadNSNodeFiles 加载所有文件 +// LoadNSNodeFiles 加载所有NS节点安装文件 func (this *DeployManager) LoadNSNodeFiles() []*DeployFile { keyMap := map[string]*DeployFile{} // key => File @@ -99,3 +99,13 @@ func (this *DeployManager) LoadNSNodeFiles() []*DeployFile { } return result } + +// FindNSNodeFile 查找特别平台的NS节点安装文件 +func (this *DeployManager) FindNSNodeFile(os string, arch string) *DeployFile { + for _, file := range this.LoadNSNodeFiles() { + if file.OS == os && file.Arch == arch { + return file + } + } + return nil +} diff --git a/internal/installers/deploy_manager_test.go b/internal/installers/deploy_manager_test.go index 7a291099..90f00193 100644 --- a/internal/installers/deploy_manager_test.go +++ b/internal/installers/deploy_manager_test.go @@ -16,3 +16,9 @@ func TestDeployManager_LoadNSNodeFiles(t *testing.T) { t.Logf("%#v", file) } } + +func TestDeployManager_FindNSNodeFile(t *testing.T) { + file := NewDeployManager().FindNSNodeFile("linux", "amd64") + t.Log(file) + +} \ No newline at end of file diff --git a/internal/rpc/services/nameservers/service_ns_node.go b/internal/rpc/services/nameservers/service_ns_node.go index 079698e8..0968ee98 100644 --- a/internal/rpc/services/nameservers/service_ns_node.go +++ b/internal/rpc/services/nameservers/service_ns_node.go @@ -13,6 +13,7 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/configutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" stringutil "github.com/iwind/TeaGo/utils/string" + "path/filepath" ) // NSNodeService 域名服务器节点服务 @@ -369,7 +370,7 @@ func (this *NSNodeService) FindCurrentNSNodeConfig(ctx context.Context, req *pb. // CheckNSNodeLatestVersion 检查新版本 func (this *NSNodeService) CheckNSNodeLatestVersion(ctx context.Context, req *pb.CheckNSNodeLatestVersionRequest) (*pb.CheckNSNodeLatestVersionResponse, error) { - _, err := this.ValidateAdmin(ctx, 0) + _, _, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin, rpcutils.UserTypeDNS) if err != nil { return nil, err } @@ -385,3 +386,31 @@ func (this *NSNodeService) CheckNSNodeLatestVersion(ctx context.Context, req *pb } return &pb.CheckNSNodeLatestVersionResponse{HasNewVersion: false}, nil } + +// DownloadNSNodeInstallationFile 下载最新DNS节点安装文件 +func (this *NSNodeService) DownloadNSNodeInstallationFile(ctx context.Context, req *pb.DownloadNSNodeInstallationFileRequest) (*pb.DownloadNSNodeInstallationFileResponse, error) { + _, err := this.ValidateNSNode(ctx) + if err != nil { + return nil, err + } + + file := installers.SharedDeployManager.FindNSNodeFile(req.Os, req.Arch) + if file == nil { + return &pb.DownloadNSNodeInstallationFileResponse{}, nil + } + + sum, err := file.Sum() + if err != nil { + return nil, err + } + + data, offset, err := file.Read(req.ChunkOffset) + + return &pb.DownloadNSNodeInstallationFileResponse{ + Sum: sum, + Offset: offset, + ChunkData: data, + Version: file.Version, + Filename: filepath.Base(file.Path), + }, nil +} diff --git a/internal/rpc/services/service_authority_key.go b/internal/rpc/services/service_authority_key.go index a62de0a4..af111731 100644 --- a/internal/rpc/services/service_authority_key.go +++ b/internal/rpc/services/service_authority_key.go @@ -8,6 +8,7 @@ import ( "github.com/TeaOSLab/EdgeAPI/internal/db/models/authority" rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + plusutils "github.com/TeaOSLab/EdgePlus/pkg/utils" ) // AuthorityKeyService 版本认证 @@ -44,6 +45,15 @@ func (this *AuthorityKeyService) ReadAuthorityKey(ctx context.Context, req *pb.R return &pb.ReadAuthorityKeyResponse{AuthorityKey: nil}, nil } + if len(key.Value) == 0 { + return &pb.ReadAuthorityKeyResponse{AuthorityKey: nil}, nil + } + + m, err := plusutils.Decode([]byte(key.Value)) + if err != nil { + return nil, err + } + macAddresses := []string{} if len(key.MacAddresses) > 0 { err = json.Unmarshal([]byte(key.MacAddresses), &macAddresses) @@ -54,8 +64,8 @@ func (this *AuthorityKeyService) ReadAuthorityKey(ctx context.Context, req *pb.R return &pb.ReadAuthorityKeyResponse{AuthorityKey: &pb.AuthorityKey{ Value: key.Value, - DayFrom: key.DayFrom, - DayTo: key.DayTo, + DayFrom: m.GetString("dayFrom"), + DayTo: m.GetString("dayTo"), Hostname: key.Hostname, MacAddresses: macAddresses, Company: key.Company, diff --git a/internal/rpc/services/service_authority_node.go b/internal/rpc/services/service_authority_node.go index 88dd92fe..77dafd88 100644 --- a/internal/rpc/services/service_authority_node.go +++ b/internal/rpc/services/service_authority_node.go @@ -171,7 +171,7 @@ func (this *AuthorityNodeService) FindEnabledAuthorityNode(ctx context.Context, // FindCurrentAuthorityNode 获取当前认证节点的版本 func (this *AuthorityNodeService) FindCurrentAuthorityNode(ctx context.Context, req *pb.FindCurrentAuthorityNodeRequest) (*pb.FindCurrentAuthorityNodeResponse, error) { - _, err := this.ValidateAuthority(ctx) + _, err := this.ValidateAuthorityNode(ctx) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_base.go b/internal/rpc/services/service_base.go index 1c7d20a4..c04b8991 100644 --- a/internal/rpc/services/service_base.go +++ b/internal/rpc/services/service_base.go @@ -78,20 +78,26 @@ func (this *BaseService) ValidateNode(ctx context.Context) (nodeId int64, err er return } -// ValidateUser 校验用户节点 -func (this *BaseService) ValidateUser(ctx context.Context) (userId int64, err error) { +// ValidateNSNode 校验DNS节点 +func (this *BaseService) ValidateNSNode(ctx context.Context) (nodeId int64, err error) { + _, _, nodeId, err = rpcutils.ValidateRequest(ctx, rpcutils.UserTypeDNS) + return +} + +// ValidateUserNode 校验用户节点 +func (this *BaseService) ValidateUserNode(ctx context.Context) (userId int64, err error) { _, _, userId, err = rpcutils.ValidateRequest(ctx, rpcutils.UserTypeUser) return } -// ValidateMonitor 校验监控节点 -func (this *BaseService) ValidateMonitor(ctx context.Context) (nodeId int64, err error) { +// ValidateMonitorNode 校验监控节点 +func (this *BaseService) ValidateMonitorNode(ctx context.Context) (nodeId int64, err error) { _, _, nodeId, err = rpcutils.ValidateRequest(ctx, rpcutils.UserTypeMonitor) return } -// ValidateAuthority 校验认证节点 -func (this *BaseService) ValidateAuthority(ctx context.Context) (nodeId int64, err error) { +// ValidateAuthorityNode 校验认证节点 +func (this *BaseService) ValidateAuthorityNode(ctx context.Context) (nodeId int64, err error) { _, _, nodeId, err = rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAuthority) return } diff --git a/internal/rpc/services/service_message_media.go b/internal/rpc/services/service_message_media.go index cd841b42..8a90634f 100644 --- a/internal/rpc/services/service_message_media.go +++ b/internal/rpc/services/service_message_media.go @@ -7,12 +7,12 @@ import ( "github.com/iwind/TeaGo/maps" ) -// 消息媒介服务 +// MessageMediaService 消息媒介服务 type MessageMediaService struct { BaseService } -// 获取所有支持的媒介 +// FindAllMessageMedias 获取所有支持的媒介 func (this *MessageMediaService) FindAllMessageMedias(ctx context.Context, req *pb.FindAllMessageMediasRequest) (*pb.FindAllMessageMediasResponse, error) { _, err := this.ValidateAdmin(ctx, 0) if err != nil { @@ -37,9 +37,9 @@ func (this *MessageMediaService) FindAllMessageMedias(ctx context.Context, req * return &pb.FindAllMessageMediasResponse{MessageMedias: pbMedias}, nil } -// 设置所有支持的媒介 +// UpdateMessageMedias 设置所有支持的媒介 func (this *MessageMediaService) UpdateMessageMedias(ctx context.Context, req *pb.UpdateMessageMediasRequest) (*pb.RPCSuccess, error) { - _, err := this.ValidateMonitor(ctx) + _, err := this.ValidateMonitorNode(ctx) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_message_task.go b/internal/rpc/services/service_message_task.go index 2610e125..bad65f5f 100644 --- a/internal/rpc/services/service_message_task.go +++ b/internal/rpc/services/service_message_task.go @@ -31,7 +31,7 @@ func (this *MessageTaskService) CreateMessageTask(ctx context.Context, req *pb.C // FindSendingMessageTasks 查找要发送的任务 func (this *MessageTaskService) FindSendingMessageTasks(ctx context.Context, req *pb.FindSendingMessageTasksRequest) (*pb.FindSendingMessageTasksResponse, error) { - _, err := this.ValidateMonitor(ctx) + _, err := this.ValidateMonitorNode(ctx) if err != nil { return nil, err } @@ -128,7 +128,7 @@ func (this *MessageTaskService) FindSendingMessageTasks(ctx context.Context, req // UpdateMessageTaskStatus 修改任务状态 func (this *MessageTaskService) UpdateMessageTaskStatus(ctx context.Context, req *pb.UpdateMessageTaskStatusRequest) (*pb.RPCSuccess, error) { - _, err := this.ValidateMonitor(ctx) + _, err := this.ValidateMonitorNode(ctx) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_monitor_node.go b/internal/rpc/services/service_monitor_node.go index eb9a2732..7e048580 100644 --- a/internal/rpc/services/service_monitor_node.go +++ b/internal/rpc/services/service_monitor_node.go @@ -171,7 +171,7 @@ func (this *MonitorNodeService) FindEnabledMonitorNode(ctx context.Context, req // FindCurrentMonitorNode 获取当前监控节点的版本 func (this *MonitorNodeService) FindCurrentMonitorNode(ctx context.Context, req *pb.FindCurrentMonitorNodeRequest) (*pb.FindCurrentMonitorNodeResponse, error) { - _, err := this.ValidateMonitor(ctx) + _, err := this.ValidateMonitorNode(ctx) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_server.go b/internal/rpc/services/service_server.go index d72465ce..0b734ebb 100644 --- a/internal/rpc/services/service_server.go +++ b/internal/rpc/services/service_server.go @@ -1080,7 +1080,7 @@ func (this *ServerService) FindEnabledServerDNS(ctx context.Context, req *pb.Fin // CheckUserServer 检查服务是否属于某个用户 func (this *ServerService) CheckUserServer(ctx context.Context, req *pb.CheckUserServerRequest) (*pb.RPCSuccess, error) { - userId, err := this.ValidateUser(ctx) + userId, err := this.ValidateUserNode(ctx) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_sys_locker.go b/internal/rpc/services/service_sys_locker.go index fdd5cd38..ff71b389 100644 --- a/internal/rpc/services/service_sys_locker.go +++ b/internal/rpc/services/service_sys_locker.go @@ -6,16 +6,16 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" ) -// 互斥锁管理 +// SysLockerService 互斥锁管理 type SysLockerService struct { BaseService } -// 获得锁 +// SysLockerLock 获得锁 func (this *SysLockerService) SysLockerLock(ctx context.Context, req *pb.SysLockerLockRequest) (*pb.SysLockerLockResponse, error) { _, userId, err := this.ValidateAdminAndUser(ctx, 0, 0) if err != nil { - _, err = this.ValidateMonitor(ctx) + _, err = this.ValidateMonitorNode(ctx) if err != nil { return nil, err } @@ -41,11 +41,11 @@ func (this *SysLockerService) SysLockerLock(ctx context.Context, req *pb.SysLock return &pb.SysLockerLockResponse{Ok: ok}, nil } -// 释放锁 +// SysLockerUnlock 释放锁 func (this *SysLockerService) SysLockerUnlock(ctx context.Context, req *pb.SysLockerUnlockRequest) (*pb.RPCSuccess, error) { _, userId, err := this.ValidateAdminAndUser(ctx, 0, 0) if err != nil { - _, err = this.ValidateMonitor(ctx) + _, err = this.ValidateMonitorNode(ctx) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_user.go b/internal/rpc/services/service_user.go index 0809f6cc..9e0438e7 100644 --- a/internal/rpc/services/service_user.go +++ b/internal/rpc/services/service_user.go @@ -258,7 +258,7 @@ func (this *UserService) LoginUser(ctx context.Context, req *pb.LoginUserRequest // UpdateUserInfo 修改用户基本信息 func (this *UserService) UpdateUserInfo(ctx context.Context, req *pb.UpdateUserInfoRequest) (*pb.RPCSuccess, error) { - userId, err := this.ValidateUser(ctx) + userId, err := this.ValidateUserNode(ctx) if err != nil { return nil, err } @@ -278,7 +278,7 @@ func (this *UserService) UpdateUserInfo(ctx context.Context, req *pb.UpdateUserI // UpdateUserLogin 修改用户登录信息 func (this *UserService) UpdateUserLogin(ctx context.Context, req *pb.UpdateUserLoginRequest) (*pb.RPCSuccess, error) { - userId, err := this.ValidateUser(ctx) + userId, err := this.ValidateUserNode(ctx) if err != nil { return nil, err } @@ -298,7 +298,7 @@ func (this *UserService) UpdateUserLogin(ctx context.Context, req *pb.UpdateUser // ComposeUserDashboard 取得用户Dashboard数据 func (this *UserService) ComposeUserDashboard(ctx context.Context, req *pb.ComposeUserDashboardRequest) (*pb.ComposeUserDashboardResponse, error) { - userId, err := this.ValidateUser(ctx) + userId, err := this.ValidateUserNode(ctx) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_user_node.go b/internal/rpc/services/service_user_node.go index afc13226..0eee678b 100644 --- a/internal/rpc/services/service_user_node.go +++ b/internal/rpc/services/service_user_node.go @@ -198,7 +198,7 @@ func (this *UserNodeService) FindEnabledUserNode(ctx context.Context, req *pb.Fi // FindCurrentUserNode 获取当前用户节点的版本 func (this *UserNodeService) FindCurrentUserNode(ctx context.Context, req *pb.FindCurrentUserNodeRequest) (*pb.FindCurrentUserNodeResponse, error) { - _, err := this.ValidateUser(ctx) + _, err := this.ValidateUserNode(ctx) if err != nil { return nil, err }