mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
It makes sense to add that as a CLI args since you could use one single kustomization file/helm chart for multiple clusters. Also it's easier to have those on the CLI if the user has some kind of tooling that will end up calling kustomize and that could pass those (i.e.: ArgoCD is doing that for Helm so it could do that for Kustomize as well that will end up calling Helm as well). Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@ledger.fr>
50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package types
|
|
|
|
type HelmConfig struct {
|
|
Enabled bool
|
|
Command string
|
|
ApiVersions []string
|
|
KubeVersion string
|
|
}
|
|
|
|
// PluginConfig holds plugin configuration.
|
|
type PluginConfig struct {
|
|
// PluginRestrictions distinguishes plugin restrictions.
|
|
PluginRestrictions PluginRestrictions
|
|
|
|
// BpLoadingOptions distinguishes builtin plugin behaviors.
|
|
BpLoadingOptions BuiltinPluginLoadingOptions
|
|
|
|
// FnpLoadingOptions sets the way function-based plugin behaviors.
|
|
FnpLoadingOptions FnPluginLoadingOptions
|
|
|
|
// HelmConfig contains metadata needed for allowing and running helm.
|
|
HelmConfig HelmConfig
|
|
}
|
|
|
|
func EnabledPluginConfig(b BuiltinPluginLoadingOptions) (pc *PluginConfig) {
|
|
pc = MakePluginConfig(PluginRestrictionsNone, b)
|
|
pc.FnpLoadingOptions.EnableStar = true
|
|
pc.HelmConfig.Enabled = true
|
|
// If this command is not on PATH, tests needing it should skip.
|
|
pc.HelmConfig.Command = "helmV3"
|
|
return
|
|
}
|
|
|
|
func DisabledPluginConfig() *PluginConfig {
|
|
return MakePluginConfig(
|
|
PluginRestrictionsBuiltinsOnly,
|
|
BploUseStaticallyLinked)
|
|
}
|
|
|
|
func MakePluginConfig(pr PluginRestrictions,
|
|
b BuiltinPluginLoadingOptions) *PluginConfig {
|
|
return &PluginConfig{
|
|
PluginRestrictions: pr,
|
|
BpLoadingOptions: b,
|
|
}
|
|
}
|