dailz
|
4903f7d07f
|
feat: 添加业务服务层和结构化日志
- JobService: 提交、查询、取消、历史记录,记录关键操作日志
- ClusterService: 节点、分区、诊断查询,记录错误日志
- NewSlurmClient: JWT 认证 HTTP 客户端工厂
- 所有构造函数接受 *zap.Logger 参数实现依赖注入
- 提交/取消成功记录 Info,API 错误记录 Error
- 完整 TDD 测试,使用 zaptest/observer 验证日志输出
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-10 08:39:46 +08:00 |
|
dailz
|
fbfd5c5f42
|
feat: 添加数据模型和存储层
- model: JobTemplate、SubmitJobRequest、JobHistoryQuery 等模型定义
- store: NewGormDB MySQL 连接池,使用 zap 日志替代 GORM 默认日志
- store: TemplateStore CRUD 操作,支持 GORM AutoMigrate
- NewGormDB 接受 gormLevel 参数,由上层传入配置值
- 完整 TDD 测试覆盖
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-10 08:39:30 +08:00 |
|
dailz
|
f7a21ee455
|
feat: 添加 zap 日志工厂和 GORM 日志桥接
- NewLogger 工厂函数:支持 JSON/Console 编码、stdout/文件/多输出、lumberjack 轮转
- NewGormLogger 实现 gorm.Interface:Trace 区分错误/慢查询/正常查询
- output_stdout 用 *bool 三态处理(nil=true, true, false)
- 默认值:level=info, encoding=json, max_size=100, max_backups=5, max_age=30
- 慢查询阈值 200ms,ErrRecordNotFound 不视为错误
- 编译时接口检查: var _ gormlogger.Interface = (*GormLogger)(nil)
- 完整 TDD 测试覆盖
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-10 08:39:21 +08:00 |
|
dailz
|
7550e75945
|
feat: 添加配置加载和日志配置支持
- 新增 LogConfig 结构体,支持 9 个日志配置字段(level, encoding, output_stdout, file_path, max_size, max_backups, max_age, compress, gorm_level)
- Config 结构体新增 Log 字段,支持 YAML 解析
- output_stdout 使用 *bool 指针类型,nil 默认为 true
- 更新 config.example.yaml 添加完整 log 配置段
- 新增 TDD 测试:日志配置解析、向后兼容、字段完整性
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-10 08:39:09 +08:00 |
|
dailz
|
246c19c052
|
feat(client): add functional option pattern for JWT auth config
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-09 10:33:31 +08:00 |
|
dailz
|
f8119ff9e5
|
feat(auth): add JWTAuthTransport with auto-refresh RoundTrip
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-09 10:31:39 +08:00 |
|
dailz
|
2dcbfb95b0
|
feat(auth): add token cache with thread-safe auto-refresh
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-09 10:31:27 +08:00 |
|
dailz
|
49cbea948a
|
feat(jwt): add HS256 JWT signing with stdlib-only implementation
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-09 10:31:16 +08:00 |
|
dailz
|
962f63a5c6
|
feat(slurmdb): add JobsService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:35:29 +08:00 |
|
dailz
|
2b14e41d0d
|
feat(slurmdb): add AssocsService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:35:10 +08:00 |
|
dailz
|
74230630c8
|
feat(slurmdb): add ClustersService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:34:42 +08:00 |
|
dailz
|
acd1e175bd
|
feat(slurmdb): add UsersService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:34:18 +08:00 |
|
dailz
|
f64e0dd8af
|
feat(slurmdb): add AccountsService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:33:58 +08:00 |
|
dailz
|
4eba2525f5
|
feat(slurmdb): add QosService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:33:35 +08:00 |
|
dailz
|
0a3f9c1080
|
feat(slurmdb): add WckeysService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:33:09 +08:00 |
|
dailz
|
fe73d519c9
|
feat(slurmdb): add InstancesService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:32:43 +08:00 |
|
dailz
|
7af62eac41
|
feat(slurmdb): add TresService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:32:20 +08:00 |
|
dailz
|
874453d0c8
|
feat(slurmdb): add ConfigService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:31:58 +08:00 |
|
dailz
|
52765f196a
|
feat(slurmdb): add DiagService
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:31:31 +08:00 |
|
dailz
|
5078c5d09a
|
feat(slurmdb): wire slurmdb services into client
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:30:36 +08:00 |
|
dailz
|
4674dc12a9
|
feat(slurmdb): add all slurmdb response types and supporting types
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 21:29:22 +08:00 |
|
dailz
|
f4100f4236
|
feat: 添加 Shares 公平共享类型和 SharesService
包含 SharesRespMsg、AssocSharesObjWrap、TRES 明细等类型。SharesService 提供 GetShares 方法,支持按 accounts 和 users 查询。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 18:30:30 +08:00 |
|
dailz
|
263363a2ba
|
feat: 添加 Diag/Ping/Licenses/Reconfigure 类型和对应服务
包含 StatsMsg(含调度和回填统计)、ControllerPing、License 等类型。实现 4 个服务:DiagService.GetDiag、PingService.Ping、LicensesService.GetLicenses、ReconfigureService.Reconfigure。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 18:30:11 +08:00 |
|
dailz
|
02ed2e7b38
|
feat: 添加 Reservation 领域类型和 ReservationsService
包含 ReservationInfo、ReservationCoreSpec 等类型。ReservationsService 提供 GetReservations 和 GetReservation 2 个方法。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 18:29:53 +08:00 |
|
dailz
|
18ebad8f8f
|
feat: 添加 Partition 领域类型和 PartitionsService
包含 PartitionInfo 及其子结构体(Nodes、Accounts、Groups、QOS、TRES、CPUs、Defaults、Maximums、Minimums、Priority、Timeouts)。PartitionsService 提供 GetPartitions 和 GetPartition 2 个方法。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 18:29:43 +08:00 |
|
dailz
|
f9234b2167
|
feat: 添加 Node 领域类型和 NodesService
包含 Node、UpdateNodeMsg、AcctGatherEnergy、ExtSensorsData、PowerMgmtData 等类型。NodesService 提供 GetNodes、GetNode、PostNode、DeleteNode 4 个方法,并定义 NodeFlag* 常量。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 18:29:26 +08:00 |
|
dailz
|
2c84930983
|
feat: 添加 Job 领域类型和 JobsService
约 93 个结构体覆盖 JobInfo、JobDescMsg、SlurmDBD Job/Step/QOS/Account/User 等类型。JobsService 提供 GetJobs、GetJob、PostJob、DeleteJob、SubmitJob 5 个方法,并定义 JobFlag* 和 JobSignalFlag* 常量。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 18:29:07 +08:00 |
|
dailz
|
5873dc5b72
|
feat: 添加基础类型、工具函数和客户端测试
包含 Ptr[T] 泛型辅助函数、4 种 NoVal 类型(Uint64/Uint32/Uint16/Float64)、字符串集合类型、OpenapiMeta/Error/Warning,以及对应的序列化测试和客户端集成测试。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 18:28:46 +08:00 |
|
dailz
|
73453ddd10
|
chore: 初始化 Slurm Go SDK 项目骨架和核心客户端
添加 Go 模块定义、.gitignore、包文档、HTTP Client 核心、Token 认证和错误处理。
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
|
2026-04-08 18:28:32 +08:00 |
|