Documentation
¶
Overview ¶
Package env provides functions to incorporate environment variables into kubectl commands.
Index ¶
- func Env(key string, defaultValue string) string
- func GetEnv(key string) (string, bool)
- func GetEnvVarRefString(from *v1.EnvVarSource) string
- func GetEnvVarRefValue(kc kubernetes.Interface, ns string, store *ResourceStore, ...) (string, error)
- func IsEnvironmentArgument(s string) bool
- func IsValidEnvironmentArgument(s string) bool
- func ParseEnv(spec []string, defaultReader io.Reader) ([]v1.EnvVar, []string, error)
- func SplitEnvironmentFromResources(args []string) (resources, envArgs []string, ok bool)
- type ResourceStore
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Env ¶
func Env(key string, defaultValue string) string
Env returns an environment variable if not nil, or a default value.
Example (DefaultValue) ¶
Output:
default
Example (VariableExists) ¶
Output: test value
func GetEnv ¶
func GetEnv(key string) (string, bool)
GetEnv returns an environment value if not nil, and an ok boolean.
Example (VariableDoesNotExist) ¶
Output:
false
Example (VariableExists) ¶
Output:
value true
func GetEnvVarRefString ¶
func GetEnvVarRefString(from *v1.EnvVarSource) string
GetEnvVarRefString returns a text description of whichever field is set within the supplied EnvVarSource argument.
func GetEnvVarRefValue ¶
func GetEnvVarRefValue(kc kubernetes.Interface, ns string, store *ResourceStore, from *v1.EnvVarSource, obj runtime.Object, c *v1.Container) (string, error)
GetEnvVarRefValue returns the value referenced by the supplied EnvVarSource given the other supplied information.
func IsEnvironmentArgument ¶
func IsEnvironmentArgument(s string) bool
IsEnvironmentArgument checks whether a string is an environment argument, that is, whether it matches the "anycharacters=anycharacters" pattern.
Example (False) ¶
Output:
false
Example (True) ¶
Output:
true
func IsValidEnvironmentArgument ¶
func IsValidEnvironmentArgument(s string) bool
IsValidEnvironmentArgument checks whether a string is a valid environment argument, that is, whether it matches the "wordcharacters=anycharacters" pattern. Word characters can be letters, numbers, and underscores.
Example (False) ¶
Output:
false
Example (True) ¶
Output:
true
func ParseEnv ¶
func ParseEnv(spec []string, defaultReader io.Reader) ([]v1.EnvVar, []string, error)
ParseEnv parses the elements of the first argument looking for environment variables in key=value form and, if one of those values is "-", it also scans the reader. The same environment variable cannot be both modified and removed in the same command.
Example (Bad) ¶
Output: [] [] environment variables must be of the form key=value and can only contain letters, numbers, and underscores
Example (Good) ¶
Output:
[{ENV VARIABLE nil} {AND ANOTHER nil} {FROM READER nil}] [REMOVE] <nil>
func SplitEnvironmentFromResources ¶
func SplitEnvironmentFromResources(args []string) (resources, envArgs []string, ok bool)
SplitEnvironmentFromResources separates resources from environment arguments. Resources must come first. Arguments may have the "DASH-" syntax.
Example ¶
Output:
[resource] [ENV\=ARG ONE\=MORE DASH-] true
Types ¶
type ResourceStore ¶
type ResourceStore struct {
SecretStore map[string]*v1.Secret
ConfigMapStore map[string]*v1.ConfigMap
}
ResourceStore defines a new resource store data structure.
func NewResourceStore ¶
func NewResourceStore() *ResourceStore
NewResourceStore returns a pointer to a new resource store data structure.