配置管理

客户端API接口

拉取配置

客户端通过拉取配置接口获取最新的配置文件。version 字段为客户端内存里配置文件的版本号,刚启动时设置为0.

请求示例:

  1. GET /config/v1/GetConfigFile
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
参数名类型描述是否必填
namespacestring命名空间
groupstring配置文件分组
fileNamestring配置文件名
versionint配置文件客户端版本号,刚启动时设置为 0

应答示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFile": {
  5. "namespace": "someNamespace",
  6. "group": "someGroup",
  7. "fileName": "application.properties",
  8. "content": "hello=world",
  9. "version": "273",
  10. "md5": "2a009b937a8815060b0892679665a860"
  11. }
  12. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namespacestring命名空间
groupstring配置文件分组
fileNamestring配置文件名
contentstring文件内容
versionint配置文件客户端版本号
md5string配置文件内容 md5 值

监听配置

通过 Http LongPolling 机制订阅配置变更。

如果订阅的配置文件有更新,将会返回最新的配置文件信息。客户端在收到响应后,重新调用拉取配置的接口获取最新的配置文件内容,version 值为最新的版本号。

如果订阅的配置文件在 30s 内没有更新,则返回 200001 状态码。

请求示例:

  1. POST /config/v1/WatchConfigFile
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
  1. {
  2. "watchFiles": [
  3. {
  4. "namespace":"someNamespace",
  5. "group":"someGroup",
  6. "fileName":"application.properties",
  7. "version":"263"
  8. },
  9. {
  10. "namespace":"someNamespace",
  11. "group":"someGroup",
  12. "fileName":"bootstrap.properties",
  13. "version":"100"
  14. }
  15. ]
  16. }
参数名类型描述
namespacestring命名空间
groupstring配置文件分组
fileNamestring配置文件名
versionint配置文件客户端版本号,刚启动时设置为 0

应答示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFile": {
  5. "namespace": "someNamespace",
  6. "group": "someGroup",
  7. "fileName": "application.properties",
  8. "content": "",
  9. "version": "273", //最新的版本号
  10. "md5": "2a009b937a8815060b0892679665a860"
  11. }
  12. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namespacestring命名空间
groupstring配置文件分组
fileNamestring配置文件名
contentstring文件内容
versionint配置文件客户端版本号
md5string配置文件内容 md5 值

服务端管控接口

配置文件组

创建配置文件组

请求示例:

  1. POST /config/v1/configfilegroups
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
  1. {
  2. "name":"someGroup",
  3. "namespace":"someNamespace",
  4. "comment":"some comment",
  5. "createBy":"ledou"
  6. }
参数名类型描述
namestring配置文件组名
namespacestring命名空间
commentstring备注信息
createBystring创建人

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFileGroup": {
  5. "name": "someGroup",
  6. "namespace": "someNamespace",
  7. "comment": "some comment",
  8. "createTime": "2022-01-18 15:40:36",
  9. "createBy": "ledou",
  10. "modifyTime": "2022-01-18 15:40:36",
  11. "modifyBy": "ledou"
  12. }
  13. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namestring配置文件组名
namespacestring命名空间
commentstring备注信息
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人

搜索配置文件组

按分组名称和配置文件名模糊搜索

  1. GET /config/v1/configfilegroups
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
参数名类型描述是否必填
namespacestring命名空间,不填表示全部命名空间
groupstring配置文件分组名,模糊搜索
fileNamestring配置文件名称,模糊搜索
offsetint翻页偏移量 默认为 0
limitint一页大小,最大为 100

响应示例

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "total": 1,
  5. "configFileGroups": [
  6. {
  7. "name": "someGroup",
  8. "namespace": "someNamespace",
  9. "fileCount": 10,
  10. "comment": "someComment",
  11. "createTime": "2022-01-18 15:40:36",
  12. "createBy": "ledou",
  13. "modifyTime": "2022-01-18 15:41:33",
  14. "modifyBy": "ledou22"
  15. }
  16. ]
  17. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namestring配置文件组名
namespacestring命名空间
fileCountint配置文件数量
commentstring备注信息
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人

删除配置文件组

请求示例:

  1. DELETE /config/v1/configfilegroups?namespace=&group=
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
参数名类型描述是否必填
namespacestring命名空间
groupstring配置文件分组

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success"
  4. }
参数名类型描述
codeuint32六位返回码
infostring返回信息

更新配置文件组

配置文件组只能更新备注信息

请求示例:

  1. PUT /config/v1/configfilegroups
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
  1. {
  2. "name":"someGroup",
  3. "namespace":"someNamespace",
  4. "comment":"some new comment",
  5. "createBy":"ledou"
  6. }
参数名类型描述
namestring配置文件组名
namespacestring命名空间
commentstring备注信息
createBystring创建人

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFileGroup": {
  5. "name": "someGroup",
  6. "namespace": "someNamespace",
  7. "comment": "some new comment",
  8. "createTime": "2022-01-18 15:40:36",
  9. "createBy": "ledou",
  10. "modifyTime": "2022-01-18 15:41:33",
  11. "modifyBy": "ledou22"
  12. }
  13. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namestring配置文件组名
namespacestring命名空间
commentstring备注信息
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人

配置文件

创建配置文件

请求示例:

  1. POST /config/v1/configfiles
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
  1. {
  2. "name":"application.properties",
  3. "namespace":"someNamespace",
  4. "group":"someGroup",
  5. "content":"redis.cache.age=10",
  6. "comment":"第一个配置文件",
  7. "tags":[{"key":"service", "value":"helloService"}],
  8. "createBy":"ledou",
  9. "format":"properties"
  10. }
参数名类型描述
namestring配置文件名
namespacestring命名空间
groupstring配置文件组
contentstring文件内容
formatstring配置文件格式
tagsList(Object)标签信息 , key 为标签的键,value 为标签的值
commentstring备注信息
createBystring创建人

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFileGroup": null,
  5. "configFile": {
  6. "name": "application.properties",
  7. "namespace": "someNamespace",
  8. "group": "someGroup",
  9. "content": "redis.cache.age=10",
  10. "format": "properties",
  11. "comment": "第一个配置文件",
  12. "status": "success",
  13. "tags": [{"key":"service", "value":"helloService"}],
  14. "createTime": "2022-01-24 18:51:48",
  15. "createBy": "ledou",
  16. "modifyTime": "2022-01-24 19:01:21",
  17. "modifyBy": "ledou",
  18. "releaseTime": "",
  19. "releaseBy": "ledou"
  20. }
  21. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namestring配置文件名
namespacestring命名空间
groupstring配置文件组
contentstring文件内容
formatstring配置文件格式
statusstring发布状态,待发布: to-be-released,发布成功:success, 发布失败:failure
tagsList(Object)标签信息 , key 为标签的键,value 为标签的值
commentstring备注信息
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人
releaseTimedate最后一次发布时间
releaseBystring最后一次发布人

获取单个配置文件

请求示例:

  1. GET /config/v1/configfiles
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
参数名类型描述是否必填
namespacestring命名空间
groupstring配置文件分组
namestring配置文件名

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFileGroup": null,
  5. "configFile": {
  6. "name": "application.properties",
  7. "namespace": "fkman",
  8. "group": "fkman",
  9. "content": "useLocalCache=true",
  10. "format": "properties",
  11. "comment": "第一个配置文件",
  12. "status": "success",
  13. "tags": [
  14. {
  15. "key": "service",
  16. "value": "helloService"
  17. }
  18. ],
  19. "createTime": "2022-01-24 18:51:48",
  20. "createBy": "ledou",
  21. "modifyTime": "2022-01-24 19:01:21",
  22. "modifyBy": "ledou",
  23. "releaseTime": "2022-01-24 19:01:23",
  24. "releaseBy": "ledou"
  25. }
  26. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namestring配置文件名
namespacestring命名空间
groupstring配置文件组
contentstring文件内容
formatstring配置文件格式
statusstring发布状态,待发布: to-be-released,发布成功:success, 发布失败:failure
tagsList(Object)标签信息 , key 为标签的键,value 为标签的值
commentstring备注信息
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人
releaseTimedate最后一次发布时间
releaseBystring最后一次发布人

搜索配置文件

按配置文件组、配置文件或者标签模糊搜索配置文件

