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 <[email protected]>
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