Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apache/dubbo-admin
The ops and reference implementation for Apache Dubbo
https://github.com/apache/dubbo-admin
dubbo
Last synced: 27 days ago
JSON representation
The ops and reference implementation for Apache Dubbo
- Host: GitHub
- URL: https://github.com/apache/dubbo-admin
- Owner: apache
- License: apache-2.0
- Created: 2018-01-11T05:30:17.000Z (almost 7 years ago)
- Default Branch: develop
- Last Pushed: 2024-08-16T22:34:05.000Z (3 months ago)
- Last Synced: 2024-10-02T05:41:20.092Z (about 1 month ago)
- Topics: dubbo
- Language: Java
- Homepage: https://dubbo.apache.org
- Size: 13.6 MB
- Stars: 3,987
- Watchers: 230
- Forks: 2,166
- Open Issues: 249
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dubbo Admin
[![Build](https://github.com/apache/dubbo-admin/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/dubbo-admin/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/apache/dubbo-admin/branch/develop/graph/badge.svg)](https://codecov.io/gh/apache/dubbo-admin/branches/develop)
![license](https://img.shields.io/github/license/apache/dubbo-admin.svg)
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/apache/dubbo-admin.svg)](http://isitmaintained.com/project/apache/dubbo-admin "Average time to resolve an issue")
[![Percentage of issues still open](http://isitmaintained.com/badge/open/apache/dubbo-admin.svg)](http://isitmaintained.com/project/apache/dubbo-admin "Percentage of issues still open")Dubbo Admin is the console designed for better visualization of Dubbo services, it provides support for Dubbo3 and is compatible with 2.7.x, 2.6.x and 2.5.x.
![index](https://raw.githubusercontent.com/apache/dubbo-admin/develop/doc/images/index.png)
There are four ways to deploy Dubbo Admin to a production environment.
1. [Compile from source](#11-compile-from-source)
2. [Run with Docker](#12-run-with-docker)
3. [Run with Kubernetes](#13-run-with-kubernetes)
4. [Run with Helm](#14-run-with-helm)Choose either method based on your environment, where Helm is the recommended installation method because Helm can be installed with a single click and automatically helps manage all of Admin's required production environment dependencies.
## 1.1 Compile from source
1. Download code: `git clone https://github.com/apache/dubbo-admin.git`
2. Change `dubbo-admin-server/src/main/resources/application.properties` configuration to make Admin points to the designated registries, etc.
3. Build
- `mvn clean package -Dmaven.test.skip=true`
4. Start
* `mvn --projects dubbo-admin-server spring-boot:run`
or
* `cd dubbo-admin-distribution/target; java -jar dubbo-admin-${project.version}.jar`
5. Visit `http://localhost:38080`, default username and password are `root`> **Security Notice: Please remember to change the `admin.check.signSecret`, `admin.root.user.name` and `admin.root.user.password` value before you deploy to production environment.**
## 1.2 Run with Docker
> **Note: This method only supports running under linux system. Docker support for windows and mac systems will be released soon!**
Dubbo-Admin image is hosted at: https://hub.docker.com/repository/docker/apache/dubbo-admin.
You can run the image directly by mounting a volume from the host that contains an `application.properties` file with the accessible registry and config-center addresses specified.
```shell
$ docker run -itd --net=host --name dubbo-admin -v /dubbo/dubbo-admin/properties:/config apache/dubbo-admin
```> Replace `/dubbo/dubbo-admin/properties` with the actual host path (must be an absolute path) that points to a directory containing `application.properties`.
The `application.properties` configuration file is as follows (taking the `zookeeper` registration center as an example):
```properties
admin.registry.address=zookeeper://127.0.0.1:2181
admin.config-center=zookeeper://127.0.0.1:2181
admin.root.user.name=root
admin.root.user.password=root
admin.check.signSecret=86295dd0c4ef69a1036b0b0c15158d77
```> **Security Notice: Please remember to change the `admin.check.signSecret`, `admin.root.user.name` and `admin.root.user.password` value before you deploy to production environment.**
Open web browser and visit `http://localhost:38080`, default username and password are `root`.
## 1.3 Run with Kubernetes
**1. Download Kubernetes manifests**
```sh
$ git clone https://github.com/apache/dubbo-admin.git
```Switch to the 'dubbo-admin/kubernetes/dubbo-admin' directory to see the Admin kubernetes resource file
```sh
$ cd dubbo-admin/kubernetes/dubbo-admin
```**2. Install Dubbo Admin**
Open `configmap.yaml` and modify accordingly to override configurations in [application.properties](./dubbo-admin-server/src/main/resources/application.properties).
> **Security Notice: Please remember to change the `admin.check.signSecret`, `admin.root.user.name` and `admin.root.user.password` value before you deploy to production environment.**
Run the following command:
```sh
$ kubectl apply -f ./
```**3. Visit Admin**
```sh
$ kubectl port-forward service dubbo-admin 38080:38080
```Visit `http://localhost:38080`
## 1.4 Helm with Admin
There are two ways to run Admin through Help. They have the same effect, so you can choose any of the following.**1. Download chart source file**
clone Dubbo Admin project storehouse:
```sh
$ git clone https://github.com/apache/dubbo-admin.git
```Switch from the warehouse root directory to the following directory `deploy/charts/dubbo-admin`
```sh
$ cd dubbo-admin/charts/dubbo-admin
```
**2. Install helm chart**Start parameters of Admin so that Admin can connect to the real production environment registry or configuration center. You can specify a custom configuration file through the following `-f` help parameter:
```yaml
properties:
admin.registry.address: zookeeper://zookeeper:2181
admin.config-center: zookeeper://zookeeper:2181
admin.metadata-report.address: zookeeper://zookeeper:2181
admin.root.user.name: root
admin.root.user.password: root
admin.check.signSecret: 86295dd0c4ef69a1036b0b0c15158d77
```> **Security Notice: Please remember to change the `admin.check.signSecret`, `admin.root.user.name` and `admin.root.user.password` value before you deploy to production environment.**
```sh
$ helm install dubbo-admin -f values.yaml .
````properties` in `values.yml` will override those defaults in Admin [application.properties](./dubbo-admin-server/src/main/resources/application.properties), In addition to 'properties', you can also customize other properties defined by Admin chart, check here for [Complete parameters](./charts/helm/dubbo-admin/values.yaml)。
**3. Visit Admin**
Visit http://127.0.0.1:38080
# 2. Want To Contribute
Below contains the description of the project structure for developers who want to contribute to make Dubbo Admin better.
## 2.1 Admin UI
- [Vue.js](https://vuejs.org) and [Vue Cli](https://cli.vuejs.org/)
- [dubbo-admin-ui/README.md](dubbo-admin-ui/README.md) for more detail
- Set npm **proxy mirror
Below contains the description of the project structure for developers who want to contribute to make Dubbo Admin better.## 2.1 Admin UI
- [Vue.js](https://vuejs.org) and [Vue Cli](https://cli.vuejs.org/)
- [dubbo-admin-ui/README.md](dubbo-admin-ui/README.md) for more detail
- Set npm **proxy mirror**:If you have network issue, you can set npm proxy mirror to speedup npm install:
add `registry=https://registry.npmmirror.com` to ~/.npmrc
## 2.2 Admin Server
* Standard spring boot project
* [configurations in application.properties](https://github.com/apache/dubbo-admin/wiki/Dubbo-Admin-configuration)## 2.3 Setting up a local developing environment
* Run admin server projectbackend is a standard spring boot project, you can run it in any java IDE
* Run admin ui project
at directory `dubbo-admin-ui`, run with `npm run dev`.
* visit web page
visit `http://localhost:38082`, frontend supports hot reload.
# 3 License
Apache Dubbo admin is under the Apache 2.0 license, Version 2.0.
See [LICENSE](https://github.com/apache/dubbo-admin/blob/develop/LICENSE) for full license text.