util

package
v2.3.1 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Age

func Age(unixTime int64) string

Age returns a string representing the time elapsed since unixTime in the form "1d", "2h", "3m", or "4s".

func Clear

func Clear(v interface{})

func CombineManifests

func CombineManifests(yamls []string) string

func ComputeHmacSha256

func ComputeHmacSha256(ak string, sk string) string

ComputeHmacSha256 According to ak/sk generate secret key

func ContainsChinese

func ContainsChinese(str string) bool

func CreateVMJobLogFile

func CreateVMJobLogFile(filename string) (string, error)

func GeneReleaseName

func GeneReleaseName(namingRule, projectName, namespace, envName, service string) string

func GenerateTmpFile

func GenerateTmpFile() (string, error)

func GetAddress

func GetAddress(uri string) (string, error)

func GetBoolFromPointer

func GetBoolFromPointer(source *bool) bool

func GetBoolPointer

func GetBoolPointer(data bool) *bool

func GetDailyStartTimestamps

func GetDailyStartTimestamps(startTimestamp, endTimestamp int64) []int64

GetDailyStartTimestamps returns a slice of Unix timestamps representing the start of each day between startTimestamp and endTimestamp. It is worth mentioning that we will add an additional date timestamp just to make life easier.

func GetDaysInCurrentMonth

func GetDaysInCurrentMonth(now time.Time) int

GetDaysInCurrentMonth returns the number of days in the current month.

func GetEnvSleepCronName

func GetEnvSleepCronName(projectName, envName string, isEnable bool) string

func GetFirstOfMonthDay

func GetFirstOfMonthDay(now time.Time) int64

func GetImageNameFromContainerInfo

func GetImageNameFromContainerInfo(imageName, containerName string) string

func GetInt32Pointer

func GetInt32Pointer(data int32) *int32

func GetInt64Pointer

func GetInt64Pointer(data int64) *int64

func GetJSONData

func GetJSONData(jsonValues map[string]interface{}) map[string]string

func GetJiraKeys

func GetJiraKeys(title string) (keys []string)

func GetMidnightTimestamp

func GetMidnightTimestamp(timestamp int64) int64

func GetPinyinFromChinese

func GetPinyinFromChinese(han string) (string, string)

func GetRandomNumString

func GetRandomNumString(length int) string

func GetRandomString

func GetRandomString(length int) string

func GetStrPointer

func GetStrPointer(data string) *string

func GetURLHostName

func GetURLHostName(urlAddr string) string

GetURLHostName ...

func Go

func Go(fn func())

func HasSchema added in v2.3.0

func HasSchema(url string) bool

func InStringArray

func InStringArray(target string, str_array []string) bool

func IsSameDay

func IsSameDay(timestamp1 int64, timestamp2 int64) bool

IsSameDay checks if two timestamps represent the same day.

func IsValidIPv4

func IsValidIPv4(address string) bool

func JSONToYaml

func JSONToYaml(json map[string]interface{}) (string, error)

func JoinYamls

func JoinYamls(files []string) string

func OverrideValues

func OverrideValues(currentValuesYaml, latestValuesYaml []byte) ([]byte, error)

for keys exist in both yaml, current values will override the latest values

func ParseOwnerAndRepo

func ParseOwnerAndRepo(repoLink string, authType types.AuthType) (string, string)

ParseOwnerAndRepo extracts the owner and repo info from the given link, the link must have to following format: http(s)://example.com/owner/repo

func PathExists

func PathExists(path string) (bool, error)

func ReadFile

func ReadFile(filename string) ([]byte, error)

func ReadValuesYAML

func ReadValuesYAML(chartTree fs.FS, base string, logger *zap.SugaredLogger) ([]byte, error)

func ReadValuesYAMLFromLocal

func ReadValuesYAMLFromLocal(base string, logger *zap.SugaredLogger) ([]byte, error)

func RecursionGetKeyAndValue

func RecursionGetKeyAndValue(jsonValues map[string]interface{}, mapKey string)

RecursionGetKeyAndValue 递归获取map中的key和value

func RecursionReplaceValue

func RecursionReplaceValue(jsonValues map[string]interface{}, replaceKeyArr []string, replaceValue interface{})

RecursionReplaceValue 递归替换map中的value

func RemoveExtraSpaces

func RemoveExtraSpaces(input string) string

func ReplaceMapValue

func ReplaceMapValue(jsonValues map[string]interface{}, replaceMap map[string]interface{}) map[string]interface{}

ReplaceMapValue 拿匹配到的key和value去替换原始的map中的key和value

func ReplaceRepo

func ReplaceRepo(origin, addr, namespace string) string

func ReplaceTag

func ReplaceTag(origin, newTag string) string

func ReplaceWrapLine

func ReplaceWrapLine(script string) string

func ReturnValidLabelValue

func ReturnValidLabelValue(value string) string

value may only contain underscores or underscores

func SendRequest deprecated

func SendRequest(url, method string, header http.Header, body []byte) ([]byte, error)

Deprecated: do not use it any more, use http client in tool/httpclient instead.

func SplitManifests

func SplitManifests(content string) []string

func SplitYaml

func SplitYaml(yaml string) []string

func TrimURLScheme

func TrimURLScheme(urlAddr string) string

func UUID

func UUID() string

func WriteFile

func WriteFile(filename string, data []byte, perm os.FileMode) error

Types

type KVInput

type KVInput []*KeyValue

func (KVInput) FormYamlString

func (i KVInput) FormYamlString() (string, error)

type KeyValue

type KeyValue struct {
	Key   string      `json:"key"`
	Value interface{} `json:"value"`
}

TODO: the key field of this struct only support non-nested value e.g. the key "a.b" will not be parse as a nested value this is different from the behavior of our normal service KV parsing. How we handle the KV should be decided after further discussion.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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