golang利用helm的sdk写一个chats转换成yaml文件
chats_dir: 就是 helm pull下来的仓库
可以用命令直接生成 helm3 template chats_dir --release-name hank 可以变成yaml文件,然后就可以直接apply了
下面利用helm的sdk把chats生成yaml代码
package main
import (
"fmt"
"log"
"os"
"helm.sh/helm/v3/pkg/action"
"helm.sh/helm/v3/pkg/chart/loader"
"helm.sh/helm/v3/pkg/cli"
"helm.sh/helm/v3/pkg/cli/values"
"helm.sh/helm/v3/pkg/getter"
)
func main() {
// 创建一个 helm 配置对象
settings := cli.New()
client := action.NewInstall(&action.Configuration{})
// 加载 chart 文件,这里应该说是加载chart的目录代码,其中values写好了
chartPath, err := client.ChartPathOptions.LocateChart("./chart", settings)
if err != nil {
log.Fatal(err)
}
chart, err := loader.Load(chartPath)
if err != nil {
log.Fatal(err)
}
// 创建一个 values 对象,用于存储 chart 的值
vals := values.Options{}
valueOpts := &vals
p := getter.All(settings)
val, err := valueOpts.MergeValues(p)
if err != nil {
log.Fatal(err)
}
// 创建一个 action 对象,用于执行 helm 操作
client.DryRun = true // 设置为 dry-run 模式,不实际安装 chart
client.ReleaseName = "my-release" // 设置 release 名称
client.Replace = true // 设置为替换模式,如果 release 已存在则覆盖
client.ClientOnly = true // 设置为客户端模式,不与集群交互
// 执行 helm template 操作,并获取结果
rel, err := client.Run(chart, val)
if err != nil {
log.Fatal(err)
}
// 将结果输出为 yaml 格式
fmt.Fprintln(os.Stdout, rel.Manifest)
}
golang利用helm的sdk写一个chats转换成yaml文件的更多相关文章
- python 练习题:请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串
# -*- coding: utf-8 -*- # 请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串 n1 = 255 n2 = 1000 print(hex(n1)) pr ...
- 泛型(二)封装工具类CommonUtils-把一个Map转换成指定类型的javabean对象
1.commons-beanutils的使用 commons-beanutils-1.9.3.jar 依赖 commons-logging-1.2.jar 代码1: String className ...
- 把一个序列转换成严格递增序列的最小花费 CF E - Sonya and Problem Wihtout a Legend
//把一个序列转换成严格递增序列的最小花费 CF E - Sonya and Problem Wihtout a Legend //dp[i][j]:把第i个数转成第j小的数,最小花费 //此题与po ...
- 把一个序列转换成非严格递增序列的最小花费 POJ 3666
//把一个序列转换成非严格递增序列的最小花费 POJ 3666 //dp[i][j]:把第i个数转成第j小的数,最小花费 #include <iostream> #include < ...
- Javascript里,想把一个整数转换成字符串,字符串长度为2
Javascript里,想把一个整数转换成字符串,字符串长度为2. 想把一个整数转换成字符串,字符串长度为2,怎么弄?比如 1 => "01"11 => " ...
- Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互
框架的东西太复杂也难以讲通,直接上代码: 一.首先得配置环境 和导入必要的jar包 有一些重要的如下: Filter文件夹下的SafetyFilter.java model文件夹下的 Global ...
- 利用SpringBoot+Logback手写一个简单的链路追踪
目录 一.实现原理 二.代码实战 三.测试 最近线上排查问题时候,发现请求太多导致日志错综复杂,没办法把用户在一次或多次请求的日志关联在一起,所以就利用SpringBoot+Logback手写了一个简 ...
- Linux下面将windows写的脚本转换成 Linux 格式的文件
1.接着上一篇blog 发现有一个问题 vim 打开文件 发现最下面有一行信息: 2. 里面有一些 不一样的地方. linux里面没法执行 ,如果想执行的话 可以输入命令 :set fileforma ...
- 310实验室OTL问题----将写好的C++文件转换成Python文件,并将数据可视化
如图:文件夹 第一处:optimizer文件夹下的:optimizer.h文件中添加你所写代码的头文件 #include <OTL/Optimizer/Reference-NSGA-II/Re ...
- 利用C# 窗体设计 写一个抽奖游戏
老师布置了一个任务,要求我们做一个抽奖游戏,以下是我个人制作的一个作品与写项目的过程. 我们用到了8个pictureBox控件和一个button,设置好大小,并且编排成一个九宫个形状 添加窗体的背景图 ...
随机推荐
- 使用 .NET Core+GcExcel,生成 Excel 文件
引言 在当今数字化办公和数据处理的大环境下,在线生成 Excel 文件成为了许多企业和开发者的需求..NET Core 作为一个跨平台的开源框架,具有高效.灵活等特点,而 GcExcel 是一款功能强 ...
- GIM 1.4 发布了 (附使用 mkdocs 快速制作静态站点流程)
GIM 1.4.0 今天发布了! GIM 是 MAC 上一个根据文件或代码变更自动总结文件变更总汇总生成提交消息的工具:GIT仓库. 官方文档:https://git-intelligence-mes ...
- memcached学习手记1-windows下xampp安装配置memcached-1.4.13-win32-bin, 及php_memcache.dll(php5.4)
1. 下载memcache的windows版, 解压放某个盘下面, 比如在D:\memcached下载地址:http://code.jellycan.com/files/memcached-1.2.6 ...
- SQLPrompt关闭联网
关闭Redgate.client的联网 方法一:修改hosts文件 C:\Windows\System32\drivers\etc\hosts 127.0.0.1 licensing.red-gate ...
- electron中定义ipc的完美方案
前语 发现在主进程和渲染进程通信的设计中,很多代码都是重复的,导致最后非常臃肿,且不利于后期扩展 electron项目中 核心文件结构如下 | -- index.js | -- index.html ...
- java hashmap 浅出深入
简介 一般集合和map的底层原理实现可能会被面试官问到. 参考链接 https://www.bilibili.com/video/BV1oE411n7ug?from=search&seid=4 ...
- QT 新建子窗口注意事项
简介 新建子窗口注意事项 要保持类名一致 例如 Log.ui class Log 都是Log
- SciTech-Mathmatics-Physics-Particle+Movement-Election-The Maxwell Equations-Wave-Particle Duality. 电场(Election)•磁场(磁通量)•光(Photon) + Hertz's Proof。
The Maxwell Equations: 电.磁.光 Static Electric Field Static Magnetic Field Changing Electric Field Cha ...
- 第01课:Spring Boot开发环境搭建和项目启动 -九五小庞
1. jdk 的配置 使用 IDEA 进行开发,在IDEA 中配置 jdk 的方式很简单,打开 File->Project Structure ,如下图所: 1. 选择 SDKs 2. 在 JD ...
- 【转】-Java 中的阻塞队列
Java 中的阻塞队列 该博客转载自方腾飞的聊聊并发(七)--Java 中的阻塞队列 1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列.这两个附加的操作 ...