Skip to content

选择包和 API

按应用需要执行的操作选择包。渲染会加载 Chart 和 values,并返回清单文本;发布操作还需要 Kubernetes 凭据,并维护生命周期历史。

按任务选择

目标从这里开始主要类型以下情况不要选它
渲染 ChartHelmSharp.Chart + HelmSharp.EngineHelmChartLoaderHelmValuesHelmTemplateRenderer应用还必须提交资源并记录 release 历史。
提供 Helm 风格操作HelmSharp.ActionHelmClientIHelmClient、请求对象、CommandResult只需要 YAML 且不希望依赖 Kubernetes。
提交现有 YAMLHelmSharp.KubeKubernetesManifestApplierKubernetesResourceWaiterManifestIdentity需要 Helm release 状态、hook 或 values 合并。
直接处理 releaseHelmSharp.Releaserelease 模型与 Kubernetes 存储HelmClient 已经拥有完整工作流。
维护 HTTP Chart 仓库HelmSharp.RepoHelmChartRepositoryHelmRepoIndexerHelmPullRequest需求是完整 OCI registry 对齐。
转换清单文本HelmSharp.PostRendererIPostRenderer转换逻辑本就应该写在 Chart 模板中。

使用高层客户端还是渲染器?

应用提供渲染能力时,直接用 HelmTemplateRenderer。这样代码会清楚展示操作:加载 Chart、计算 values、配置 capabilities、返回字符串。

公共接口有意模拟 Helm 操作时,使用 HelmClient。它为 template、打包、仓库、依赖和生命周期操作统一返回 CommandResult,因此 HTTP 接口或 CLI 都能一致地处理标准输出、标准错误和退出码。

csharp
var result = await client.TemplateAsync(new HelmTemplateRequest
{
    ReleaseName = "preview",
    Namespace = "platform",
    Chart = chartPath,
    ValuesFiles = ["values.production.yaml"],
    KubeVersion = "1.30.0"
}, cancellationToken);

if (!result.Succeeded)
    return Results.BadRequest(result.StandardError);

return Results.Text(result.StandardOutput, "text/yaml");

使用生成的公共 API 索引

生成页从当前源码列出公开类型、属性和方法。它是按名称和源码查找的索引,并非完整 API 参考文档。先用包指南判断应该把哪一层抽象放进代码,再根据列出的源码文件路径在仓库中找到声明,查询参数级细节。

指南生成 API
HelmSharp.Action指南API
HelmSharp.Chart指南API
HelmSharp.Engine指南API
HelmSharp.Kube指南API
分发与扩展包全部包指南全部生成页

HelmSharp.Engine.FunctionsHelmSharp.Engine.Utilities 下的模板 helper 类型主要用于实现 Helm/Sprig 行为。应用代码应将 HelmTemplateRenderer 视为渲染器 API;Chart 要依赖某个 helper 前,请查阅函数矩阵

基于 MIT License 发布。