Giter VIP home page Giter VIP logo

apisix-dashboard's Introduction

Apache APISIX Dashboard

License Go Report Card DockerHub Cypress.io Slack

WebsiteDocsTwitter

  • The master version should be used with Apache APISIX master version.

  • The latest released version is 3.0.0 and is compatible with Apache APISIX 3.0.x.

What's Apache APISIX Dashboard

The Apache APISIX Dashboard is designed to make it as easy as possible for users to operate Apache APISIX through a frontend interface.

The Dashboard is the control plane and performs all parameter checks; Apache APISIX mixes data and control planes and will evolve to a pure data plane.

Note: Currently the Dashboard does not have complete coverage of Apache APISIX features, visit here to view the milestones.

architecture

Demo

Online Playground

Username: admin
Password: admin

Works with APISIX Ingress Controller

Currently, APISIX Ingress Controller automatically manipulates some APISIX resources, which is not very compatible with APISIX Dashboard. In addition, users should not modify resources labeled managed-by: apisix-ingress-controllers via APISIX Dashboard.

Project structure

.
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── Makefile
├── NOTICE
├── README.md
├── api
├── docs
├── licenses
└── web
  1. The api directory is used to store the Manager API source codes, which is used to manage etcd and provide APIs to the frontend interface.
  2. The web directory is used to store the frontend source codes.

Build then launch

Support the following ways currently.

Development

Pull requests are encouraged and always welcome. Pick an issue and help us out!

Please refer to the Development Guide.

User Guide

Please refer to the User Guide.

Contributing

Please refer to the Contribution Guide for a more detailed information.

FAQ

Please refer to the FAQ for more known issues.

License

Apache License 2.0

apisix-dashboard's People

Contributors

baoyuantop avatar bisakhmondal avatar bzp2010 avatar dependabot[bot] avatar fangsen9000 avatar guoqqqi avatar gxthrj avatar iamayushdas avatar idbeta avatar imjoey avatar jaycean avatar jbampton avatar juzhiyuan avatar jwrookie avatar kishanikandasamy avatar lilien1010 avatar litesun avatar liuxiran avatar moonming avatar nic-chen avatar oil-oil avatar okaybase avatar qian0817 avatar skyeyoung avatar starsz avatar stu01509 avatar tikwind avatar wmdmomo avatar yiyiyimu avatar zaunist avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apisix-dashboard's Issues

build error

[root@localhost incubator-apisix-dashboard]# node -v
v10.16.3
[root@localhost incubator-apisix-dashboard]# yarn -v
1.19.2
[root@localhost incubator-apisix-dashboard]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost incubator-apisix-dashboard]#

ERROR Failed to compile with 2 errors 9:38:30 PM

error in /Data/apisix/incubator-apisix-dashboard/src/components/HeaderSearch/index.vue

ERROR in /Data/apisix/incubator-apisix-dashboard/src/components/HeaderSearch/index.vue
76:18 Generic type 'Fuse<T, O>' requires 2 type argument(s).
74 | private options: RouteConfig[] = []
75 | private searchPool: RouteConfig[] = []

76 | private fuse?: Fuse
| ^
77 |
78 | get routes() {
79 | return PermissionModule.routes

error in /Data/apisix/incubator-apisix-dashboard/src/views/login/index.vue

ERROR in /Data/apisix/incubator-apisix-dashboard/src/views/login/index.vue
105:10 Module '"../../../node_modules/vuex/types"' has no exported member 'Dictionary'.
103 | import { Component, Vue, Watch } from 'vue-property-decorator'
104 | import { Route } from 'vue-router'

105 | import { Dictionary } from 'vuex'
| ^
106 | import { Form as ElForm, Input } from 'element-ui'
107 | import { UserModule } from '@/store/modules/user'
108 | import { isValidUsername } from '@/utils/validate'

ERROR Build failed with errors.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

dashboard Log page need to cancel the default account password

dashboard 登录页面取消默认记住的账号密码,并提供修改账号密码的操作。

目前默认是记住的账号密码,且不清楚在哪里修改账号密码。

The dashboard login page cancels the default account password and provides the operation of modifying the account password.

At present, the default is to remember the account password, and it is not clear where to modify the account password.

adjust the Add Interface of the Plugin

现在的做法是点击“添加插件”的按钮,弹出一个下拉列表来选择,这个方式交互比较复杂。
因为插件并不会很多,十来个,而且每个路由上同一个插件也只能绑定一个。
所以希望改为把所有插件都平铺开,排在前面的是用户已经选择的插件,并直接在插件名字下面显示插件的参数,点击可以进行修改。

Now the way is to click on the "Add Plug-in" button, pop up a drop-down list to select, this way of interaction is more complex.

Because there aren't many plug-ins, more than a dozen, and the same plug-in can only be bound to one plug-in per route.

So I hope to spread out all the plug-ins. The top one is the plug-ins that the user has chosen, and display the parameters of the plug-ins directly under the name of the plug-ins. Click to modify them.

route: 无法显示 route 列表页

image

应答体:

{"node":{"nodes":[{"value":{"host":"host","plugins":{},"uri":"/hello","upstream_id":"2","service_id":"00000000000000041874","desc":"","remote_addr":"127.0.0.1"},"createdIndex":41875,"key":"/apisix/routes/00000000000000041875","modifiedIndex":41875},{"value":{"uri":"/{:.*}","upstream_id":2},"createdIndex":41838,"key":"/apisix/routes/2","modifiedIndex":41838}],"modifiedIndex":41837,"createdIndex":41837,"key":"/apisix/routes","dir":true},"action":"get"}

Fix typo

"请选择" -> "请输入后回车"

bug: should keep the original input information

创建 route 的时候,因为缺少 service ,然后我去新建 service ,创建好后页面切回来发现之前创建 route 的页面内容全部没了。最好保留一下用户之前已经录入的信息。

image

UI design: create new route

English version:

  1. allow to select the filter
  2. allow to delete existing conditions
  3. the option host, remote address, and method, the user is allowed to enter multiple different values, use space as separator
  4. necessary conditions: uri and service, others are optional

Chinese version:

  1. 用户选择需要添加的过滤条件
  2. 也可以对已有条件删除
  3. 在 host、remote_addr 和 methods 选项中,均允许用户输入多个不同的值,空格分割
  4. 必要条件:uri 和 服务,其他均为可选

bug: Can't load plugin info from API

Plugin

serverless-pre-function, serverless-post-function

Request

http://apisix.iresty.com/apisix/admin/schema/plugins/serverless-pre-function

Screenshot

image

image

bug: SSL certs key content should be kept secret in dashboard

Issue description

Environment

  • apisix version (cmd: apisix version): 0.9
  • OS: alpine 3.7

Minimal test code / Steps to reproduce the issue

What's the actual result? (including assertion message & call stack if applicable)

What's the expected result?

11576646267_ pic

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.