mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package types
|
|
|
|
type HelmConfig struct {
|
|
Enabled bool
|
|
Command 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,
|
|
}
|
|
}
|