Commit Graph

106 Commits

Author SHA1 Message Date
626ce88565
build(vcs): 补充 Idea 的构建文件夹. 2022-02-21 16:22:33 +08:00
1cdc15a05f
feat: 添加重试器, 并应用到身份配置加载中(有待测试).
本提交添加了一个 Retryer, 用于增加对失败加载身份配置时, 可进行重试.
请注意: 对于将该功能整合到身份配置的加载, 其状况有待测试.

issue #5
2021-10-26 19:57:20 +08:00
bded118c03
docs(readme): 补个更新缓慢的说明.
rt.
2021-10-22 18:53:47 +08:00
4ca9139b3e
refactor(script): 补充提交 SPI 接口实现文件;
该提交补充了由 e6ff28e0 提交漏掉的一个文件, 没了.
Sorry X_X
2021-10-12 20:22:11 +08:00
b84b2d1ef6
refactor(logging): 设置最低等级为 Info, 以减缓因低等级日志过多导致日志文件过大.
通过调整全局日志级别, 尝试解决因低等级日志内容过多导致日志文件过大的问题.
2021-10-10 19:50:39 +08:00
43a8ac4026
refactor(script): 调整了加载脚本时获取 ScriptInfo 时异常捕获的时机.
调整后, 当获取 ScriptInfo 抛出异常时, 会作为脚本加载失败处理.
2021-10-10 19:46:20 +08:00
e6ff28e077
feat: 添加扩展接口, 通过 SPI 机制允许外部模块为脚本添加功能组件.
通过扩展接口, 可让第三方为脚本提供功能组件, 而无需局限于 Sentry 内置功能组件.

