utils

package
v1.0.0-beta.4 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2019 License: Apache-2.0 Imports: 18 Imported by: 29

Documentation

Index

Constants

View Source
const (
	GlobalValuesKey = "global"
)

Variables

View Source
var ModuleDisabled = false
View Source
var ModuleEnabled = true

Functions

func CalculateChecksumOfDirectory

func CalculateChecksumOfDirectory(dir string) (string, error)

func CalculateChecksumOfFile

func CalculateChecksumOfFile(path string) (string, error)

func CalculateChecksumOfPaths

func CalculateChecksumOfPaths(pathes ...string) (string, error)

func CalculateStringsChecksum

func CalculateStringsChecksum(stringArr ...string) string

func Dump

func Dump(values Values, dumper ValuesDumper) error

func DumpValuesJson

func DumpValuesJson(values Values) ([]byte, error)

func DumpValuesYaml

func DumpValuesYaml(values Values) ([]byte, error)

func FilesFromRoot

func FilesFromRoot(root string, filterFn func(dir string, name string, info os.FileInfo) bool) (files map[string]map[string]string, err error)

FilesFromRoot returns a map with path and array of files under it

func FindExecutableFilesInPath

func FindExecutableFilesInPath(dir string) (executables []string, nonExecutables []string, err error)

FindExecutableFilesInPath returns a list of executable and a list of non-executable files in path

func ListFullyIn

func ListFullyIn(arr []string, ref []string) bool

ListFullyIn returns whether all 'arr' items contains in `ref` array.

func ListIntersection

func ListIntersection(arrs ...[]string) (result []string)

ListIntersection returns an array with items that are present in all 'arrs' arrays.

func ListSubtract

func ListSubtract(src []string, ignored ...[]string) (result []string)

ListSubtract creates a new array from 'src' array with items that are not present in 'ignored' arrays.

func ModuleNameFromValuesKey

func ModuleNameFromValuesKey(moduleValuesKey string) string

ModuleNameFromValuesKey returns kebab-cased name from camelCased (verySimpleModule become ver-simple-module)

func ModuleNameToValuesKey

func ModuleNameToValuesKey(moduleName string) string

ModuleNameToValuesKey returns camelCased name from kebab-cased (very-simple-module become verySimpleModule)

func MustDump

func MustDump(data []byte, err error) []byte

func SortByReference

func SortByReference(in []string, ref []string) []string

SortByReference returns a new array with items sorted by the order of 'ref' array.

func SortReverse

func SortReverse(in []string) []string

SortReverse creates a copy of 'in' array and sort it in a reverse order.

func SortReverseByReference

func SortReverseByReference(in []string, ref []string) []string

SortReverseByReference returns a new array with items, reverse sorted by the order of 'ref' array.

func SymlinkInfo

func SymlinkInfo(path string, info os.FileInfo) (target string, isDir bool, err error)

func ValuesToString

func ValuesToString(values Values) string
func WalkSymlinks(target string, linkName string, files map[string]map[string]string, filterFn func(dir string, name string, info os.FileInfo) bool) (symlinkedDirectories map[string]string, err error)

WalkSymlinks walks a directory, updates files map and returns symlinked directories

Types

type ModuleConfig

type ModuleConfig struct {
	ModuleName       string
	IsEnabled        *bool
	Values           Values
	IsUpdated        bool
	ModuleConfigKey  string
	ModuleEnabledKey string
	RawConfig        []string
}

func NewModuleConfig

func NewModuleConfig(moduleName string) *ModuleConfig

func (*ModuleConfig) Checksum

func (mc *ModuleConfig) Checksum() string

func (*ModuleConfig) FromKeyYamls

func (mc *ModuleConfig) FromKeyYamls(configData map[string]string) (*ModuleConfig, error)

FromKeyYamls loads module config from a structure with string keys and yaml string values (ConfigMap)

Example:

simpleModule: |

param1: 10
param2: 120

simpleModuleEnabled: "true"

func (*ModuleConfig) FromYaml

func (mc *ModuleConfig) FromYaml(yamlString []byte) (*ModuleConfig, error)

