diff --git a/.gitignore b/.gitignore index 63d4779b..9b3a0107 100644 --- a/.gitignore +++ b/.gitignore @@ -28,5 +28,6 @@ go.sum # config file aksk.conf +config.yaml log/ \ No newline at end of file diff --git a/adaptor/container_api_adaptor/alibaba/eci/eci.go b/adaptor/container_api_adaptor/alibaba/eci/eci.go index 758cb978..c81a7b38 100644 --- a/adaptor/container_api_adaptor/alibaba/eci/eci.go +++ b/adaptor/container_api_adaptor/alibaba/eci/eci.go @@ -1,10 +1,10 @@ package eci import ( - "PCM/adaptor/container_api_adaptor/common/auth/aksk" - "PCM/adaptor/container_api_adaptor/common/config" "fmt" "github.com/aliyun/alibaba-cloud-sdk-go/services/eci" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/common/auth/aksk" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/common/config" ) // CreateContainerGroup 创建 diff --git a/adaptor/container_api_adaptor/common/api/common_api.go b/adaptor/container_api_adaptor/common/api/common_api.go index 8c0be12f..88fdad6c 100644 --- a/adaptor/container_api_adaptor/common/api/common_api.go +++ b/adaptor/container_api_adaptor/common/api/common_api.go @@ -1,10 +1,10 @@ package api import ( - "PCM/adaptor/container_api_adaptor/alibaba/eci" - cciAksk "PCM/adaptor/container_api_adaptor/huawei/pkg/auth/aksk" - cci "PCM/adaptor/container_api_adaptor/huawei/resources/pod" - "PCM/adaptor/container_api_adaptor/tencent/eks" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/alibaba/eci" + cciAksk "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/auth/aksk" + cci "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/resources/pod" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/tencent/eks" ) //CreatePod 创建Pod通用方法 diff --git a/adaptor/container_api_adaptor/huawei/pkg/auth/aksk/aksk.go b/adaptor/container_api_adaptor/huawei/pkg/auth/aksk/aksk.go index 0b679345..06eeae3b 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/auth/aksk/aksk.go +++ b/adaptor/container_api_adaptor/huawei/pkg/auth/aksk/aksk.go @@ -1,10 +1,10 @@ package aksk import ( - "PCM/adaptor/container_api_adaptor/common/auth/aksk" - "PCM/adaptor/container_api_adaptor/common/config" - clientset "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1" "fmt" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/common/auth/aksk" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/common/config" + clientset "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd/api" diff --git a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/clientset.go b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/clientset.go index f30ca91a..395ea883 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/clientset.go +++ b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/clientset.go @@ -19,7 +19,7 @@ limitations under the License. package v1beta1 import ( - networkingcciv1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1" + networkingcciv1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1" discovery "k8s.io/client-go/discovery" rest "k8s.io/client-go/rest" flowcontrol "k8s.io/client-go/util/flowcontrol" diff --git a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/fake/clientset_generated.go b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/fake/clientset_generated.go index 354797ad..a9e5d778 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/fake/clientset_generated.go +++ b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/fake/clientset_generated.go @@ -19,9 +19,9 @@ limitations under the License. package fake import ( - clientset "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1" - networkingcciv1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1" - fakenetworkingcciv1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake" + clientset "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1" + networkingcciv1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1" + fakenetworkingcciv1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/discovery" diff --git a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/fake/register.go b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/fake/register.go index ffcc0318..49f5cb55 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/fake/register.go +++ b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/fake/register.go @@ -19,7 +19,7 @@ limitations under the License. package fake import ( - networkingcciv1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" + networkingcciv1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme/register.go b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme/register.go index 736cdbbb..dadfd83f 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme/register.go +++ b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme/register.go @@ -19,7 +19,7 @@ limitations under the License. package scheme import ( - networkingcciv1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" + networkingcciv1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake/fake_network.go b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake/fake_network.go index d1e37800..1d67ad3a 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake/fake_network.go +++ b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake/fake_network.go @@ -19,7 +19,7 @@ limitations under the License. package fake import ( - v1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" + v1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" diff --git a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake/fake_networking.cci.io_client.go b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake/fake_networking.cci.io_client.go index 4ae98046..c2d4678a 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake/fake_networking.cci.io_client.go +++ b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/fake/fake_networking.cci.io_client.go @@ -19,7 +19,7 @@ limitations under the License. package fake import ( - v1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1" + v1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" ) diff --git a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/network.go b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/network.go index a1449c81..416669f1 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/network.go +++ b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/network.go @@ -21,8 +21,8 @@ package v1beta1 import ( "time" - v1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" - scheme "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme" + v1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" + scheme "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" diff --git a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/networking.cci.io_client.go b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/networking.cci.io_client.go index 0baf3692..4fb8ec29 100644 --- a/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/networking.cci.io_client.go +++ b/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/typed/networking.cci.io/v1beta1/networking.cci.io_client.go @@ -19,8 +19,8 @@ limitations under the License. package v1beta1 import ( - v1beta1 "PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" - "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme" + v1beta1 "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1/scheme" rest "k8s.io/client-go/rest" ) diff --git a/adaptor/container_api_adaptor/huawei/resources/network/network.go b/adaptor/container_api_adaptor/huawei/resources/network/network.go index e5cff4d6..b645c421 100644 --- a/adaptor/container_api_adaptor/huawei/resources/network/network.go +++ b/adaptor/container_api_adaptor/huawei/resources/network/network.go @@ -1,11 +1,11 @@ package network import ( - "PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" - "PCM/adaptor/container_api_adaptor/huawei/pkg/auth/aksk" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/apis/networking.cci.io/v1beta1" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/auth/aksk" "time" - clientset "PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1" + clientset "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/huawei/pkg/client/networking.cci.io/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" ) diff --git a/adaptor/container_api_adaptor/huawei/resources/pod/pod.go b/adaptor/container_api_adaptor/huawei/resources/pod/pod.go index 00a50a0e..9b3c14dd 100644 --- a/adaptor/container_api_adaptor/huawei/resources/pod/pod.go +++ b/adaptor/container_api_adaptor/huawei/resources/pod/pod.go @@ -1,8 +1,8 @@ package pod import ( - "PCM/adaptor/container_api_adaptor/common/config" "fmt" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/common/config" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/adaptor/container_api_adaptor/tencent/eks/eks.go b/adaptor/container_api_adaptor/tencent/eks/eks.go index 57e21fd8..ac7a5766 100644 --- a/adaptor/container_api_adaptor/tencent/eks/eks.go +++ b/adaptor/container_api_adaptor/tencent/eks/eks.go @@ -1,13 +1,13 @@ package eks import ( - "PCM/adaptor/container_api_adaptor/common/auth/aksk" - pcmCommon "PCM/adaptor/container_api_adaptor/common/config" "fmt" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile" tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525" + "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/common/auth/aksk" + pcmCommon "gitlink.org.cn/JCCE/PCM/adaptor/container_api_adaptor/common/config" ) func CreateEksInstance(cloudStack string, akskPath string, configPath string) { diff --git a/gen.sh b/gen.sh new file mode 100755 index 00000000..112801df --- /dev/null +++ b/gen.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +rm -rf lan_trans/gen/* +buf mod update +buf generate \ No newline at end of file diff --git a/go.mod b/go.mod index 216a88af..0a73e496 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,18 @@ -module PCM +module gitlink.org.cn/JCCE/PCM go 1.17 require ( github.com/Unknwon/goconfig v1.0.0 github.com/aliyun/alibaba-cloud-sdk-go v1.61.1530 + github.com/golang/glog v1.0.0 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.10.0 + github.com/pkg/errors v0.9.1 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.371 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.371 + google.golang.org/genproto v0.0.0-20220317150908-0efb43f6373e + google.golang.org/grpc v1.45.0 + google.golang.org/protobuf v1.28.0 k8s.io/api v0.0.0-20190620084959-7cf5895f2711 k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719 k8s.io/client-go v0.0.0-20190620085101-78d2af792bab @@ -17,7 +23,6 @@ require ( github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550 // indirect github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415 // indirect github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.7 // indirect github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf // indirect github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d // indirect github.com/imdario/mergo v0.3.5 // indirect @@ -34,7 +39,6 @@ require ( golang.org/x/text v0.3.7 // indirect golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect google.golang.org/appengine v1.6.6 // indirect - google.golang.org/protobuf v1.28.0 // indirect gopkg.in/inf.v0 v0.9.0 // indirect gopkg.in/ini.v1 v1.66.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/internal/server/server.go b/internal/server/server.go new file mode 100644 index 00000000..79add485 --- /dev/null +++ b/internal/server/server.go @@ -0,0 +1,17 @@ +package server + +import ( + "context" + "gitlink.org.cn/JCCE/PCM/lan_trans/gen/idl/demo" +) + +type Server struct { + // 使用unsafe可以强制让编译器检查是否实现了相关方法 + demo.UnsafeDemoServiceServer +} + +func (s *Server) Echo(ctx context.Context, req *demo.StringMessage) (*demo.StringMessage, error) { + return &demo.StringMessage{ + Value: "Welcome to JCCE PCM", + }, nil +} diff --git a/lan_trans/buf.gen.yaml b/lan_trans/buf.gen.yaml index aa5792b1..f7778993 100644 --- a/lan_trans/buf.gen.yaml +++ b/lan_trans/buf.gen.yaml @@ -1,6 +1,16 @@ version: v1 plugins: - - name: cpp - out: gen/proto/cpp - - name: java - out: gen/proto/java \ No newline at end of file + - name: go + out: gen + opt: + - paths=source_relative + - name: go-grpc + out: gen + opt: + - paths=source_relative + - name: grpc-gateway + out: gen + opt: + - paths=source_relative + - name: openapiv2 + out: gen/openapiv2 \ No newline at end of file diff --git a/lan_trans/idl/buf.yaml b/lan_trans/buf.yaml similarity index 88% rename from lan_trans/idl/buf.yaml rename to lan_trans/buf.yaml index 1aaf4fcb..ea7eb016 100644 --- a/lan_trans/idl/buf.yaml +++ b/lan_trans/buf.yaml @@ -1,4 +1,5 @@ version: v1 +name: buf.build/JCCE/PCM breaking: use: - FILE diff --git a/lan_trans/idl/demo/demo.proto b/lan_trans/idl/demo/demo.proto index 19b132b6..e3e6b9cb 100644 --- a/lan_trans/idl/demo/demo.proto +++ b/lan_trans/idl/demo/demo.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package demo; -option go_package = "gitlink.org.cn/JCCE/PCM/lan_trans/gen/proto/demo"; +option go_package = "gitlink.org.cn/JCCE/PCM/lan_trans/gen/idl/demo"; import "google/api/annotations.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; diff --git a/main.go b/main.go new file mode 100644 index 00000000..9903fbeb --- /dev/null +++ b/main.go @@ -0,0 +1,64 @@ +package main + +import ( + "context" + "flag" + "github.com/golang/glog" + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/pkg/errors" + "gitlink.org.cn/JCCE/PCM/internal/server" + "gitlink.org.cn/JCCE/PCM/lan_trans/gen/idl/demo" + "google.golang.org/grpc" + "net" + "net/http" +) + +var ( + // command-line options: + // gRPC server endpoint + grpcServerEndpoint = flag.String("grpc-server-endpoint", ":9090", ":8081") +) + +func run() error { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + // Register gRPC server endpoint + // Note: Make sure the gRPC server is running properly and accessible + mux := runtime.NewServeMux() + opts := []grpc.DialOption{grpc.WithInsecure()} + + if err := demo.RegisterDemoServiceHandlerFromEndpoint(ctx, mux, *grpcServerEndpoint, opts); err != nil { + return errors.Wrap(err, "RegisterDemoServiceHandlerFromEndpoint error") + } + + // Start HTTP server (and proxy calls to gRPC server endpoint) + return http.ListenAndServe(":8081", mux) +} + +func main() { + var configFile string + flag.StringVar(&configFile, "conf", "config.yaml", "config.yaml") + flag.Parse() + defer glog.Flush() + + glog.Infof("load tenant from file finished") + + go func() { + lis, err := net.Listen("tcp", ":9090") + if err != nil { + glog.Fatalf("failed to listen: %v", err) + } + + s := grpc.NewServer() + demo.RegisterDemoServiceServer(s, &server.Server{}) + + if err = s.Serve(lis); err != nil { + glog.Fatalf("failed to serve: %v", err) + } + }() + + if err := run(); err != nil { + glog.Fatal(err) + } +} diff --git a/swagger.sh b/swagger.sh new file mode 100755 index 00000000..6212fa93 --- /dev/null +++ b/swagger.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# 请先保证swagger的安装,可参考 https://goswagger.io/install.html + +swagger mixin lan_trans/gen/openapiv2/idl/*/*.json -o lan_trans/gen/swagger.json + +rm -rf lan_trans/gen/openapiv2 + +# 将机器的sshkey保存到公有云机器121.41.88.120上 +#scp -P 22 gen/swagger.json root@121.41.88.120:/root/doc + +# 服务端运行的docker +# docker run --name swagger -d --rm -p 80:80 -v /root/doc:/usr/share/nginx/html/swagger -e SPEC_URL=swagger/swagger.json redocly/redoc