Closes #6
2021-10-10 11:12:49 +08:00
7a008848db
build: 调整项目 group.
将 group 二级给移除, 合并到一级中.
2021-10-10 10:48:15 +08:00
e55dde09fd
refactor(oci): 调整 ComputeInstanceManager 的包位置.
调整包位置以更好的区分功能部分.
2021-10-05 15:37:13 +08:00
2f98d1f91d
refactor(oci): 补充日志输出, 方便 Debug.
补充日志输出, 可通过配置 application.yml 的 logging.root 来控制是否打印这些日志以排查错误.
2021-10-05 15:34:18 +08:00
18d8bb1ef2
feat(script): 新增实例状态触发器.
该触发器可根据实例的状态变更, 触发回调函数进行相应处理.
2021-10-05 15:19:22 +08:00
652dabedef
feat: 为日志回滚启用 Gzip 压缩.
通过启用 Gzip 压缩, 可减轻日志文件对存储的压力.
2021-10-05 15:10:26 +08:00
8c51bac6be
fix(script): 修复了当 Trigger 名称包含大写字母时, 无法获取 Trigger 实例的问题.
当 Trigger 被注册时, 其名称将转换成小写, 存储在 Map 中, 但是 getTriggerByName 并没有对参数转换成小写, 导致该 Bug 产生.
2021-10-05 15:06:18 +08:00
9d5c91d5b4
fix: 修复 regions 使用了错误 id 的问题.
修复 regions 方法使用了 userId 而不是 tenantId 的问题.
2021-09-10 02:37:57 +08:00
ab69189d5b
feat(sftp): Sftp 现在支持获取用户主目录.
鉴于当前尚不支持使用"~"指向用户主目录, 为此提供解决方法.
2021-09-10 02:33:33 +08:00
2006097d5f
refactor(logging): 现在日志系统将不记录 SSH 组件 INFO 以下级别的日志.
由于 SSH 组件在 Debug 级别中输出的东西实在是太多了, 所以把它屏蔽了.
2021-09-10 02:32:18 +08:00
7dcbcc3270
feat: 支持获取计算实例的主要 VNIC 信息.
增加 getPrimaryVnic 方法以获取主要的 VNIC 信息.
2021-09-10 02:30:02 +08:00
a128748b4f
feat: 支持获取帐号区域订阅信息和直接获取主区域订阅信息.
增加 regions 和 mainRegion 方法, 可快速获取帐号所订阅的所有区域, 以及主区域的信息.
2021-09-10 02:27:24 +08:00
b8b2268d2e
feat: CommandExecSession 的 waitFor(long) 方法支持通过返回值传递是否超时.
现在 waitFor(long) 方法在超过指定时间返回后, 将会通过 boolean 返回值告诉调用方是否超时.
详细信息见 Javadoc.
2021-09-10 01:25:57 +08:00
d6738d635c
fix: 修复 SSH 连接配置中的 keyPassword 设置无效的问题.
由于 mina-ssh 的设计问题, 如果手动设置 KeyIdentityProvider, 则 SshClient 中的 FilePasswordProvider 将对此无效(SshClient 的 FilePasswordProvider 只会对默认密钥路径 "~/id_rsa" 起作用), keyPassword 应直接在 FileKeyPairProvider 设置.
2021-09-09 23:46:24 +08:00
46ae196fe9
release: 发布新版本(0.1.1 -> 0.2.0). 2021-09-05 15:44:02 +08:00
e5b08bc12a
docs: 补充类文档.
补充类文档中的说明部分.
2021-09-05 15:42:45 +08:00
bec7010d43
feat: 重做 Oracle Identity 相关组件, 为脚本提供访问 Oracle Account 的组件.
重做 OracleIdentityManager, 增加 OracleAccount 与 OracleClients 对象, 使脚本可以访问 SDK, 执行更多操作.
调整 ComputeInstance 与 InstanceNetwork, SDK Client 不再直接创建, 而是使用 OracleClients 中的客户端单例.
2021-09-05 14:36:37 +08:00
6b2bd0a59d
build: 添加 OCI 对象存储 SDK 的依赖项.
添加以下依赖项:
- com.oracle.oci.sdk:oci-java-sdk-objectstorage (2.4.0)
2021-09-05 14:34:11 +08:00
749ea644f1
docs: 补充文档内容, 修复文档错误. 2021-09-05 14:32:58 +08:00
e6a81784a3
style: 忽略误报的编译警告, 调整内部字段访问权. 2021-09-05 14:31:23 +08:00
b5c3af1c19
refactor: 修正测试类未跟进更改的问题.
补充实现接口方法.
2021-09-04 16:34:48 +08:00
13d90595b7
feat: 初步添加 SSH Forwarding 功能.
添加对 SSH 转发功能的支持, 脚本可通过 SSH 会话使用.

