登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
Gitee AI
NEW
我知道了
查看详情
登录
注册
12月28日,「开源中国源创会年终盛典」珠海站再次回归!点击免费报名参会
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
2
Star
5
Fork
0
weibaohui
/
kom
代码
Issues
0
Pull Requests
0
Wiki
统计
流水线
服务
Gitee Pages
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
我知道了,不再自动展开
发行版
最新版
v0.1.5
5199bfa
2024-12-18 11:31
对比
v0.1.5
weibaohui
kom 新增删除集群功能 适用场景: 1、删除集群 2、重新注册同ID集群 ## 更新内容 * feat(cluster): 添加删除集群功能- 在 ClusterInstances 结构中添加 RemoveClusterById 方法 * docs(README): 更新 Describe 方法的示例代码 **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.1.4...v0.1.5
最后提交信息为:
feat(cluster): 添加删除集群功能- 在 ClusterInstances 结构中添加 RemoveClusterById 方法
v0.1.4
c3bc4f5
2024-12-16 19:30
对比
v0.1.4
weibaohui
KOM 新增 Describe 功能、Label功能、Annotate功能 #### Describe查询某个资源 ```go // Describe default 命名空间下名为 nginx 的 Deployment var describeResult []byte err := kom.DefaultCluster().Resource(&item).Namespace("default").Name("nginx").Describe(&describeResult).Error fmt.Printf("describeResult: %s", describeResult) ``` #### Describe查询某个CRD资源 ```go // Describe default 命名空间下名为 nginx 的 Deployment var describeResult []byte err := kom.DefaultCluster().CRD("stable.example.com", "v1", "CronTab").Namespace("default").Name(item.GetName()).Describe(&describeResult).Error fmt.Printf("describeResult: %s", describeResult) ``` #### 给资源增加标签 ```go err = kom.DefaultCluster().Resource(&Node{}).Name("kind-control-plane").Ctl().Label("name=zhangsan") ``` #### 给资源删除标签 ```go err = kom.DefaultCluster().Resource(&Node{}).Name("kind-control-plane").Ctl().Label("name-") ``` #### 给资源增加注解 ```go err = kom.DefaultCluster().Resource(&Node{}).Name("kind-control-plane").Ctl().Annotate("name=zhangsan") ``` #### 给资源删除注解 ```go err = kom.DefaultCluster().Resource(&Node{}).Name("kind-control-plane").Ctl().Annotate("name-") ``` ## 更新内容 * feat(readme): 添加资源标签和注解操作示例 * docs(README): 添加资源和 CRD 资源的 Describe 查询示例 * test(example): 重构 TestDescribePod 并添加新测试用例- 重构 TestDescribePod 函数,使用新的… * feat(callbacks): 添加 Describe 函数实现资源描述功能 * feat(callbacks): 添加 describe命令支持 * feat(callback): 添加 describe 操作的支持 * docs(kom): 更新 describe 模块 README * feat(status): 添加资源描述映射功能 * feat(kom): 添加资源描述功能 * feat(cluster): 添加资源描述器映射 * refactor(describe): 新增 helper 函数初始化资源描述器映射 * build: 更新 go.mod 和 go.sum 文件 * build: 更新 go.mod 依赖版本 * feat(describe): 添加 Pod 描述功能 * docs(kom/parser): 添加 README.md 文件说明如何生成解析器 * 将定义文件纳入git * test(example): 添加 metadata 相关操作的单元测试 * feat(ctl): 添加更新 label 和 annotation 的功能 **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.1.3...v0.1.4
最后提交信息为:
feat(readme): 添加资源标签和注解操作示例
v0.1.3
151422b
2024-12-15 18:24
对比
v0.1.3
weibaohui
## SQL功能主要特点 - **支持所有资源类型** Kom 支持查询 Kubernetes 集群内注册的所有资源类型,包括内置的资源(如 Pod、Deployment、Service 等)和自定义资源(CRD)。无论是 Kubernetes 内置资源还是自定义 CRD,您都可以通过 SQL 查询快速访问。 - **灵活的查询条件** 使用 SQL 查询时,支持常见的查询操作符,如 `=`, `!=`, `>=`, `<=`, `<>`, `like`, `in`, `not in`, `and`, `or`, `between`,方便用户根据需要进行筛选。 - **简洁高效** 只需要通过一个 SQL 语句,就可以完成对 Kubernetes 资源的查询操作。并且查询字段默认支持 `*`,返回所有资源字段。 - **支持排序** 您可以通过指定排序字段,对查询结果进行排序。默认按创建时间倒序排列,方便查看最新的资源状态。 ## 使用示例 ```go // 查询kube-system、default命名空间下的pod,并按创建时间倒排。 sql := "select * from pod where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` desc " var list []v1.Pod err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e0d20ec9f5434b5f857751807a246467.png) ### 查询 Kubernetes 内置资源 ```go sql := "select * from pod where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` asc" var list []v1.Pod err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` 在上述代码中,我们使用 SQL 语句查询了 `pod` 资源,筛选出了 `kube-system` 和 `default` 命名空间中的 Pod,并按创建时间升序排列。 ### 查询 CRD 资源 ```go sql := "select * from vm where (`metadata.namespace`='kube-system' or `metadata.namespace`='default')" var list []unstructured.Unstructured err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s\n", d.GetNamespace(), d.GetName()) } ``` 在这个示例中,查询了 `kubevirt` 的自定义资源 `vm`,可以快速筛选出特定命名空间的资源信息。 #### 链式调研查询SQL ```go // 查询pod 列表 err := kom.DefaultCluster().From("pod"). Where("`metadata.namespace` = ? or `metadata.namespace`= ? ", "kube-system", "default"). Order("`metadata.creationTimestamp` desc"). List(&list).Error ``` ## 如何开始 1. 将 Kom 集成到您的项目中,可以通过 GitHub 获取源代码并根据文档进行配置。 2. 根据需要编写 SQL 查询语句,灵活筛选和排序 Kubernetes 资源。 3. 使用 `Sql()` 方法与集群交互,获取查询结果。 ## 安装 ```bash import ( "github.com/weibaohui/kom" "github.com/weibaohui/kom/callbacks" ) func main() { // 注册回调,务必先注册 callbacks.RegisterInit() // 注册集群 defaultKubeConfig := os.Getenv("KUBECONFIG") if defaultKubeConfig == "" { defaultKubeConfig = filepath.Join(homedir.HomeDir(), ".kube", "config") } _, _ = kom.Clusters().RegisterInCluster() _, _ = kom.Clusters().RegisterByPathWithID(defaultKubeConfig, "default") kom.Clusters().Show() // 其他逻辑 } ``` ## 使用 ```go sql := "select * from deploy where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` asc " var list []v1.Deployment err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` ## 总结 使用sql查询k8s有没有感觉非常简单? 其他使用方法请参考[https://blog.csdn.net/zihuxinyu/article/details/143920930](https://blog.csdn.net/zihuxinyu/article/details/143920930) ## 本次更新内容 * docs:优化 SQL 查询语句中的字段名称 * test(example): 添加 SQL 查询功能测试用例 * fix(callbacks): 修复各回调函数的错误处理 * refactor: 更新字段哈希计算方法 * feat(utils): 添加 FNV1哈希函数实现 **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.1.2...v0.1.3
最后提交信息为:
docs:优化 SQL 查询语句中的字段名称
v0.1.2
e5f8079
2024-12-13 14:37
对比
v0.1.2
weibaohui
# Kom - 高效便捷的 Kubernetes 资源查询工具 Kubernetes 提供了丰富的 API 和资源类型,但随着资源种类的增加,如何快速、简洁地查询和筛选所需资源变得尤为重要。kom 今天新增了使用SQL查询k8s资源的功能。 ## SQL功能主要特点 - **支持所有资源类型** Kom 支持查询 Kubernetes 集群内注册的所有资源类型,包括内置的资源(如 Pod、Deployment、Service 等)和自定义资源(CRD)。无论是 Kubernetes 内置资源还是自定义 CRD,您都可以通过 SQL 查询快速访问。 - **灵活的查询条件** 使用 SQL 查询时,支持常见的查询操作符,如 `=`, `!=`, `>=`, `<=`, `<>`, `like`, `in`, `not in`, `and`, `or`, `between`,方便用户根据需要进行筛选。 - **简洁高效** 只需要通过一个 SQL 语句,就可以完成对 Kubernetes 资源的查询操作。并且查询字段默认支持 `*`,返回所有资源字段。 - **支持排序** 您可以通过指定排序字段,对查询结果进行排序。默认按创建时间倒序排列,方便查看最新的资源状态。 ## 使用示例 ```go // 查询kube-system、default命名空间下的pod,并按创建时间倒排。 sql := "select * from pod where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` desc " var list []v1.Pod err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e0d20ec9f5434b5f857751807a246467.png) ### 查询 Kubernetes 内置资源 ```go sql := "select * from pod where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` asc" var list []v1.Pod err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` 在上述代码中,我们使用 SQL 语句查询了 `pod` 资源,筛选出了 `kube-system` 和 `default` 命名空间中的 Pod,并按创建时间升序排列。 ### 查询 CRD 资源 ```go sql := "select * from vm where (`metadata.namespace`='kube-system' or `metadata.namespace`='default')" var list []unstructured.Unstructured err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s\n", d.GetNamespace(), d.GetName()) } ``` 在这个示例中,查询了 `kubevirt` 的自定义资源 `vm`,可以快速筛选出特定命名空间的资源信息。 #### 链式调研查询SQL ```go // 查询pod 列表 err := kom.DefaultCluster().From("pod"). Where("`metadata.namespace` = ? or `metadata.namespace`= ? ", "kube-system", "default"). Order("`metadata.creationTimestamp` desc"). List(&list).Error ``` ## 如何开始 1. 将 Kom 集成到您的项目中,可以通过 GitHub 获取源代码并根据文档进行配置。 2. 根据需要编写 SQL 查询语句,灵活筛选和排序 Kubernetes 资源。 3. 使用 `Sql()` 方法与集群交互,获取查询结果。 ## 安装 ```bash import ( "github.com/weibaohui/kom" "github.com/weibaohui/kom/callbacks" ) func main() { // 注册回调,务必先注册 callbacks.RegisterInit() // 注册集群 defaultKubeConfig := os.Getenv("KUBECONFIG") if defaultKubeConfig == "" { defaultKubeConfig = filepath.Join(homedir.HomeDir(), ".kube", "config") } _, _ = kom.Clusters().RegisterInCluster() _, _ = kom.Clusters().RegisterByPathWithID(defaultKubeConfig, "default") kom.Clusters().Show() // 其他逻辑 } ``` ## 使用 ```go sql := "select * from deploy where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` asc " var list []v1.Deployment err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` ## 总结 使用sql查询k8s有没有感觉非常简单? 其他使用方法请参考[https://blog.csdn.net/zihuxinyu/article/details/143920930](https://blog.csdn.net/zihuxinyu/article/details/143920930) ## 更新内容 * refactor(example): 优化 SQL 查询语句并使用参数化查询- 将硬编码的 SQL 查询语句改为参数化查询,提高代码可维护性 * refactor(kom): 优化 SQL 解析中的字段替换逻辑 * feat(utils): 添加 FNV1_32 哈希函数实现了 FNV1_32哈希算法,用于生成32 位哈希值。该算法具有良好的分布性和快速… * test(kom): 更新 add_backticks_test.go 中的测试用例和调用方式 * feat(kom): 优化 SQL语句解析和执行 * feat(sql): 优化 SQL 解析并添加字段名反引号- 重构 SQL 解析逻辑,使用 ANTLR4 解析器替代正则表达式 * feat(parser): 添加 SQLite 解析器基础监听器 * build: 更新 golang.org/x/exp 版本并添加 antlr4-go 依赖 * test(kom): 添加 AddBackticks 方法的单元测试 * style(example): 优化 SQL 查询语句的格式 * feat(sql): 为 SQL 查询中的列名添加反引号 * refactor(kom): 优化 SQL 解析过程 * Update README.md **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.1.1...v0.1.2
最后提交信息为:
refactor(example): 优化 SQL 查询语句并使用参数化查询- 将硬编码的 SQL 查询语句改为参数化查询,提高代码可维护性
v0.1.1
5f7bbc1
2024-12-12 11:24
对比
v0.1.1
weibaohui
# Kom - 高效便捷的 Kubernetes 资源查询工具 Kubernetes 提供了丰富的 API 和资源类型,但随着资源种类的增加,如何快速、简洁地查询和筛选所需资源变得尤为重要。kom 今天新增了使用SQL查询k8s资源的功能。 ## SQL功能主要特点 - **支持所有资源类型** Kom 支持查询 Kubernetes 集群内注册的所有资源类型,包括内置的资源(如 Pod、Deployment、Service 等)和自定义资源(CRD)。无论是 Kubernetes 内置资源还是自定义 CRD,您都可以通过 SQL 查询快速访问。 - **灵活的查询条件** 使用 SQL 查询时,支持常见的查询操作符,如 `=`, `!=`, `>=`, `<=`, `<>`, `like`, `in`, `not in`, `and`, `or`, `between`,方便用户根据需要进行筛选。 - **简洁高效** 只需要通过一个 SQL 语句,就可以完成对 Kubernetes 资源的查询操作。并且查询字段默认支持 `*`,返回所有资源字段。 - **支持排序** 您可以通过指定排序字段,对查询结果进行排序。默认按创建时间倒序排列,方便查看最新的资源状态。 ## 使用示例 ```go // 查询kube-system、default命名空间下的pod,并按创建时间倒排。 sql := "select * from pod where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` desc " var list []v1.Pod err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e0d20ec9f5434b5f857751807a246467.png) ### 查询 Kubernetes 内置资源 ```go sql := "select * from pod where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` asc" var list []v1.Pod err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` 在上述代码中,我们使用 SQL 语句查询了 `pod` 资源,筛选出了 `kube-system` 和 `default` 命名空间中的 Pod,并按创建时间升序排列。 ### 查询 CRD 资源 ```go sql := "select * from vm where (`metadata.namespace`='kube-system' or `metadata.namespace`='default')" var list []unstructured.Unstructured err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s\n", d.GetNamespace(), d.GetName()) } ``` 在这个示例中,查询了 `kubevirt` 的自定义资源 `vm`,可以快速筛选出特定命名空间的资源信息。 #### 链式调研查询SQL ```go // 查询pod 列表 err := kom.DefaultCluster().From("pod"). Where("`metadata.namespace` = ? or `metadata.namespace`= ? ", "kube-system", "default"). Order("`metadata.creationTimestamp` desc"). List(&list).Error ``` ## 如何开始 1. 将 Kom 集成到您的项目中,可以通过 GitHub 获取源代码并根据文档进行配置。 2. 根据需要编写 SQL 查询语句,灵活筛选和排序 Kubernetes 资源。 3. 使用 `Sql()` 方法与集群交互,获取查询结果。 ## 安装 ```bash import ( "github.com/weibaohui/kom" "github.com/weibaohui/kom/callbacks" ) func main() { // 注册回调,务必先注册 callbacks.RegisterInit() // 注册集群 defaultKubeConfig := os.Getenv("KUBECONFIG") if defaultKubeConfig == "" { defaultKubeConfig = filepath.Join(homedir.HomeDir(), ".kube", "config") } _, _ = kom.Clusters().RegisterInCluster() _, _ = kom.Clusters().RegisterByPathWithID(defaultKubeConfig, "default") kom.Clusters().Show() // 其他逻辑 } ``` ## 使用 ```go sql := "select * from deploy where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` asc " var list []v1.Deployment err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` ## 总结 使用sql查询k8s有没有感觉非常简单? 其他使用方法请参考[https://blog.csdn.net/zihuxinyu/article/details/143920930](https://blog.csdn.net/zihuxinyu/article/details/143920930) ## 更新内容 * docs(README): 添加链式查询SQL示例 * refactor(example): 注释掉 komFuncSql() 函数调用- 在 example.go 文件中注释掉了 komFuncSql() 函数调用 * feat(example): 添加 pod 查询功能- 新增 komFuncSql 函数,用于查询 kube-system 和 defaul… * feat(sql_builder): 重构 SQL 解析逻辑 * feat(statement): 增加原始 SQL 和解析状态字段 * fix(kom): 优化 OpenAPI 架构解析和树形结构构建,解决溢出问题 * refactor(example): 优化 SQL 查询和输出格式 * docs/examples(README_cn.md): 更新查询 k8s 内置资源示例 * docs: 更新查询 k8s内置资源的示例 SQL语句 **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.1.0...v0.1.1
最后提交信息为:
docs(README): 添加链式查询SQL示例
v0.1.0
365497c
2024-12-11 22:01
对比
v0.1.0
weibaohui
# Kom - 高效便捷的 Kubernetes 资源查询工具 Kubernetes 提供了丰富的 API 和资源类型,但随着资源种类的增加,如何快速、简洁地查询和筛选所需资源变得尤为重要。kom 今天新增了使用SQL查询k8s资源的功能。 ## SQL功能主要特点 - **支持所有资源类型** Kom 支持查询 Kubernetes 集群内注册的所有资源类型,包括内置的资源(如 Pod、Deployment、Service 等)和自定义资源(CRD)。无论是 Kubernetes 内置资源还是自定义 CRD,您都可以通过 SQL 查询快速访问。 - **灵活的查询条件** 使用 SQL 查询时,支持常见的查询操作符,如 `=`, `!=`, `>=`, `<=`, `<>`, `like`, `in`, `not in`, `and`, `or`, `between`,方便用户根据需要进行筛选。 - **简洁高效** 只需要通过一个 SQL 语句,就可以完成对 Kubernetes 资源的查询操作。并且查询字段默认支持 `*`,返回所有资源字段。 - **支持排序** 您可以通过指定排序字段,对查询结果进行排序。默认按创建时间倒序排列,方便查看最新的资源状态。 ## 使用示例 ```go // 查询kube-system、default命名空间下的pod,并按创建时间倒排。 sql := "select * from pod where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` desc " var list []v1.Pod err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e0d20ec9f5434b5f857751807a246467.png) ### 查询 Kubernetes 内置资源 ```go sql := "select * from pod where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` asc" var list []v1.Pod err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` 在上述代码中,我们使用 SQL 语句查询了 `pod` 资源,筛选出了 `kube-system` 和 `default` 命名空间中的 Pod,并按创建时间升序排列。 ### 查询 CRD 资源 ```go sql := "select * from vm where (`metadata.namespace`='kube-system' or `metadata.namespace`='default')" var list []unstructured.Unstructured err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s\n", d.GetNamespace(), d.GetName()) } ``` 在这个示例中,查询了 `kubevirt` 的自定义资源 `vm`,可以快速筛选出特定命名空间的资源信息。 ## 如何开始 1. 将 Kom 集成到您的项目中,可以通过 GitHub 获取源代码并根据文档进行配置。 2. 根据需要编写 SQL 查询语句,灵活筛选和排序 Kubernetes 资源。 3. 使用 `Sql()` 方法与集群交互,获取查询结果。 ## 安装 ```bash import ( "github.com/weibaohui/kom" "github.com/weibaohui/kom/callbacks" ) func main() { // 注册回调,务必先注册 callbacks.RegisterInit() // 注册集群 defaultKubeConfig := os.Getenv("KUBECONFIG") if defaultKubeConfig == "" { defaultKubeConfig = filepath.Join(homedir.HomeDir(), ".kube", "config") } _, _ = kom.Clusters().RegisterInCluster() _, _ = kom.Clusters().RegisterByPathWithID(defaultKubeConfig, "default") kom.Clusters().Show() // 其他逻辑 } ``` ## 使用 ```go sql := "select * from deploy where `metadata.namespace`='kube-system' or `metadata.namespace`='default' order by `metadata.creationTimestamp` asc " var list []v1.Deployment err := kom.DefaultCluster().Sql(sql).List(&list).Error for _, d := range list { fmt.Printf("List Items foreach %s,%s at %s \n", d.GetNamespace(), d.GetName(), d.GetCreationTimestamp()) } ``` ## 总结 使用sql查询k8s有没有感觉非常简单? 其他使用方法请参考[https://blog.csdn.net/zihuxinyu/article/details/143920930](https://blog.csdn.net/zihuxinyu/article/details/143920930) ## 本次发版更新内容 * feat(kom): 支持 SQL 查询 k8s 资源 * feat(callbacks): 优化列表排序逻辑 * style(example): 调整 SQL 语句格式 * test(example): 更新 SQL 查询语句 * feat(example): 添加 SQL 查询功能- 新增 sql() 函数,用于执行 SQL 查询 * refactor(callbacks): 替换自定义 parseTime 函数为 utils.ParseTime * feat(callbacks): 实现自定义排序功能 * refactor(kom): 优化 SQL 解析和错误处理 * refactor(kom): 移除 sql_parse 中未使用的类型检测函数 * feat(tools): 增强 CRD 表名匹配功能并添加可用表名列表 * feat(utils): 添加时间解析功能- 在 strings.go 文件中添加 ParseTime 函数 * feat(utils): 添加字符串类型检测功能 * test(example): 添加 SQL 查询测试用例 * refactor(example): 注释掉 builtInExample 函数调用 * test(example): 添加 SQL 查询测试用例 * refactor(example): 更新 example.go 中的函数调用 * feat(callbacks): 优化 List调用过程 * feat(kom): 添加 SQL 解析功能 * refactor(kom): 重构 SQL 解析功能 * feat(callbacks): 实现 SQL where 条件过滤功能 * feat(kom): 重构 Filter 结构体 * feat(utils): 添加去除字符串首尾引号的函数 * feat(tools): 增加通过表名查找 GVK 的功能 * refactor(example): 优化 getNestedFieldAsString 函数 * refactor(example): 优化 SQL 解析中的 IN 操作符处理逻辑 * feat(example): 增加对时间类型和 BETWEEN 运算符的支持 * feat(example): 增加 SQL 解析和查询功能 * refactor: 设置日志级别为 6 * feat(example): 添加 SQL 解析和过滤功能 * refactor(example): 移除未使用的 SQL 解析相关代码 * refactor(callbacks): 移除未使用的复杂查询相关代码 * build: 添加 sqlparser 依赖- 在 go.mod 中添加了 github.com/xwb1989/sqlparser 依赖 * feat(example): 添加 SQL 解析功能 * feat(callbacks): 实现复杂查询条件过滤资源列表功能 * feat(statement): 添加过滤参数并优化 Statement 结构 * feat(kom): 添加 SQL 构建器功能 * feat(kom): 添加过滤器功能 * test(example): 增加测试 Pod 列表分页功能- 新增 TestListAllNsPodWithOffsetLimit 函数,… **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.0.36...v0.1.0
最后提交信息为:
feat(kom): 支持 SQL 查询 k8s 资源
v0.0.36
d561931
2024-12-06 18:04
对比
v0.0.36
weibaohui
## 更新内容 * refactor(callbacks): 重构注册初始化函数 * docs(README): 更新文档以包含回调注册说明 * feat(callbacks): 添加 RegisterInit函数 * docs(README): 添加使用 "*"通配符查询所有命名空间的示例 * feat(example): 增加跨命名空间 Pod 列表测试- 新增 TestListNamespaceStartPod 测试函数,用于列… * feat(example): 添加 CronJob 控制示例 * feat(sql): 添加移除管理字段的功能 * feat(rollout): 增加历史记录详细信息 * refactor(rollout): 重构 rollout 历史记录功能- 将历史记录表示为结构化数据 RolloutHistory 切片,而不是字符串 * docs(README): 更新资源列表查询和 Deployment 操作示例 * test(example): 增加列出所有命名空间中的 Pod 测试- 新增 TestListAllNsPod 函数,用于测试列出所有命名空间中的 Pod * feat(Statement): 添加 AllNamespace 字段 * feat(sql): 增加全命名空间查询方法 * refactor(callbacks): 优化 namespaced 列表查询逻辑 * fix(kom): 修复 kubectl 查询时未考虑 AllNamespace 字段 * test(node): 添加节点污点和取消污点的测试用例- 新增 TestNodeTaint函数,用于测试给节点添加污点 * feat(node): 添加节点污点和去污点功能 * fix(kom): 修复查询 ReplicaSet 时的错误 * fix(kom): 优化 ReplicaSet 列表处理和历史记录显示 * test(example): 添加节点管理功能的单元测试 * refactor(example): 注释掉部分示例函数调用并添加节点排空功能 * feat(ctl): 添加 Node 功能 * feat(kom): 添加节点维护命令 * refactor(kom/ctl_rollout.go): 优化资源类型检查和StatefulSet历史记录处理 * test(example): 重构 rollout 测试用例 * test:优化 rollout 测试中的错误处理 * refactor(rollout): 重构回滚功能并添加版本参数- 修改 Undo 方法,支持接收多个版本参数 * test(example): 添加 DaemonSet滚动更新状态测试 * refactor(rollout): 限制 rollout 暂停和恢复操作的资源类型 * test(example): 扩展 rollout测试覆盖 DaemonSet * feat(rollout): 支持 DaemonSet 的历史记录和回滚操作 * test(example): 添加 rollout 相关测试 * feat(rollout): 实现 Deployment 的回滚功能 * feat(kom): 添加 newInstance 方法- 新增 newInstance 方法,用于获取一个只保留 ctx 的全新实例- 该… * test(example): 优化 Pod 列表测试用例 * refactor(kom): 优化 List 方法中选项的处理逻辑 * test(example): 添加 Deployment 历史记录测试功能 * feat(rollout): 添加资源历史记录功能 * feat(kom): 优化 List 方法,支持合并默认和自定义选项 * feat(rollout): 添加滚动更新状态检查功能 * refactor(kom): 重构 scale 命令逻辑 * refactor(kom): 优化 rollout 功能的资源类型检查 * feat(kom): 添加支持的资源类型检查函数 * refactor(rollout): 优化资源类型检查逻辑 * refactor(kom): 重构 Scale 命令支持性检查- 引入 isSupportedKind函数以简化支持性检查逻辑- 修正错误消息中的首字母大写 * feat(kom): 增加 rollout 暂停和恢复功能 * refactor(example): 重构 Deployment相关操作 * feat(ctl): 添加 DaemonSet、Rollout 和 Scale 功能 **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.0.28...v0.0.36
最后提交信息为:
refactor(callbacks): 重构注册初始化函数
v0.0.30
0d7fd5c
2024-12-05 18:02
对比
v0.0.30
weibaohui
## 更新内容 * test(example): 增加列出所有命名空间中的 Pod 测试- 新增 TestListAllNsPod 函数,用于测试列出所有命名空间中的 Pod * feat(Statement): 添加 AllNamespace 字段 * feat(sql): 增加全命名空间查询方法 * refactor(callbacks): 优化 namespaced 列表查询逻辑 * fix(kom): 修复 kubectl 查询时未考虑 AllNamespace 字段 * test(node): 添加节点污点和取消污点的测试用例- 新增 TestNodeTaint函数,用于测试给节点添加污点 * feat(node): 添加节点污点和去污点功能 * fix(kom): 修复查询 ReplicaSet 时的错误 * fix(kom): 优化 ReplicaSet 列表处理和历史记录显示 * test(example): 添加节点管理功能的单元测试 * refactor(example): 注释掉部分示例函数调用并添加节点排空功能 * feat(ctl): 添加 Node 功能 * feat(kom): 添加节点维护命令 * ``` * refactor(kom/ctl_rollout.go): 优化资源类型检查和StatefulSet历史记录处理 * ```deps(go.mod): 更新依赖项 * test(example): 重构 rollout 测试用例 * test:优化 rollout 测试中的错误处理 * refactor(rollout): 重构回滚功能并添加版本参数- 修改 Undo 方法,支持接收多个版本参数 * test(example): 添加 DaemonSet滚动更新状态测试 * refactor(rollout): 限制 rollout 暂停和恢复操作的资源类型 * test(example): 扩展 rollout测试覆盖 DaemonSet * feat(rollout): 支持 DaemonSet 的历史记录和回滚操作 * test(example): 添加 rollout 相关测试 * feat(rollout): 实现 Deployment 的回滚功能 * feat(kom): 添加 newInstance 方法- 新增 newInstance 方法,用于获取一个只保留 ctx 的全新实例- 该… * test(example): 优化 Pod 列表测试用例 * refactor(kom): 优化 List 方法中选项的处理逻辑 * test(example): 添加 Deployment 历史记录测试功能 * feat(rollout): 添加资源历史记录功能 * feat(kom): 优化 List 方法,支持合并默认和自定义选项 * feat(rollout): 添加滚动更新状态检查功能 * refactor(kom): 重构 scale 命令逻辑 * refactor(kom): 优化 rollout 功能的资源类型检查 * feat(kom): 添加支持的资源类型检查函数 * refactor(rollout): 优化资源类型检查逻辑 * refactor(kom): 重构 Scale 命令支持性检查- 引入 isSupportedKind函数以简化支持性检查逻辑- 修正错误消息中的首字母大写 * feat(kom): 增加 rollout 暂停和恢复功能 * refactor(example): 重构 Deployment相关操作 * feat(ctl): 添加 DaemonSet、Rollout 和 Scale 功能 * refactor(kom): 重构 Deployment、DaemonSet、ReplicationController 和 ReplicaSet 的控制逻辑 * refactor(kom): 重构 StatefulSet 的 Restart 和 Scale 方法- 删除了未使用的导入语句 * feat(kom): 添加资源缩放功能 * feat(kom): 添加资源重启功能 * refactor(README_cn.md): 更新获取 Pod 日志的代码示例 **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.0.29...v0.0.30
最后提交信息为:
test(example): 增加列出所有命名空间中的 Pod 测试- 新增 TestListAllNsPod 函数,用于测试列出所有...
v0.0.24
ada580e
2024-11-18 12:57
对比
v0.0.24
weibaohui
## 更新内容 * refactor(example): 重构 List 请求的测试用例 * docs: 更新 README 中的资源查询方法 * refactor: 移除 kom/option/option.go 文件 * refactor(example): 重构列表操作的 API 调用 * feat(kubectl): 添加标签选择器和字段选择器功能 * refactor(kom): 更新 ListOptions 字段注释 * refactor(kom): 简化 listResources 函数签名 * Merge remote-tracking branch 'origin/main' * fix(utils): 修复字符串转无符号整型函数 * Update SECURITY.md * Create SECURITY.md * Create dependabot.yml * refactor(README_cn.md): 更新 Komiko 客户端调用示例 * refactor examples: 更新资源事件处理示例代码 * docs(README): 更新安装说明以包含 callbacks 的导入 * docs: 更新 README 文件 * docs(README): 增加文档 * docs(README): 添加中文使用文档 * refactor(example): 移除未使用的函数调用 * docs:更新 README 中的 callback 机制文档 * docs(README): 更新内置资源和CRD操作示例 **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.0.23...v0.0.24
最后提交信息为:
refactor(example): 重构 List 请求的测试用例
v0.0.23
2aeecd5
2024-11-10 11:07
对比
v0.0.23
weibaohui
## 更新内容 * docs(README): 更新文档以反映新功能和改进 * refactor(kom): 重构 GVK 解析逻辑 * refactor(kom): 将工具函数移至 tools 包中- 将 getGVR、getGVRByGVK、isBuiltinResourc… * refactor(example): 更新示例函数调用 * fix(example): 修正 Pod 事件处理中的命名空间和名称顺序- 在 example.go 和 README.md 中,将 Pod… * docs(README): 添加 CR 对象 watch 示例代码 * feat(example): 添加 CRD 示例功能 * feat(tools): 添加 ConvertRuntimeObjectToUnstructuredObject 函数 * refactor(example): 移除未使用的 ConvertToTypedObject 函数- 删除了 example.go 文件中的… * docs(README): 添加资源变更监控示例代码 * refactor(example): 调整 PodWatcher 初始化逻辑 * refactor(example): 移除 example.go 中的未使用代码 * feat(example): 添加 Pod 监视器并增强回调处理 * feat(tools): 添加通用对象转换工具 * feat(callbacks): 添加 Watch 函数以支持资源监控 * feat(kom): 添加资源监控功能 * refactor(callbacks): 删除 List函数中未使用的 ctx 参数 * feat(callbacks): 添加 watch 回调 * feat(callback): 添加 watch 功能并实现相关处理器 * docs(README): 补充说明读取 Pod 日志的示例代码 * style: 删除 pod_log_test.go 中的多余空行 * docs(README): 添加文件删除示例 * test:用 t.Logf 替代 fmt.Printf 在测试文件中打印日志 * test:优化测试日志输出并移除未使用的导入 * test(example): 添加文件列表和删除文件测试用例 * test(example): 重构测试代码并增加 Pod 删除测试 * test(example): 优化测试代码并添加资源清理逻辑 * test(example): 添加 CRUD 操作的单元测试 * refactor(example): 重构测试用例并添加资源清理逻辑 * feat(utils): 添加 WaitUntil 函数 * test(example): 修改 pod 名称以测试随机名称生成 * test(example): 添加测试环境初始化和测试部署创建 * test(example): 重构上传文件测试并添加保存文件测试 * feat(kom): 优化文件操作错误信息并添加文件删除功能 * test(example): 修改文件上传测试的睡眠时间和命令执行 * test(example): 添加上传文件测试用例 * refactor(example): 移除未使用的函数和导入 * docs:补充 FieldSelector 查询资源列表的说明 * example(example): 更新示例代码以展示更多功能 * fix(callbacks): 为命名空间操作设置默认命名空间 * fix(callbacks): 修复删除 namespaced 资源时未指定命名空间的错误 * refactor(example): 修改示例代码 * feat(kom): 增加文件所有者和组信息 * build: 添加 .air.toml配置文件 * build: 更新 .gitignore 文件- 添加 /bin/ 目录到忽略列表,避免编译输出文件被 Git 跟踪- 添加 /test 目… * build: 更新 gnostic-models依赖 * test(example): 上传大文件测试 * feat(poder): 上传文件至容器时使用 tar 压缩 * refactor(callbacks): 优化 exec 回调的代码结构 * fix(callbacks): 修复 exec回调中流式传输逻辑- 修复了 exec 回调中分块读取和传输逻辑的错误 **完整的更新日志**: https://gitee.com/weibaohui/kom/compare/v0.0.12...v0.0.23
最后提交信息为:
docs(README): 更新文档以反映新功能和改进
下载
请输入验证码,防止盗链导致资源被占用
取消
下载
Go
1
https://gitee.com/weibaohui/kom.git
git@gitee.com:weibaohui/kom.git
weibaohui
kom
kom
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册