package konfig

import "sigs.k8s.io/kustomize/api/konfig"

Package konfig provides configuration methods and constants for the kustomize API, e.g. the set of file names to look for to identify a kustomization root.

Index

Constants

const (
	// An environment variable to consult for kustomization
	// configuration data.  See:
	// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
	XdgConfigHomeEnv = "XDG_CONFIG_HOME"

	// Use this when XdgConfigHomeEnv not defined.
	XdgConfigHomeEnvDefault = ".config"

	// A program name, for use in help, finding the XDG_CONFIG_DIR, etc.
	ProgramName = "kustomize"

	// ConfigAnnoDomain is internal configuration-related annotation namespace.
	// See https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md.
	ConfigAnnoDomain = "internal.config.kubernetes.io"

	// If a resource has this annotation, kustomize will drop it.
	IgnoredByKustomizeAnnotation = "config.kubernetes.io/local-config"

	// Label key that indicates the resources are built from Kustomize
	ManagedbyLabelKey = "app.kubernetes.io/managed-by"

	// An environment variable to turn on/off adding the ManagedByLabelKey
	EnableManagedbyLabelEnv = "KUSTOMIZE_ENABLE_MANAGEDBY_LABEL"

	// Label key that indicates the resources are validated by a validator
	ValidatedByLabelKey = "validated-by"
)
const (
	// Symbol that must be used inside Go plugins.
	PluginSymbol = "KustomizePlugin"

	// Name of environment variable used to set AbsPluginHome.
	// See that variable for an explanation.
	KustomizePluginHomeEnv = "KUSTOMIZE_PLUGIN_HOME"

	// Relative path below XDG_CONFIG_HOME/kustomize to find plugins.
	// e.g. AbsPluginHome = XDG_CONFIG_HOME/kustomize/plugin
	RelPluginHome = "plugin"

	// Location of builtin plugins below AbsPluginHome.
	BuiltinPluginPackage = "builtin"

	// The value of kubernetes ApiVersion to use in configuration
	// files for builtin plugins.
	// The value for non-builtins can be anything.
	BuiltinPluginApiVersion = BuiltinPluginPackage

	// Domain from which kustomize code is imported, for locating
	// plugin source code under $GOPATH when GOPATH is defined.
	DomainName = "sigs.k8s.io"

	// Injected into plugin paths when plugins are disabled.
	// Provides a clue in flows that shouldn't happen.
	NoPluginHomeSentinal = "/No/non-builtin/plugins!"
)

Functions

func CurrentWorkingDir

func CurrentWorkingDir() string

func DefaultAbsPluginHome

func DefaultAbsPluginHome(fSys filesys.FileSystem) (string, error)

DefaultAbsPluginHome returns the absolute path in the given file system to first directory that looks like a good candidate for the home of kustomize plugins.

func DefaultKustomizationFileName

func DefaultKustomizationFileName() string

func FirstDirThatExistsElseError

func FirstDirThatExistsElseError(
	what string,
	fSys filesys.FileSystem,
	pathFuncs []NotedFunc) (string, error)

FirstDirThatExistsElseError tests different path functions for existence, returning the first that works, else error if all fail.

func HomeDir

func HomeDir() string

func RecognizedKustomizationFileNames

func RecognizedKustomizationFileNames() []string

RecognizedKustomizationFileNames is a list of file names that kustomize recognizes. To avoid ambiguity, a kustomization directory may not contain more than one match to this list.

Types

type NotedFunc

type NotedFunc struct {
	Note string
	F    func() string
}

Source Files

doc.go general.go plugins.go

Version
v0.20.0 (latest)
Published
Jun 28, 2025
Platform
linux/amd64
Imports
5 packages
Last checked
2 days ago

Tools for package owners.