FromYaml loads module config from a yaml string.

Example:

simpleModule:

param1: 10
param2: 120

simpleModuleEnabled: true

func (*ModuleConfig) LoadValues

func (mc *ModuleConfig) LoadValues(values map[interface{}]interface{}) (*ModuleConfig, error)

LoadValues loads module config from a map.

Values for module in `values` map are addressed by a key. This key should be produced with ModuleNameToValuesKey.

func (ModuleConfig) String

func (mc ModuleConfig) String() string

func (*ModuleConfig) WithEnabled

func (mc *ModuleConfig) WithEnabled(v bool) *ModuleConfig

func (*ModuleConfig) WithUpdated

func (mc *ModuleConfig) WithUpdated(v bool) *ModuleConfig

func (*ModuleConfig) WithValues

func (mc *ModuleConfig) WithValues(values Values) *ModuleConfig

type Values

type Values map[string]interface{}

Values stores values for modules or hooks by name.

func ApplyJsonPatchToValues

func ApplyJsonPatchToValues(values Values, patch jsonpatch.Patch) (Values, error)

func ApplyValuesPatch

func ApplyValuesPatch(values Values, valuesPatch ValuesPatch) (Values, bool, error)

func FormatValues

func FormatValues(someValues map[interface{}]interface{}) (Values, error)

func Load

func Load(key string, loader ValuesLoader) (Values, error)

Load values by specific key from loader

func LoadAll

func LoadAll(loader ValuesLoader) (Values, error)

LoadAll loads values from all keys from loader

func MergeValues

func MergeValues(values ...Values) Values

func NewValues

func NewValues(data map[interface{}]interface{}) (Values, error)

func NewValuesFromBytes

func NewValuesFromBytes(data []byte) (Values, error)

type ValuesDumper

type ValuesDumper interface {
	Write(values Values) error
}

func NewDumperToJsonFile

func NewDumperToJsonFile(path string) ValuesDumper

type ValuesDumperToJsonFile

type ValuesDumperToJsonFile struct {
	FileName string
}

func (*ValuesDumperToJsonFile) Write

func (*ValuesDumperToJsonFile) Write(values Values) error

type ValuesLoader

type ValuesLoader interface {
	Read() (Values, error)
}

func NewLoaderFromJsonFile

func NewLoaderFromJsonFile(path string) ValuesLoader

type ValuesLoaderFromJsonFile

type ValuesLoaderFromJsonFile struct {
	FileName string
}

func (*ValuesLoaderFromJsonFile) Read

type ValuesPatch

type ValuesPatch struct {
	Operations []*ValuesPatchOperation
}

func AppendValuesPatch

func AppendValuesPatch(valuesPatches []ValuesPatch, newValuesPatch ValuesPatch) []ValuesPatch

func CompactValuesPatches

func CompactValuesPatches(valuesPatches []ValuesPatch, newValuesPatch ValuesPatch) []ValuesPatch

func MustValuesPatch

func MustValuesPatch(res *ValuesPatch, err error) *ValuesPatch

func ValuesPatchFromBytes

func ValuesPatchFromBytes(data []byte) (*ValuesPatch, error)

func ValuesPatchFromFile

func ValuesPatchFromFile(filePath string) (*ValuesPatch, error)

func (*ValuesPatch) JsonPatch

func (p *ValuesPatch) JsonPatch() jsonpatch.Patch

type ValuesPatchOperation

type ValuesPatchOperation struct {
	Op    string      `json:"op"`
	Path  string      `json:"path"`
	Value interface{} `json:"value"`
}

func CompactValuesPatchOperations

func CompactValuesPatchOperations(operations []*ValuesPatchOperation, newOperations []*ValuesPatchOperation) []*ValuesPatchOperation

func (*ValuesPatchOperation) ToString

func (op *ValuesPatchOperation) ToString() string

type ValuesPatchType

type ValuesPatchType string
const ConfigMapPatch ValuesPatchType = "CONFIG_MAP_PATCH"
const MemoryValuesPatch ValuesPatchType = "MEMORY_VALUES_PATCH"

Jump to

Keyboard shortcuts

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