多租户选项
你在解决什么问题
SaaS 和内部平台通常需要按租户提供 namespace、kubeconfig、API 版本和超时默认值。IHelmOptionsProvider 把这些决策集中到请求之外。
安装哪些包
powershell
dotnet add package HelmSharp.Action --version 1.1.0完整最小代码
csharp
public sealed class StaticHelmOptionsProvider : IHelmOptionsProvider
{
public ValueTask<HelmExecutionOptions> GetHelmAsync(CancellationToken cancellationToken = default)
=> ValueTask.FromResult(new HelmExecutionOptions
{
DefaultNamespace = "default",
FieldManager = "helmsharp",
TimeoutSeconds = 300,
KubeVersion = "1.30.0",
ApiVersions =
[
"apps/v1",
"batch/v1",
"policy/v1"
]
});
}关键 API 为什么这样用
请求描述一次操作。HelmExecutionOptions 描述执行这次操作的环境策略:kubeconfig、默认 namespace、字段管理器、超时时间、目标 Kubernetes 版本和 API 版本。
生产环境注意事项
- 构造客户端或选项提供器(options provider)前先解析租户身份。
- 不要允许请求体指定任意 kubeconfig 路径。
- 租户 id、部署 id 等审计字段应写入产品自己的日志。
下一步
阅读 错误处理,保证租户级失败可诊断。