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