envsubst

package
v0.26.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetEnvsubstBytesArgsFromEnvFunc

type GetEnvsubstBytesArgsFromEnvFunc func(args []string, bytes []byte) ([]byte, error)
var GetEnvsubstBytes GetEnvsubstBytesArgsFromEnvFunc = func(args []string, contents []byte) ([]byte, error) {
	if len(args) == 0 {
		return contents, nil
	}

	argsKeys := []string{}
	for _, key := range args {
		_, exists := os.LookupEnv(key)
		if !exists {
			return []byte{}, fmt.Errorf("failed to find %s in environment", key)
		}
		argsKeys = append(argsKeys, fmt.Sprintf("$%s", key))
	}

	osCmd := exec.Command("envsubst", strings.Join(argsKeys, ","))
	osCmd.Stdin = bytes.NewReader(contents)
	osCmd.Stderr = os.Stderr

	return osCmd.Output()
}

type GetEnvsubstBytesArgsFunc

type GetEnvsubstBytesArgsFunc func(args map[string]string, bytes []byte) ([]byte, error)
var GetEnvsubstBytesArgs GetEnvsubstBytesArgsFunc = func(args map[string]string, contents []byte) ([]byte, error) {
	argsKeys := []string{}
	for key := range args {
		argsKeys = append(argsKeys, fmt.Sprintf("$%s", key))
	}

	osCmd := exec.Command("envsubst", strings.Join(argsKeys, ","))
	osCmd.Env = os.Environ()

	for key, value := range args {
		osCmd.Env = append(osCmd.Env, fmt.Sprintf("%s=%s", key, value))
	}

	osCmd.Stdin = bytes.NewReader(contents)
	osCmd.Stderr = os.Stderr

	return osCmd.Output()
}

Jump to

Keyboard shortcuts

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