请求示例:

  1. GET /config/v1/configfiles/search
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
参数名类型描述是否必填
namespacestring命名空间
groupstring配置文件分组
namestring配置文件名
offsetint翻页偏移量 默认为 0
limitint一页大小,最大为 100
tagsstring格式:key1,value1,key2,value2

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "total": 2,
  5. "configFiles": [
  6. {
  7. "name": "application.properties",
  8. "namespace": "someNamespace",
  9. "group": "someGroup",
  10. "content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=hello23",
  11. "format": "properties",
  12. "comment": "第一个配置文件",
  13. "status": "success",
  14. "tags": [
  15. {
  16. "key": "service",
  17. "value": "helloService"
  18. }
  19. ],
  20. "createTime": "2022-01-24 18:51:48",
  21. "createBy": "ledou",
  22. "modifyTime": "2022-01-24 19:01:21",
  23. "modifyBy": "ledou",
  24. "releaseTime": "2022-01-24 19:01:23",
  25. "releaseBy": "ledou"
  26. },
  27. {
  28. "name": "bootstrap.properties",
  29. "namespace": "someNamespace",
  30. "group": "someGroup",
  31. "content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=hello23",
  32. "format": "properties",
  33. "comment": "第一个配置文件",
  34. "status": "to-be-released",
  35. "tags": [
  36. {
  37. "key": "service",
  38. "value": "helloService"
  39. }
  40. ],
  41. "createTime": "2022-01-18 17:03:58",
  42. "createBy": "ledou",
  43. "modifyTime": "2022-01-18 17:21:56",
  44. "modifyBy": "ledou",
  45. "releaseTime": null,
  46. "releaseBy": null
  47. }
  48. ]
  49. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
totaluint32总条数
namestring配置文件名
namespacestring命名空间
groupstring配置文件组
contentstring文件内容
formatstring配置文件格式
statusstring发布状态,待发布: to-be-released,发布成功:success, 发布失败:failure
tagsList(Object)标签信息 , key 为标签的键,value 为标签的值
commentstring备注信息
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人
releaseTimedate最后一次发布时间
releaseBystring最后一次发布人

更新配置文件

请求示例:

  1. PUT /config/v1/configfiles
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
  4. {
  5. "name":"application.properties",
  6. "namespace":"someNamespace",
  7. "group":"someGroup",
  8. "content":"useLocalCache=true",
  9. "comment":"第一个配置文件",
  10. "tags":[{"key":"service", "value":"helloService"},{"key":"service", "value":"helloService222"}],
  11. "modifyBy":"ledou",
  12. "format":"properties"
  13. }
参数名类型描述
namestring配置文件名 (唯一键字段,不可修改)
namespacestring命名空间 (唯一键字段,不可修改)
groupstring配置文件组 (唯一键字段,不可修改)
contentstring文件内容
formatstring配置文件格式
tagsList(Object)标签信息 , key 为标签的键,value 为标签的值
commentstring备注信息
modifyBystring修改人

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFile": {
  5. "name": "application.properties",
  6. "namespace": "someNamespace",
  7. "group": "someGroup",
  8. "content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=hello23",
  9. "format": "properties",
  10. "comment": "第一个配置文件",
  11. "status": "success",
  12. "tags": [
  13. {
  14. "key": "service",
  15. "value": "helloService"
  16. },
  17. {
  18. "key": "service",
  19. "value": "helloService222"
  20. }
  21. ],
  22. "createTime": "2022-01-24 18:51:48",
  23. "createBy": "ledou",
  24. "modifyTime": "2022-01-25 14:31:48",
  25. "modifyBy": "ledou",
  26. "releaseTime": "2022-01-24 19:01:23",
  27. "releaseBy": "ledou"
  28. }
  29. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namestring配置文件名
namespacestring命名空间
groupstring配置文件组
contentstring文件内容
formatstring配置文件格式
statusstring发布状态,待发布: to-be-released,发布成功:success, 发布失败:failure
tagsList(Object)标签信息 , key 为标签的键,value 为标签的值
commentstring备注信息
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人
releaseTimedate最后一次发布时间
releaseBystring最后一次发布人

删除单个配置文件

请求示例:

  1. DELETE /config/v1/configfiles
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
参数名类型描述是否必填
namespacestring命名空间
groupstring配置文件分组
namestring配置文件
deleteBystring操作人

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success"
  4. }
参数名类型描述
codeuint32六位返回码
infostring返回信息

批量删除配置文件

请求示例:

  1. POST /config/v1/configfiles/batchdelete
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}

查询参数:

参数名类型描述是否必填
deleteBystring操作人

请求体:

  1. [
  2. {
  3. "name":"application.properties",
  4. "namespace":"someNamespace",
  5. "group":"someGroup"
  6. }
  7. ]

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success"
  4. }
