配置管理
客户端API接口
拉取配置
客户端通过拉取配置接口获取最新的配置文件。version 字段为客户端内存里配置文件的版本号,刚启动时设置为0.
请求示例:
GET /config/v1/GetConfigFile
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
namespace | string | 命名空间 | 是 |
group | string | 配置文件分组 | 是 |
fileName | string | 配置文件名 | 是 |
version | int | 配置文件客户端版本号,刚启动时设置为 0 | 是 |
应答示例:
{
"code": 200000,
"info": "execute success",
"configFile": {
"namespace": "someNamespace",
"group": "someGroup",
"fileName": "application.properties",
"content": "hello=world",
"version": "273",
"md5": "2a009b937a8815060b0892679665a860"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
namespace | string | 命名空间 |
group | string | 配置文件分组 |
fileName | string | 配置文件名 |
content | string | 文件内容 |
version | int | 配置文件客户端版本号 |
md5 | string | 配置文件内容 md5 值 |
监听配置
通过 Http LongPolling 机制订阅配置变更。
如果订阅的配置文件有更新,将会返回最新的配置文件信息。客户端在收到响应后,重新调用拉取配置的接口获取最新的配置文件内容,version 值为最新的版本号。
如果订阅的配置文件在 30s 内没有更新,则返回 200001 状态码。
请求示例:
POST /config/v1/WatchConfigFile
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
{
"watchFiles": [
{
"namespace":"someNamespace",
"group":"someGroup",
"fileName":"application.properties",
"version":"263"
},
{
"namespace":"someNamespace",
"group":"someGroup",
"fileName":"bootstrap.properties",
"version":"100"
}
]
}
参数名 | 类型 | 描述 |
---|---|---|
namespace | string | 命名空间 |
group | string | 配置文件分组 |
fileName | string | 配置文件名 |
version | int | 配置文件客户端版本号,刚启动时设置为 0 |
应答示例:
{
"code": 200000,
"info": "execute success",
"configFile": {
"namespace": "someNamespace",
"group": "someGroup",
"fileName": "application.properties",
"content": "",
"version": "273", //最新的版本号
"md5": "2a009b937a8815060b0892679665a860"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
namespace | string | 命名空间 |
group | string | 配置文件分组 |
fileName | string | 配置文件名 |
content | string | 文件内容 |
version | int | 配置文件客户端版本号 |
md5 | string | 配置文件内容 md5 值 |
服务端管控接口
配置文件组
创建配置文件组
请求示例:
POST /config/v1/configfilegroups
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
{
"name":"someGroup",
"namespace":"someNamespace",
"comment":"some comment",
"createBy":"ledou"
}
参数名 | 类型 | 描述 |
---|---|---|
name | string | 配置文件组名 |
namespace | string | 命名空间 |
comment | string | 备注信息 |
createBy | string | 创建人 |
响应示例:
{
"code": 200000,
"info": "execute success",
"configFileGroup": {
"name": "someGroup",
"namespace": "someNamespace",
"comment": "some comment",
"createTime": "2022-01-18 15:40:36",
"createBy": "ledou",
"modifyTime": "2022-01-18 15:40:36",
"modifyBy": "ledou"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
name | string | 配置文件组名 |
namespace | string | 命名空间 |
comment | string | 备注信息 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
搜索配置文件组
按分组名称和配置文件名模糊搜索
GET /config/v1/configfilegroups
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
namespace | string | 命名空间,不填表示全部命名空间 | 否 |
group | string | 配置文件分组名,模糊搜索 | 否 |
fileName | string | 配置文件名称,模糊搜索 | 否 |
offset | int | 翻页偏移量 默认为 0 | 否 |
limit | int | 一页大小,最大为 100 | 是 |
响应示例
{
"code": 200000,
"info": "execute success",
"total": 1,
"configFileGroups": [
{
"name": "someGroup",
"namespace": "someNamespace",
"fileCount": 10,
"comment": "someComment",
"createTime": "2022-01-18 15:40:36",
"createBy": "ledou",
"modifyTime": "2022-01-18 15:41:33",
"modifyBy": "ledou22"
}
]
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
name | string | 配置文件组名 |
namespace | string | 命名空间 |
fileCount | int | 配置文件数量 |
comment | string | 备注信息 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
删除配置文件组
请求示例:
DELETE /config/v1/configfilegroups?namespace=&group=
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
namespace | string | 命名空间 | 是 |
group | string | 配置文件分组 | 是 |
响应示例:
{
"code": 200000,
"info": "execute success"
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
更新配置文件组
配置文件组只能更新备注信息
请求示例:
PUT /config/v1/configfilegroups
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
{
"name":"someGroup",
"namespace":"someNamespace",
"comment":"some new comment",
"createBy":"ledou"
}
参数名 | 类型 | 描述 |
---|---|---|
name | string | 配置文件组名 |
namespace | string | 命名空间 |
comment | string | 备注信息 |
createBy | string | 创建人 |
响应示例:
{
"code": 200000,
"info": "execute success",
"configFileGroup": {
"name": "someGroup",
"namespace": "someNamespace",
"comment": "some new comment",
"createTime": "2022-01-18 15:40:36",
"createBy": "ledou",
"modifyTime": "2022-01-18 15:41:33",
"modifyBy": "ledou22"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
name | string | 配置文件组名 |
namespace | string | 命名空间 |
comment | string | 备注信息 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
配置文件
创建配置文件
请求示例:
POST /config/v1/configfiles
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
{
"name":"application.properties",
"namespace":"someNamespace",
"group":"someGroup",
"content":"redis.cache.age=10",
"comment":"第一个配置文件",
"tags":[{"key":"service", "value":"helloService"}],
"createBy":"ledou",
"format":"properties"
}
参数名 | 类型 | 描述 |
---|---|---|
name | string | 配置文件名 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
content | string | 文件内容 |
format | string | 配置文件格式 |
tags | List(Object) | 标签信息 , key 为标签的键,value 为标签的值 |
comment | string | 备注信息 |
createBy | string | 创建人 |
响应示例:
{
"code": 200000,
"info": "execute success",
"configFileGroup": null,
"configFile": {
"name": "application.properties",
"namespace": "someNamespace",
"group": "someGroup",
"content": "redis.cache.age=10",
"format": "properties",
"comment": "第一个配置文件",
"status": "success",
"tags": [{"key":"service", "value":"helloService"}],
"createTime": "2022-01-24 18:51:48",
"createBy": "ledou",
"modifyTime": "2022-01-24 19:01:21",
"modifyBy": "ledou",
"releaseTime": "",
"releaseBy": "ledou"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
name | string | 配置文件名 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
content | string | 文件内容 |
format | string | 配置文件格式 |
status | string | 发布状态,待发布: to-be-released,发布成功:success, 发布失败:failure |
tags | List(Object) | 标签信息 , key 为标签的键,value 为标签的值 |
comment | string | 备注信息 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
releaseTime | date | 最后一次发布时间 |
releaseBy | string | 最后一次发布人 |
获取单个配置文件
请求示例:
GET /config/v1/configfiles
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
namespace | string | 命名空间 | 是 |
group | string | 配置文件分组 | 是 |
name | string | 配置文件名 | 是 |
响应示例:
{
"code": 200000,
"info": "execute success",
"configFileGroup": null,
"configFile": {
"name": "application.properties",
"namespace": "fkman",
"group": "fkman",
"content": "useLocalCache=true",
"format": "properties",
"comment": "第一个配置文件",
"status": "success",
"tags": [
{
"key": "service",
"value": "helloService"
}
],
"createTime": "2022-01-24 18:51:48",
"createBy": "ledou",
"modifyTime": "2022-01-24 19:01:21",
"modifyBy": "ledou",
"releaseTime": "2022-01-24 19:01:23",
"releaseBy": "ledou"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
name | string | 配置文件名 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
content | string | 文件内容 |
format | string | 配置文件格式 |
status | string | 发布状态,待发布: to-be-released,发布成功:success, 发布失败:failure |
tags | List(Object) | 标签信息 , key 为标签的键,value 为标签的值 |
comment | string | 备注信息 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
releaseTime | date | 最后一次发布时间 |
releaseBy | string | 最后一次发布人 |
搜索配置文件
按配置文件组、配置文件或者标签模糊搜索配置文件
请求示例:
GET /config/v1/configfiles/search
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
namespace | string | 命名空间 | 是 |
group | string | 配置文件分组 | 否 |
name | string | 配置文件名 | 否 |
offset | int | 翻页偏移量 默认为 0 | 否 |
limit | int | 一页大小,最大为 100 | 是 |
tags | string | 格式:key1,value1,key2,value2 | 否 |
响应示例:
{
"code": 200000,
"info": "execute success",
"total": 2,
"configFiles": [
{
"name": "application.properties",
"namespace": "someNamespace",
"group": "someGroup",
"content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=hello23",
"format": "properties",
"comment": "第一个配置文件",
"status": "success",
"tags": [
{
"key": "service",
"value": "helloService"
}
],
"createTime": "2022-01-24 18:51:48",
"createBy": "ledou",
"modifyTime": "2022-01-24 19:01:21",
"modifyBy": "ledou",
"releaseTime": "2022-01-24 19:01:23",
"releaseBy": "ledou"
},
{
"name": "bootstrap.properties",
"namespace": "someNamespace",
"group": "someGroup",
"content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=hello23",
"format": "properties",
"comment": "第一个配置文件",
"status": "to-be-released",
"tags": [
{
"key": "service",
"value": "helloService"
}
],
"createTime": "2022-01-18 17:03:58",
"createBy": "ledou",
"modifyTime": "2022-01-18 17:21:56",
"modifyBy": "ledou",
"releaseTime": null,
"releaseBy": null
}
]
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
total | uint32 | 总条数 |
name | string | 配置文件名 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
content | string | 文件内容 |
format | string | 配置文件格式 |
status | string | 发布状态,待发布: to-be-released,发布成功:success, 发布失败:failure |
tags | List(Object) | 标签信息 , key 为标签的键,value 为标签的值 |
comment | string | 备注信息 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
releaseTime | date | 最后一次发布时间 |
releaseBy | string | 最后一次发布人 |
更新配置文件
请求示例:
PUT /config/v1/configfiles
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
{
"name":"application.properties",
"namespace":"someNamespace",
"group":"someGroup",
"content":"useLocalCache=true",
"comment":"第一个配置文件",
"tags":[{"key":"service", "value":"helloService"},{"key":"service", "value":"helloService222"}],
"modifyBy":"ledou",
"format":"properties"
}
参数名 | 类型 | 描述 |
---|---|---|
name | string | 配置文件名 (唯一键字段,不可修改) |
namespace | string | 命名空间 (唯一键字段,不可修改) |
group | string | 配置文件组 (唯一键字段,不可修改) |
content | string | 文件内容 |
format | string | 配置文件格式 |
tags | List(Object) | 标签信息 , key 为标签的键,value 为标签的值 |
comment | string | 备注信息 |
modifyBy | string | 修改人 |
响应示例:
{
"code": 200000,
"info": "execute success",
"configFile": {
"name": "application.properties",
"namespace": "someNamespace",
"group": "someGroup",
"content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=hello23",
"format": "properties",
"comment": "第一个配置文件",
"status": "success",
"tags": [
{
"key": "service",
"value": "helloService"
},
{
"key": "service",
"value": "helloService222"
}
],
"createTime": "2022-01-24 18:51:48",
"createBy": "ledou",
"modifyTime": "2022-01-25 14:31:48",
"modifyBy": "ledou",
"releaseTime": "2022-01-24 19:01:23",
"releaseBy": "ledou"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
name | string | 配置文件名 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
content | string | 文件内容 |
format | string | 配置文件格式 |
status | string | 发布状态,待发布: to-be-released,发布成功:success, 发布失败:failure |
tags | List(Object) | 标签信息 , key 为标签的键,value 为标签的值 |
comment | string | 备注信息 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
releaseTime | date | 最后一次发布时间 |
releaseBy | string | 最后一次发布人 |
删除单个配置文件
请求示例:
DELETE /config/v1/configfiles
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
namespace | string | 命名空间 | 是 |
group | string | 配置文件分组 | 是 |
name | string | 配置文件 | 是 |
deleteBy | string | 操作人 | 否 |
响应示例:
{
"code": 200000,
"info": "execute success"
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
批量删除配置文件
请求示例:
POST /config/v1/configfiles/batchdelete
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
查询参数:
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
deleteBy | string | 操作人 | 否 |
请求体:
[
{
"name":"application.properties",
"namespace":"someNamespace",
"group":"someGroup"
}
]
响应示例:
{
"code": 200000,
"info": "execute success"
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
发布配置文件
请求示例:
POST /config/v1/configfiles/release
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
{
"name":"release-002",
"fileName":"application.properties",
"namespace":"someNamespace",
"group":"someGroup",
"comment":"发布第一个配置文件",
"createBy":"ledou"
}
参数名 | 类型 | 描述 |
---|---|---|
name | string | 发布标题 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
fileName | string | 配置文件名 |
comment | string | 备注信息 |
createBy | string | 发布人 |
响应示例:
{
"code": 200000,
"info": "execute success",
"configFileRelease": {
"name": "release-002",
"namespace": "someNamespace",
"group": "someGroup",
"fileName": "application.properties",
"content": "redis.cache.age=10",
"comment": "发布第一个配置文件",
"md5": "51ea81e07b7a65ec5254379dd6c12ad6",
"version": "2",
"createTime": "2022-01-24 19:04:29",
"createBy": "ledou",
"modifyTime": "2022-01-25 14:40:21",
"modifyBy": "ledou"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
name | string | 发布标题 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
fileName | string | 配置文件名 |
content | string | 文件内容 |
comment | string | 备注信息 |
md5 | string | 文件md5值 |
version | uint32 | 版本号 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
获取配置文件最后一次全量发布信息
请求示例:
GET /config/v1/configfiles/release
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
namespace | string | 命名空间 | 是 |
group | string | 配置文件分组 | 是 |
name | string | 配置文件 | 是 |
响应示例:
{
"code": 200000,
"info": "execute success",
"configFileRelease": {
"name": "release-002",
"namespace": "fkman",
"group": "fkman",
"fileName": "application.properties",
"content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=ledouxxxled22ddddddddd",
"comment": "发布第一个配置文件",
"md5": "9c090c3671d5042a5ca52c911f7306a9",
"version": "1",
"createTime": "2022-01-18 15:44:53",
"createBy": "ledou",
"modifyTime": "2022-01-18 15:44:53",
"modifyBy": "ledou"
}
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
name | string | 发布标题 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
fileName | string | 配置文件名 |
content | string | 文件内容 |
comment | string | 备注信息 |
md5 | string | 文件md5值 |
version | uint32 | 版本号 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |
获取配置文件发布历史记录
请求示例:
GET /config/v1/configfiles/releasehistory
# 开启北极星服务端针对控制台接口鉴权开关后,需要添加下面的 header
Header X-Polaris-Token: {访问凭据}
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
namespace | string | 命名空间 | 是 |
group | string | 配置文件分组 | 否 |
name | string | 配置文件 | 否 |
offset | int | 翻页偏移量 默认为 0 | 否 |
limit | int | 一页大小,最大为 100 | 是 |
响应示例:
{
"code": 200000,
"info": "execute success",
"total": 2,
"configFileReleaseHistories": [
{
"name": "release-002",
"namespace": "someNamespace",
"group": "someGroup",
"fileName": "application.properties",
"content": "useLocalCache=true\nred2is.cache.age=11\nredis.cache.name=hello23",
"format": "properties",
"comment": "发布第一个配置文件",
"md5": "2a009b937a8815060b0892679665a860",
"type": "normal",
"status": "success",
"tags": [
{
"key": "service",
"value": "helloService"
},
{
"key": "service",
"value": "helloService222"
}
],
"createTime": "2022-01-24 19:01:23",
"createBy": "ledou",
"modifyTime": "2022-01-24 19:01:23",
"modifyBy": "ledou"
}
]
}
参数名 | 类型 | 描述 |
---|---|---|
code | uint32 | 六位返回码 |
info | string | 返回信息 |
total | uint32 | 总条数 |
name | string | 发布标题 |
namespace | string | 命名空间 |
group | string | 配置文件组 |
fileName | string | 配置文件名 |
content | string | 文件内容 |
format | string | 发布时配置文件的文件格式 |
comment | string | 备注信息 |
md5 | string | 文件md5值 |
type | string | 发布类型,normal:正常发布,gray:灰度发布,rollback:回滚 |
status | string | 发布结果,success:发布成功, failure:发布失败 |
tags | List(Object) | 发布时配置文件的标签信息 |
createTime | date | 创建时间 |
createBy | string | 创建人 |
modifyTime | date | 更新时间 |
modifyBy | string | 修改人 |