注意: 该功能尚未得到足够的测试, 使用时遇到问题请反馈.
2021-09-02 18:58:10 +08:00
3641593210
refactor: 调整 logger 获取方式.
调整方法名称以避免 Groovy 误将其当做 Getter 来获取脚本日志记录器.
2021-09-02 18:55:05 +08:00
f5881ddbfe
refactor: 同步调整单元测试(虽然这个算不上是单元测试).
适配更改.
2021-09-02 18:54:16 +08:00
2c1e9606e1
refactor: 调整类修饰符.
通过调整修饰符, 降低其他不必要问题出现的概率.
2021-09-02 18:53:37 +08:00
166c63fb93
feat: 添加方法协助脚本确认自身是否已经初始化完成.
添加 isInitialed 方法, 帮助脚本判断自己是否已经被哨兵初始化完成.
2021-09-02 18:51:54 +08:00
69def56d91
refactor: 调整相关类的包路径, 添加 ScriptLoggerFactory 的使用. 2021-09-02 16:28:42 +08:00
cfbe0315f0
perf: 优化数组操作.
从数组操作中移除 List 的使用(现在是纯数组操作), 添加方法缓存.
2021-09-02 15:46:01 +08:00
ead42e2b00
build: 更新依赖项版本.
已确认以下依赖项变更不会影响到当前项目的所有功能:
- org.slf4j:slf4j-api (1.7.31 -> 1.7.32)
- com.oracle.oci.sdk:oci-java-sdk-core (2.3.2 -> 2.4.0)
- com.oracle.oci.sdk:oci-java-sdk-identity (2.3.2 -> 2.4.0)
- org.codehaus.groovy:groovy-all (3.0.7 -> 3.0.8)
- com.google.code.gson:gson (2.8.7 -> 2.8.8)
- org.junit.jupiter:junit-jupiter-api (5.7.0 -> 5.7.2)
- org.junit.jupiter:junit-jupiter-engine (5.7.0 -> 5.7.2)
2021-09-02 14:45:54 +08:00
8dc7da3f3f
refactor: 调整包路径.
整理 common 包的分类.
2021-09-02 14:31:59 +08:00
8658104f7f
feat: 为脚本添加日志记录器.
- 增加 ScriptLoggerFactory, 通过 CGLIB 为 Logger 设置动态代理, 在记录日志时隐式添加 marker, 配合日志配置调整脚本日志输出, 以解决脚本无法将日志记录到日志文件中的问题.
- 调整 Trigger 日志记录器获取方式, 以解决脚本可能误用 Trigger 日志记录器的问题.
- 适当调整了部分包的日志记录级别.
2021-09-02 14:30:50 +08:00
2cd679bcaf
feat: 为 GroovyTrigger 添加 shutdown 方法.
增加 shutdown 方法用于向触发器发出停止信号, 以后有用.
2021-09-02 14:26:05 +08:00
2f225d27fe
feat: 添加 ScriptComponentFactory 以允许通过该接口实例动态生成脚本组件.
通过 ScriptComponentFactory 接口, 可以根据脚本信息动态得构造一些特定于脚本的组件, 例如日志.
本次提交同时调整了 Groovy 脚本的初始化过程, 让 ScriptInfo 的初始化能够更先于脚本 Trigger 的运行.
2021-09-02 14:23:37 +08:00
c2aa02cae3
release: 推送紧急更新版本, 修复脚本基础功能的严重问题. 2021-08-24 18:48:15 +08:00
284f0229f7
fix: 修复线程池尚未初始化的问题.
ThreadPoolTaskScheduler 需要手动初始化才能使用.
2021-08-24 18:44:46 +08:00
800bb13c9e
release: 更新版本至 0.1.0; 2021-08-20 19:49:55 +08:00
984576f5e1
fact: 添加 SSH 端口配置项.
添加 SSH 端口配置项以允许自定义 SSH 连接端口.
本次提交也补充了相应的测试项, 覆盖率 100%.
2021-08-20 18:23:45 +08:00
59f1f3e57a
docs: 更新文档目录和文档文件名. 2021-08-20 16:44:28 +08:00
88a0440541
docs: 更新文档目录. 2021-08-20 16:41:36 +08:00
3fcd506f0c
docs: 补充脚本编写文档. 2021-08-20 16:40:41 +08:00
342087cd01
fact: Supported Sftp
支持 Sftp 客户端.
2021-08-20 15:25:07 +08:00
3d249696a7
refactor: 修改脚本内组件的传递方式.
将传递脚本组件的方式由 Delegate 类属性改为 Binding, 以增加灵活性和可维护性.
2021-08-20 14:01:43 +08:00
0dc44864cd
fix: 调整 Json 字段获取方式以修复由于可选字段不存在导致加载失败的问题.
当 keyPassword 为 null 时, 由于类型检查漏洞, 会出现解析失败的问题.
2021-08-20 14:00:40 +08:00
6bd28909ae
refactor: 调整 Trigger 接收闭包的类型, 以便添加新的功能.
调整 Trigger 接收闭包的类型(Runnable -> Closure), 闭包可传递参数, 且 Trigger 为 Groovy 特有(至少目前是这样), 故调整类型以提供更多灵活性.
2021-08-20 13:59:06 +08:00