参数名类型描述
codeuint32六位返回码
infostring返回信息

发布配置文件

请求示例:

  1. POST /config/v1/configfiles/release
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
  1. {
  2. "name":"release-002",
  3. "fileName":"application.properties",
  4. "namespace":"someNamespace",
  5. "group":"someGroup",
  6. "comment":"发布第一个配置文件",
  7. "createBy":"ledou"
  8. }
参数名类型描述
namestring发布标题
namespacestring命名空间
groupstring配置文件组
fileNamestring配置文件名
commentstring备注信息
createBystring发布人

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFileRelease": {
  5. "name": "release-002",
  6. "namespace": "someNamespace",
  7. "group": "someGroup",
  8. "fileName": "application.properties",
  9. "content": "redis.cache.age=10",
  10. "comment": "发布第一个配置文件",
  11. "md5": "51ea81e07b7a65ec5254379dd6c12ad6",
  12. "version": "2",
  13. "createTime": "2022-01-24 19:04:29",
  14. "createBy": "ledou",
  15. "modifyTime": "2022-01-25 14:40:21",
  16. "modifyBy": "ledou"
  17. }
  18. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namestring发布标题
namespacestring命名空间
groupstring配置文件组
fileNamestring配置文件名
contentstring文件内容
commentstring备注信息
md5string文件md5值
versionuint32版本号
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人

获取配置文件最后一次全量发布信息

请求示例:

  1. GET /config/v1/configfiles/release
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
参数名类型描述是否必填
namespacestring命名空间
groupstring配置文件分组
namestring配置文件

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "configFileRelease": {
  5. "name": "release-002",
  6. "namespace": "fkman",
  7. "group": "fkman",
  8. "fileName": "application.properties",
  9. "content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=ledouxxxled22ddddddddd",
  10. "comment": "发布第一个配置文件",
  11. "md5": "9c090c3671d5042a5ca52c911f7306a9",
  12. "version": "1",
  13. "createTime": "2022-01-18 15:44:53",
  14. "createBy": "ledou",
  15. "modifyTime": "2022-01-18 15:44:53",
  16. "modifyBy": "ledou"
  17. }
  18. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
namestring发布标题
namespacestring命名空间
groupstring配置文件组
fileNamestring配置文件名
contentstring文件内容
commentstring备注信息
md5string文件md5值
versionuint32版本号
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人

获取配置文件发布历史记录

请求示例:

  1. GET /config/v1/configfiles/releasehistory
  2. # 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
  3. Header X-Polaris-Token: {访问凭据}
参数名类型描述是否必填
namespacestring命名空间
groupstring配置文件分组
namestring配置文件
offsetint翻页偏移量 默认为 0
limitint一页大小,最大为 100

响应示例:

  1. {
  2. "code": 200000,
  3. "info": "execute success",
  4. "total": 2,
  5. "configFileReleaseHistories": [
  6. {
  7. "name": "release-002",
  8. "namespace": "someNamespace",
  9. "group": "someGroup",
  10. "fileName": "application.properties",
  11. "content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=hello23",
  12. "format": "properties",
  13. "comment": "发布第一个配置文件",
  14. "md5": "2a009b937a8815060b0892679665a860",
  15. "type": "normal",
  16. "status": "success",
  17. "tags": [
  18. {
  19. "key": "service",
  20. "value": "helloService"
  21. },
  22. {
  23. "key": "service",
  24. "value": "helloService222"
  25. }
  26. ],
  27. "createTime": "2022-01-24 19:01:23",
  28. "createBy": "ledou",
  29. "modifyTime": "2022-01-24 19:01:23",
  30. "modifyBy": "ledou"
  31. }
  32. ]
  33. }
参数名类型描述
codeuint32六位返回码
infostring返回信息
totaluint32总条数
namestring发布标题
namespacestring命名空间
groupstring配置文件组
fileNamestring配置文件名
contentstring文件内容
formatstring发布时配置文件的文件格式
commentstring备注信息
md5string文件md5值
typestring发布类型,normal:正常发布,gray:灰度发布,rollback:回滚
statusstring发布结果,success:发布成功, failure:发布失败
tagsList(Object)发布时配置文件的标签信息
createTimedate创建时间
createBystring创建人
modifyTimedate更新时间
modifyBystring修改人