Giter VIP home page Giter VIP logo

spring-cloud-config-admin's Introduction

spring-cloud-config-admin(简称:SCCA)

Build Status Release Version Maven Central License

在Spring Cloud的微服务架构方案中虽然提供了Spring Cloud Config来担任配置中心的角色,但是该项目的功能在配置的管理层面还是非常欠缺的。初期我们可以依赖选取的配置存储系统(比如:Gitlab、Github)给我们提供的配置管理界面来操作所有的配置信息,但是这样的管理还是非常粗粒度的,因此这个项目的目的就是解决这个问题,希望提供一套基于Spring Cloud Config配置中心的可视化管理系统。

项目地址

架构

本项目采用了前后端分离的架构,通过core模块抽象了前端需要的操作,再通过persistence和discovery模块隔离不同的配置仓库和不同的服务注册中心,从而达到前端程序不需要关心到底使用了什么存储配置以及使用了什么注册中心,这样用户可以根据自己的需要自由的组合不同的配置存储和服务治理机制,尽可能的匹配大部分Spring Cloud用户的需求。

特性

1.0.0

  • 灵活易用的配置管理界面
  • 具备对Spring Cloud Config基本元素以及为方便管理增加的管理元素的维护功能,包括:多环境管理、环境特有参数的维护、加密参数维护、项目维护、配置的多版本等
  • 便捷常用操作,包括:加密解密功能、批量替换环境参数、批量加密等
  • 支持多种配置编辑模式:列表格式、YAML格式、PROPERTIES格式
  • 适配目前已经在使用Spring Cloud Config的用户(支持DB和Git存储)
  • 模块可分离部署,支持多种不同场景的用户使用
  • 兼容所有Spring Cloud支持的服务发现机制

1.1.0

  • 架构调整
    • 增加配置中心的plugin模块,对外提供存储的更多控制能力
    • DB存储的配置中心不需要与管理端的DB用同一个数据库了,可以独立部署
  • 增加用户管理、用户登录功能
  • Git存储优化:yaml和properties同时支持
  • 支持配置中心增加用户名/密码访问控制的优化

1.2.0(开发中)

欢迎提交ISSUE提出您的想法,我们会综合考虑纳入该版本的开发清单中!

文档

关于本项目的详细使用方法以及各版本的迭代内容可查看下面的内容:

贡献

spring-cloud-config-admin's People

Contributors

anoyix avatar blackcherrypassword avatar dyc87112 avatar innerpeacez avatar stone-jin avatar yingw 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  avatar  avatar  avatar  avatar

spring-cloud-config-admin's Issues

用户登录与登录检查

【后端部分】

  1. 提供登录接口、登出接口
  2. 各功能性接口的登录检查(未登录的返回登录页面

【前端部分】

  1. 登录页对接登录接口
  2. 功能页面右上显示用户信息和登出操作

配置编辑页面,一键替换和替换功能问题

image

目前实现的逻辑有一点小问题,点击左侧没有的key的替换按钮,或者一键替换按钮的时候,会把右侧有但是左侧没有的key也加入进去。

正确逻辑应该是拿右侧的key去左侧找,只有在左侧有的才做替换。

配置页面,加密按钮调用接口,返回失败

调用接口/xhr/property/encrypt?envId=1&value=111
然后返回:
{"code":200,"data":"{"timestamp":1530630775718,"status":500,"error":"Internal Server Error","exception":"java.lang.IllegalArgumentException","message":"Unable to initialize due to invalid secret key","path":"//scca-config-server/encrypt"}","message":null,"timestamp":1530630775719}

项目编辑的时候,新增Label报错

image

后端信息如下:projectId没有传

2018-07-04 09:48:20.219 WARN 63518 --- [io-10032-exec-7] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.web.bind.MissingServletRequestParameterException: Required Long parameter 'projectId' is not present

用户管理:创建用户、修改用户、删除用户、重置密码

【后端部分】

  1. User实体:账户、密码(md5加密)、昵称
  2. User实体的增删改查接口、重置密码接口
  3. 默认提供管理员账户:admin/spring4all

【前端部分】

  1. “用户管理”功能菜单的实现,表格形式显示所有User实体,可以新增、删除、修改、重置密码

环境配置的描述优化

具体见下图描述:

image

包括:新增和编辑的页面中的描述。

同时,在新增和编辑页面下方增加说明信息

image

具体说明文案如下:

配置说明:

  1. 当配置中心没有纳入eureka、consul等注册中心管理的话,"注册中心地址"留空,"配置中心服务名或绝对地址"中填配置中心的具体访问地址,比如:http://config.xxx.com/
  2. 如果配置中心配置了访问前缀,即:spring.cloud.config.server.prefix参数值,那么在“配置中心访问前缀”中也做一样的配置,不然留空即可

[配置管理]界面中“配置中心获取”的意义?

[配置管理]界面中“配置中心获取”的链接点击进去之后会查询出当前项目对应版本的配置信息,既然存在“当前存储配置详情”,那“配置中心获取”链接的意义是什么呢?是因为“当前存储配置详情”会被编辑,而只读的“配置中心获取”功能可以参考对比吗?@stone-jin

菜单分类和描述调整

Dashboard

系统配置

-- 环境管理
-- 环境参数管理
-- 加密管理

配置中心

-- 项目管理
-- 配置管理

这个8888端口的请求我没有配置,却有打印啊。

2018-07-29 23:09:01.251  INFO 4549 --- [           main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at: http://localhost:8888
2018-07-29 23:09:01.414  WARN 4549 --- [           main] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: I/O error on GET request for "http://localhost:8888/config-server-git-rest/default": Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused)

配置中心获取配置信息的功能没有展现具体获取的到内容

现象如下图:

image

展示方式要改一下,由于Data里面是个数组,每个元素有两个内容name和source,name是这个配置的名称,source是具体配置的key,value值。由于可能有多个这样的元素,所以这样展现:

data[0].name

key value
a.b.c 1.2.3

data[1].name

key value
a.b.c 1.2.3

表格中的内容为data[i].source中的key,value值

wow

贼6 期待~

用户操作审计

【后端部分】

  1. 新增两个日志表:登录/登出日志 -- 东哥、功能操作日志 -- DD
  2. 登录/登出操作的时候记录到登录登出日志表 -- 东哥
  3. 每个功能操作时候记录到功能操作日志表 -- DD
  4. 提供登录/登出日志的分页查询接口(按记录时间降序)-- 东哥
  5. 提供功能操作日志的分页查询接口(按记录时间降序)-- DD

【前端部分】

  1. dashboard中展现最近n条,功能操作日志,提供更多按钮,跳转到“用户审计”菜单中的功能操作查询页面
  2. 新增“用户审计”菜单功能,提供两个功能标签,一个是功能操作查询,一个是登录/登出查询

备注:这部分数据将来可能会多,所以必须要服务端分页,不能跟之前功能那样完全依靠客户端分页了。

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.