This is an automated email from the ASF dual-hosted git repository.

chenjunxu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git


The following commit(s) were added to refs/heads/master by this push:
     new cc9eb35  chore: adjust directory structure of api (#1108)
cc9eb35 is described below

commit cc9eb35db608142996fbba14c216181048182a1d
Author: kv <gxt...@163.com>
AuthorDate: Fri Dec 25 22:15:09 2020 +0800

    chore: adjust directory structure of api (#1108)
    
    chore: adjust directory structure of api
---
 .github/workflows/backend-unit-test.yml            |  2 +-
 .github/workflows/frontend-e2e-test.yml            |  2 +-
 Dockerfile                                         |  2 +-
 Makefile                                           |  2 +-
 api/README.md                                      | 23 ++++++++++++++++++++++
 api/build.sh                                       |  2 +-
 api/{ => cmd/manager}/main.go                      |  0
 api/cmd/managerapi.go                              | 10 ++++------
 api/{ => internal}/conf/conf.go                    |  0
 api/internal/core/entity/format.go                 |  2 +-
 api/internal/core/storage/etcd.go                  |  4 ++--
 api/internal/core/store/query.go                   |  2 +-
 api/internal/core/store/store.go                   |  2 +-
 api/internal/core/store/storehub.go                |  2 +-
 api/internal/core/store/validate.go                |  4 ++--
 api/{ => internal}/filter/authentication.go        |  5 ++---
 api/{ => internal}/filter/cors.go                  |  0
 api/{ => internal}/filter/logging.go               |  0
 api/{ => internal}/filter/logging_test.go          |  2 +-
 api/{ => internal}/filter/recover.go               |  2 +-
 api/{ => internal}/filter/request_id.go            |  0
 api/{ => internal}/filter/schema.go                |  2 +-
 .../handler/authentication/authentication.go       |  2 +-
 api/internal/handler/plugin/plugin.go              |  2 +-
 api/internal/handler/route/route.go                |  7 +++----
 api/internal/handler/route/route_test.go           |  2 +-
 api/internal/handler/service/service_test.go       |  2 +-
 api/internal/handler/ssl/ssl.go                    |  2 +-
 api/internal/handler/ssl/ssl_test.go               |  2 +-
 api/internal/handler/upstream/upstream_test.go     |  2 +-
 api/{ => internal}/log/log.go                      |  0
 api/{ => internal}/log/zap.go                      |  2 +-
 api/internal/route.go                              |  6 +++---
 api/test/docker/Dockerfile                         |  2 +-
 api/test/shell/cli_test.sh                         |  2 +-
 35 files changed, 61 insertions(+), 42 deletions(-)

diff --git a/.github/workflows/backend-unit-test.yml 
b/.github/workflows/backend-unit-test.yml
index 202bf40..40d7dbf 100644
--- a/.github/workflows/backend-unit-test.yml
+++ b/.github/workflows/backend-unit-test.yml
@@ -51,7 +51,7 @@ jobs:
           export GO111MOUDULE=on
           export APISIX_CONF_PATH=$PWD/conf
           sed -i 's/9000/8088/' conf/conf.yaml
-          go build -o ./manager-api
+          go build -o ./manager-api ./cmd/manager
           ./manager-api > ./api.log 2>&1 &
           sleep 2
           cat ./api.log
diff --git a/.github/workflows/frontend-e2e-test.yml 
b/.github/workflows/frontend-e2e-test.yml
index acedc21..a785058 100644
--- a/.github/workflows/frontend-e2e-test.yml
+++ b/.github/workflows/frontend-e2e-test.yml
@@ -41,7 +41,7 @@ jobs:
 
       - name: Start manager-api
         working-directory: ./api
-        run: nohup go run . &
+        run: nohup go run ./cmd/manager &
 
       - name: Install front-end dependencies
         run: yarn install
diff --git a/Dockerfile b/Dockerfile
index fedbc88..c9e3dde 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -45,7 +45,7 @@ RUN wget 
https://github.com/api7/dag-to-lua/archive/v1.1.tar.gz -O /tmp/v1.1.tar
 RUN if [ "$ENABLE_PROXY" = "true" ] ; then go env -w 
GOPROXY=https://goproxy.io,direct ; fi
 
 RUN go env -w GO111MODULE=on \
-    && CGO_ENABLED=0 go build -o ../output/manager-api .
+    && CGO_ENABLED=0 go build -o ../output/manager-api ./cmd/manager
 
 FROM node:14-alpine as fe-builder
 
diff --git a/Makefile b/Makefile
index 6877b98..f8f1fc4 100644
--- a/Makefile
+++ b/Makefile
@@ -64,7 +64,7 @@ api-test: api-default
 ### api-run:           Run the manager-api
 .PHONY: api-run
 api-run: api-default
-       cd api/ && go run .
+       cd api/ && go run ./cmd/manager
 
 ### api-stop:          Stop the manager-api
 api-stop:
diff --git a/api/README.md b/api/README.md
index eab5c40..5fcf1f8 100644
--- a/api/README.md
+++ b/api/README.md
@@ -24,3 +24,26 @@ This is a backend project which the dashboard depends on, 
implemented by Golang.
 ## Installation
 
 [Please refer to the doc](../README.md)
+
+## Project structure
+
+```text
+├── README.md
+├── VERSION
+├── build-tools
+├── build.sh
+├── cmd
+├── conf
+├── entry.sh
+├── go.mod
+├── go.sum
+├── internal
+├── run.sh
+└── test
+```
+
+1. The `cmd` directory is the project entrance.
+2. The `internal` directory contains the main logic of manager-api.
+3. The `conf` directory contains the default configuration file.
+4. The `test` directory contains E2E test cases.
+
diff --git a/api/build.sh b/api/build.sh
index 952a1fb..972177a 100755
--- a/api/build.sh
+++ b/api/build.sh
@@ -31,7 +31,7 @@ if [[ ! -f "dag-to-lua-1.1/lib/dag-to-lua.lua" ]]; then
 fi
 
 # build
-cd ./api && go build -o ../output/manager-api -ldflags "-X 
github.com/apisix/manager-api/cmd.Version=${VERSION}" . && cd ..
+cd ./api && go build -o ../output/manager-api -ldflags "-X 
github.com/apisix/manager-api/cmd.Version=${VERSION}" ./cmd/manager && cd ..
 
 cp ./api/conf/schema.json ./output/conf/schema.json
 cp ./api/conf/conf.yaml ./output/conf/conf.yaml
diff --git a/api/main.go b/api/cmd/manager/main.go
similarity index 100%
rename from api/main.go
rename to api/cmd/manager/main.go
diff --git a/api/cmd/managerapi.go b/api/cmd/managerapi.go
index bf79e4f..23cad0d 100644
--- a/api/cmd/managerapi.go
+++ b/api/cmd/managerapi.go
@@ -25,16 +25,15 @@ import (
        "syscall"
        "time"
 
-       "github.com/shiningrush/droplet"
-       "github.com/spf13/cobra"
-
-       "github.com/apisix/manager-api/conf"
        "github.com/apisix/manager-api/internal"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/core/storage"
        "github.com/apisix/manager-api/internal/core/store"
        "github.com/apisix/manager-api/internal/handler"
+       "github.com/apisix/manager-api/internal/log"
        "github.com/apisix/manager-api/internal/utils"
-       "github.com/apisix/manager-api/log"
+       "github.com/shiningrush/droplet"
+       "github.com/spf13/cobra"
 )
 
 var Version string
@@ -47,7 +46,6 @@ func printInfo() {
        fmt.Fprintf(os.Stdout, "%-8s: %s\n\n", "Logfile", conf.ErrorLogPath)
 }
 
-
 // NewManagerAPICommand creates the manager-api command.
 func NewManagerAPICommand() *cobra.Command {
        cmd := &cobra.Command{
diff --git a/api/conf/conf.go b/api/internal/conf/conf.go
similarity index 100%
rename from api/conf/conf.go
rename to api/internal/conf/conf.go
diff --git a/api/internal/core/entity/format.go 
b/api/internal/core/entity/format.go
index 4953b3a..d92bb40 100644
--- a/api/internal/core/entity/format.go
+++ b/api/internal/core/entity/format.go
@@ -20,7 +20,7 @@ import (
        "net"
        "strconv"
 
-       "github.com/apisix/manager-api/log"
+       "github.com/apisix/manager-api/internal/log"
 )
 
 func mapKV2Node(key string, val float64) (*Node, error) {
diff --git a/api/internal/core/storage/etcd.go 
b/api/internal/core/storage/etcd.go
index e73bf00..fb879b3 100644
--- a/api/internal/core/storage/etcd.go
+++ b/api/internal/core/storage/etcd.go
@@ -23,9 +23,9 @@ import (
 
        "go.etcd.io/etcd/clientv3"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
+       "github.com/apisix/manager-api/internal/log"
        "github.com/apisix/manager-api/internal/utils"
-       "github.com/apisix/manager-api/log"
 )
 
 var (
diff --git a/api/internal/core/store/query.go b/api/internal/core/store/query.go
index 20036d0..e4c27c1 100644
--- a/api/internal/core/store/query.go
+++ b/api/internal/core/store/query.go
@@ -16,7 +16,7 @@ package store
 
 import (
        "github.com/apisix/manager-api/internal/core/entity"
-       "github.com/apisix/manager-api/log"
+       "github.com/apisix/manager-api/internal/log"
 )
 
 type Query struct {
diff --git a/api/internal/core/store/store.go b/api/internal/core/store/store.go
index 435f3a1..bf00dcd 100644
--- a/api/internal/core/store/store.go
+++ b/api/internal/core/store/store.go
@@ -30,8 +30,8 @@ import (
 
        "github.com/apisix/manager-api/internal/core/entity"
        "github.com/apisix/manager-api/internal/core/storage"
+       "github.com/apisix/manager-api/internal/log"
        "github.com/apisix/manager-api/internal/utils"
-       "github.com/apisix/manager-api/log"
 )
 
 type Interface interface {
diff --git a/api/internal/core/store/storehub.go 
b/api/internal/core/store/storehub.go
index e9c54ce..fe61953 100644
--- a/api/internal/core/store/storehub.go
+++ b/api/internal/core/store/storehub.go
@@ -21,8 +21,8 @@ import (
        "reflect"
 
        "github.com/apisix/manager-api/internal/core/entity"
+       "github.com/apisix/manager-api/internal/log"
        "github.com/apisix/manager-api/internal/utils"
-       "github.com/apisix/manager-api/log"
 )
 
 type HubKey string
diff --git a/api/internal/core/store/validate.go 
b/api/internal/core/store/validate.go
index f2088bd..493c169 100644
--- a/api/internal/core/store/validate.go
+++ b/api/internal/core/store/validate.go
@@ -25,9 +25,9 @@ import (
        "github.com/xeipuuv/gojsonschema"
        "go.uber.org/zap/buffer"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/core/entity"
-       "github.com/apisix/manager-api/log"
+       "github.com/apisix/manager-api/internal/log"
 )
 
 type Validator interface {
diff --git a/api/filter/authentication.go 
b/api/internal/filter/authentication.go
similarity index 96%
rename from api/filter/authentication.go
rename to api/internal/filter/authentication.go
index fd7c703..142015f 100644
--- a/api/filter/authentication.go
+++ b/api/internal/filter/authentication.go
@@ -22,9 +22,8 @@ import (
 
        "github.com/dgrijalva/jwt-go"
        "github.com/gin-gonic/gin"
-
-       "github.com/apisix/manager-api/conf"
-       "github.com/apisix/manager-api/log"
+       "github.com/apisix/manager-api/internal/conf"
+       "github.com/apisix/manager-api/internal/log"
 )
 
 func Authentication() gin.HandlerFunc {
diff --git a/api/filter/cors.go b/api/internal/filter/cors.go
similarity index 100%
rename from api/filter/cors.go
rename to api/internal/filter/cors.go
diff --git a/api/filter/logging.go b/api/internal/filter/logging.go
similarity index 100%
rename from api/filter/logging.go
rename to api/internal/filter/logging.go
diff --git a/api/filter/logging_test.go b/api/internal/filter/logging_test.go
similarity index 96%
rename from api/filter/logging_test.go
rename to api/internal/filter/logging_test.go
index 688befa..37c4cd3 100644
--- a/api/filter/logging_test.go
+++ b/api/internal/filter/logging_test.go
@@ -24,7 +24,7 @@ import (
        "github.com/gin-gonic/gin"
        "github.com/stretchr/testify/assert"
 
-       "github.com/apisix/manager-api/log"
+       "github.com/apisix/manager-api/internal/log"
 )
 
 func performRequest(r http.Handler, method, path string) 
*httptest.ResponseRecorder {
diff --git a/api/filter/recover.go b/api/internal/filter/recover.go
similarity index 98%
rename from api/filter/recover.go
rename to api/internal/filter/recover.go
index 77e44a3..9228e57 100644
--- a/api/filter/recover.go
+++ b/api/internal/filter/recover.go
@@ -24,8 +24,8 @@ import (
        "runtime"
        "time"
 
-       "github.com/apisix/manager-api/log"
        "github.com/gin-gonic/gin"
+       "github.com/apisix/manager-api/internal/log"
 )
 
 var (
diff --git a/api/filter/request_id.go b/api/internal/filter/request_id.go
similarity index 100%
rename from api/filter/request_id.go
rename to api/internal/filter/request_id.go
diff --git a/api/filter/schema.go b/api/internal/filter/schema.go
similarity index 99%
rename from api/filter/schema.go
rename to api/internal/filter/schema.go
index 687b21a..a2a99ee 100644
--- a/api/filter/schema.go
+++ b/api/internal/filter/schema.go
@@ -32,8 +32,8 @@ import (
 
        "github.com/apisix/manager-api/internal/core/entity"
        "github.com/apisix/manager-api/internal/core/store"
+       "github.com/apisix/manager-api/internal/log"
        "github.com/apisix/manager-api/internal/utils/consts"
-       "github.com/apisix/manager-api/log"
 )
 
 var resources = map[string]string{
diff --git a/api/internal/handler/authentication/authentication.go 
b/api/internal/handler/authentication/authentication.go
index c6acb42..523277f 100644
--- a/api/internal/handler/authentication/authentication.go
+++ b/api/internal/handler/authentication/authentication.go
@@ -27,7 +27,7 @@ import (
        "github.com/shiningrush/droplet/wrapper"
        wgin "github.com/shiningrush/droplet/wrapper/gin"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/handler"
 )
 
diff --git a/api/internal/handler/plugin/plugin.go 
b/api/internal/handler/plugin/plugin.go
index b2aaeeb..5703ede 100644
--- a/api/internal/handler/plugin/plugin.go
+++ b/api/internal/handler/plugin/plugin.go
@@ -24,7 +24,7 @@ import (
        "github.com/shiningrush/droplet/wrapper"
        wgin "github.com/shiningrush/droplet/wrapper/gin"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/handler"
 )
 
diff --git a/api/internal/handler/route/route.go 
b/api/internal/handler/route/route.go
index 54b9583..275ab1e 100644
--- a/api/internal/handler/route/route.go
+++ b/api/internal/handler/route/route.go
@@ -29,16 +29,15 @@ import (
        "github.com/shiningrush/droplet"
        "github.com/shiningrush/droplet/data"
        "github.com/shiningrush/droplet/wrapper"
-       wgin "github.com/shiningrush/droplet/wrapper/gin"
        "github.com/yuin/gopher-lua"
-
-       "github.com/apisix/manager-api/conf"
+       wgin "github.com/shiningrush/droplet/wrapper/gin"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/core/entity"
        "github.com/apisix/manager-api/internal/core/store"
        "github.com/apisix/manager-api/internal/handler"
+       "github.com/apisix/manager-api/internal/log"
        "github.com/apisix/manager-api/internal/utils"
        "github.com/apisix/manager-api/internal/utils/consts"
-       "github.com/apisix/manager-api/log"
 )
 
 type Handler struct {
diff --git a/api/internal/handler/route/route_test.go 
b/api/internal/handler/route/route_test.go
index 39214b9..0fd67c6 100644
--- a/api/internal/handler/route/route_test.go
+++ b/api/internal/handler/route/route_test.go
@@ -27,7 +27,7 @@ import (
        "github.com/shiningrush/droplet/data"
        "github.com/stretchr/testify/assert"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/core/entity"
        "github.com/apisix/manager-api/internal/core/storage"
        "github.com/apisix/manager-api/internal/core/store"
diff --git a/api/internal/handler/service/service_test.go 
b/api/internal/handler/service/service_test.go
index 81a56fe..d7be7b8 100644
--- a/api/internal/handler/service/service_test.go
+++ b/api/internal/handler/service/service_test.go
@@ -25,7 +25,7 @@ import (
        "github.com/shiningrush/droplet"
        "github.com/stretchr/testify/assert"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/core/entity"
        "github.com/apisix/manager-api/internal/core/storage"
        "github.com/apisix/manager-api/internal/core/store"
diff --git a/api/internal/handler/ssl/ssl.go b/api/internal/handler/ssl/ssl.go
index 36d8efa..28408cc 100644
--- a/api/internal/handler/ssl/ssl.go
+++ b/api/internal/handler/ssl/ssl.go
@@ -33,7 +33,7 @@ import (
        "github.com/shiningrush/droplet/wrapper"
        wgin "github.com/shiningrush/droplet/wrapper/gin"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/core/entity"
        "github.com/apisix/manager-api/internal/core/store"
        "github.com/apisix/manager-api/internal/handler"
diff --git a/api/internal/handler/ssl/ssl_test.go 
b/api/internal/handler/ssl/ssl_test.go
index 4a52032..057d7ed 100644
--- a/api/internal/handler/ssl/ssl_test.go
+++ b/api/internal/handler/ssl/ssl_test.go
@@ -25,7 +25,7 @@ import (
        "github.com/shiningrush/droplet"
        "github.com/stretchr/testify/assert"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/core/entity"
        "github.com/apisix/manager-api/internal/core/storage"
        "github.com/apisix/manager-api/internal/core/store"
diff --git a/api/internal/handler/upstream/upstream_test.go 
b/api/internal/handler/upstream/upstream_test.go
index 03f4fe0..e72b14f 100644
--- a/api/internal/handler/upstream/upstream_test.go
+++ b/api/internal/handler/upstream/upstream_test.go
@@ -25,7 +25,7 @@ import (
        "github.com/shiningrush/droplet"
        "github.com/stretchr/testify/assert"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
        "github.com/apisix/manager-api/internal/core/entity"
        "github.com/apisix/manager-api/internal/core/storage"
        "github.com/apisix/manager-api/internal/core/store"
diff --git a/api/log/log.go b/api/internal/log/log.go
similarity index 100%
rename from api/log/log.go
rename to api/internal/log/log.go
diff --git a/api/log/zap.go b/api/internal/log/zap.go
similarity index 98%
rename from api/log/zap.go
rename to api/internal/log/zap.go
index cd36b53..d0d6720 100644
--- a/api/log/zap.go
+++ b/api/internal/log/zap.go
@@ -22,7 +22,7 @@ import (
        "go.uber.org/zap"
        "go.uber.org/zap/zapcore"
 
-       "github.com/apisix/manager-api/conf"
+       "github.com/apisix/manager-api/internal/conf"
 )
 
 var logger *zap.SugaredLogger
diff --git a/api/internal/route.go b/api/internal/route.go
index 3e38ea1..f36e819 100644
--- a/api/internal/route.go
+++ b/api/internal/route.go
@@ -26,8 +26,8 @@ import (
        "github.com/gin-contrib/static"
        "github.com/gin-gonic/gin"
 
-       "github.com/apisix/manager-api/conf"
-       "github.com/apisix/manager-api/filter"
+       "github.com/apisix/manager-api/internal/conf"
+       "github.com/apisix/manager-api/internal/filter"
        "github.com/apisix/manager-api/internal/handler"
        "github.com/apisix/manager-api/internal/handler/authentication"
        "github.com/apisix/manager-api/internal/handler/consumer"
@@ -40,7 +40,7 @@ import (
        "github.com/apisix/manager-api/internal/handler/service"
        "github.com/apisix/manager-api/internal/handler/ssl"
        "github.com/apisix/manager-api/internal/handler/upstream"
-       "github.com/apisix/manager-api/log"
+       "github.com/apisix/manager-api/internal/log"
 )
 
 func SetUpRouter() *gin.Engine {
diff --git a/api/test/docker/Dockerfile b/api/test/docker/Dockerfile
index ca96799..216aa53 100644
--- a/api/test/docker/Dockerfile
+++ b/api/test/docker/Dockerfile
@@ -25,7 +25,7 @@ RUN mkdir -p /go/manager-api/conf \
     && mkdir -p /go/manager-api/build-tools \
     && go env -w GOPROXY=https://goproxy.io,direct \
     && export GOPROXY=https://goproxy.io \
-    && go build -o /go/manager-api/manager-api \
+    && go build -o /go/manager-api/manager-api ./cmd/manager \
     && mv /go/src/github.com/apisix/manager-api/entry.sh /go/manager-api/ \
     && mv /go/src/github.com/apisix/manager-api/build-tools/* 
/go/manager-api/build-tools/ \
     && mv /go/src/github.com/apisix/manager-api/conf/conf.yaml 
/go/manager-api/conf/conf.yaml \
diff --git a/api/test/shell/cli_test.sh b/api/test/shell/cli_test.sh
index ec77628..60efafc 100755
--- a/api/test/shell/cli_test.sh
+++ b/api/test/shell/cli_test.sh
@@ -40,7 +40,7 @@ clean_logfile() {
 trap clean_up EXIT
 
 export GO111MODULE=on
-go build -o ./manager-api -ldflags "-X 
github.com/apisix/manager-api/cmd.Version=${VERSION}" .
+go build -o ./manager-api -ldflags "-X 
github.com/apisix/manager-api/cmd.Version=${VERSION}" ./cmd/manager
 
 # default level: warn, path: logs/error.log
 

Reply via email to