env

package
v0.20.0-beta.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2020 License: Apache-2.0 Imports: 16 Imported by: 22

Documentation

Overview

Package env provides functions to incorporate environment variables into set env.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetEnvVarRefString

func GetEnvVarRefString(from *corev1.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 *corev1.EnvVarSource, obj runtime.Object, c *corev1.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)
test := "returnsfalse"
fmt.Println(IsEnvironmentArgument(test))
Output:

false
Example (True)
test := "returns=true"
fmt.Println(IsEnvironmentArgument(test))
Output:

true

func IsHugePageResourceName added in v0.20.0

func IsHugePageResourceName(name corev1.ResourceName) bool

IsHugePageResourceName returns true if the resource name has the huge page resource prefix.

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)
test := "not$word^characters=test"
fmt.Println(IsValidEnvironmentArgument(test))
Output:

false
Example (True)
test := "wordcharacters=true"
fmt.Println(IsValidEnvironmentArgument(test))
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)
var r io.Reader
bad := []string{"This not in the key=value format."}
fmt.Println(ParseEnv(bad, r))
Output:

[] [] environment variables must be of the form key=value and can only contain letters, numbers, and underscores
Example (Good)
r := strings.NewReader("FROM=READER")
ss := []string{"ENV=VARIABLE", "AND=ANOTHER", "REMOVE-", "-"}
fmt.Println(ParseEnv(ss, r))
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
args := []string{`resource`, "ENV\\=ARG", `ONE\=MORE`, `DASH-`}
fmt.Println(SplitEnvironmentFromResources(args))
Output:

[resource] [ENV\=ARG ONE\=MORE DASH-] true

Types

type ResourceStore

type ResourceStore struct {
	SecretStore    map[string]*corev1.Secret
	ConfigMapStore map[string]*corev1.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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL