util

package
v0.6.23-rc.0 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2023 License: Apache-2.0 Imports: 32 Imported by: 27

Documentation

Index

Constants

View Source
const (
	KubernetesSecret                    string = "KubernetesSecret"
	AWSSecretsManager                   string = "AWSSecretsManager"
	AWSSystemManager                    string = "AWSSystemManager"
	HashiCorpVault                      string = "HashiCorpVault"
	ESOGoogleSecretsManager             string = "ESO_GoogleSecretsManager"
	ESOAWSSecretsManager                string = "ESO_AWSSecretsManager"
	ESOAzureSecretsManager              string = "ESO_AzureSecretsManager"
	ESOHashiCorpVault                   string = "ESO_HashiCorpVault"
	KubernetesExternalSecret            string = "KubernetesExternalSecret"
	ConfigMapSecretUsageTypeEnvironment string = "environment"
	ConfigMapSecretUsageTypeVolume      string = "volume"
	YamlSeparator                       string = "---\n"
)
View Source
const (
	WorkflowAborted   = "Aborted"
	WorkflowFailed    = "Failed"
	WorkflowSucceeded = "Succeeded"
)
View Source
const (
	CpuRegex    = "(^\\d*\\.?\\d+e?\\d*)(m?)$"
	MemoryRegex = "(^\\d*\\.?\\d+e?\\d*)(Ei?|Pi?|Ti?|Gi?|Mi?|Ki?|$)$"
)

Variables

View Source
var (
	CpuUnitChecker, _    = regexp.Compile(CpuRegex)
	MemoryUnitChecker, _ = regexp.Compile(MemoryRegex)
)
View Source
var (
	GitCommit            = ""
	BuildTime            = ""
	ServerMode           = ""
	SERVER_MODE_FULL     = "FULL"
	SERVER_MODE_HYPERION = "EA_ONLY"
)

Functions

func AppendErrorString

func AppendErrorString(errs []string, err error) []string

func AutoScale added in v0.2.37

func AutoScale(dat map[string]interface{}) (bool, error)

func BuildDeployedAppName added in v0.4.15

func BuildDeployedAppName(appName string, environmentName string) string

func BuildDevtronBomUrl added in v0.4.1

func BuildDevtronBomUrl(bomUrl string, version string) string

func CheckForMissingFiles added in v0.3.22

func CheckForMissingFiles(chartLocation string) error

func Close

func Close(c Closer, logger *zap.SugaredLogger)

func CompareLimitsRequests added in v0.2.37

func CompareLimitsRequests(dat map[string]interface{}, chartVersion string) (bool, error)

func ComputeHash

func ComputeHash(template *v1.PodTemplateSpec, collisionCount *int32) string

ComputeHash returns a hash value calculated from pod template and a collisionCount to avoid hash collision. The hash will be safe encoded to avoid bad words.

func ContainsString

func ContainsString(list []string, element string) bool

func ConvertStringSliceToMap added in v0.6.21

func ConvertStringSliceToMap(inputs []string) map[string]bool

func CpuToNumber added in v0.2.37

func CpuToNumber(cpu string) (int64, error)

func DeepHashObject

func DeepHashObject(hasher hash.Hash, objectToWrite interface{})

DeepHashObject writes specified object to hash using the spew library which follows pointers and prints actual values of the nested objects ensuring the hash does not change when a pointer changes.

func ExtractChartVersion

func ExtractChartVersion(chartVersion string) (int, int, error)

func ExtractTarGz added in v0.3.22

func ExtractTarGz(gzipStream io.Reader, chartDir string) error

func Generate added in v0.2.8

func Generate(size int) string

Generates random string

func GetClientIP added in v0.4.11

func GetClientIP(r *http.Request) string

GetClientIP gets a requests IP address by reading off the forwarded-for header (for proxies) and falls back to use the remote address.

func GetErrorOrNil

func GetErrorOrNil(errs []string) error

func GetSchemaFromType added in v0.6.23

func GetSchemaFromType[T any](t T) (string, error)

func HttpRequest added in v0.2.18

func HttpRequest(url string) (map[string]interface{}, error)

func Int

func Int() int

Int returns a non-negative pseudo-random int.

func Int63nRange

func Int63nRange(min, max int64) int64

IntnRange generates an int64 integer in range [min,max). By design this should panic if input is invalid, <= 0.

func InterfaceToFloat added in v0.6.15

func InterfaceToFloat(resp interface{}) float64

func InterfaceToMapAdapter added in v0.4.14

func InterfaceToMapAdapter(resp interface{}) map[string]interface{}

InterfaceToMapAdapter it will convert any golang struct into map

func InterfaceToString added in v0.6.15

func InterfaceToString(resp interface{}) string

func Intn

func Intn(max int) int

Intn generates an integer in range [0,max). By design this should panic if input is invalid, <= 0.

func IntnRange

func IntnRange(min, max int) int

IntnRange generates an integer in range [min,max). By design this should panic if input is invalid, <= 0.

func IsBaseStack added in v0.5.3

func IsBaseStack() bool

func IsFullStack added in v0.5.3

func IsFullStack() bool

func IsHelmApp added in v0.5.3

func IsHelmApp(appOfferingMode string) bool

func IsTerminalStatus added in v0.6.4

func IsTerminalStatus(status string) bool

func MatchRegexExpression added in v0.6.21

func MatchRegexExpression(exp string, text string) (bool, error)

func MemoryToNumber added in v0.2.37

func MemoryToNumber(memory string) (int64, error)

func ParseFloat added in v0.2.37

func ParseFloat(str string) (float64, error)

func ParseFloatNumber added in v0.6.13

func ParseFloatNumber(inputVal interface{}) (float64, error)

func Perm

func Perm(n int) []int

Perm returns, as a slice of n ints, a pseudo-random permutation of the integers [0,n) from the default Source.

func ProcessAppStatuses added in v0.6.13

func ProcessAppStatuses(appStatuses []string) string

func ReadFromUrlWithRetry added in v0.4.1

func ReadFromUrlWithRetry(url string) ([]byte, error)

func SafeEncodeString

func SafeEncodeString(s string) string

SafeEncodeString encodes s using the same characters as rand.String. This reduces the chances of bad words and ensures that strings generated from hash functions appear consistent throughout the API.

func Seed

func Seed(seed int64)

Seed seeds the rng with the provided seed.

func String

func String(n int) string

String generates a random alphanumeric string, without vowels, which is n characters long. This will panic if n is less than zero. How the random string is created: - we generate random int63's - from each int63, we are extracting multiple random letters by bit-shifting and masking - if some index is out of range of alphanums we neglect it (unlikely to happen multiple times in a row)

func Tprintf added in v0.4.1

func Tprintf(tmpl string, data interface{}) (string, error)

Tprintf passed template string is formatted usign its operands and returns the resulting string. Spaces are added between operands when neither is a string.

func TriggerCDMetrics added in v0.6.14

func TriggerCDMetrics(wfr CDMetrics, exposeCDMetrics bool)

func TriggerCIMetrics added in v0.6.15

func TriggerCIMetrics(Metrics CIMetrics, exposeCIMetrics bool, PipelineName string, AppName string)

func TriggerGitOpsMetrics added in v0.6.15

func TriggerGitOpsMetrics(operation string, method string, startTime time.Time, err error)

Types

type CDMetrics added in v0.6.14

type CDMetrics struct {
	AppName         string
	DeploymentType  string
	Status          string
	EnvironmentName string
	Time            float64
}

type CIMetrics added in v0.6.15

type CIMetrics struct {
	CacheDownDuration  float64   `json:"cacheDownDuration"`
	PreCiDuration      float64   `json:"preCiDuration"`
	BuildDuration      float64   `json:"buildDuration"`
	PostCiDuration     float64   `json:"postCiDuration"`
	CacheUpDuration    float64   `json:"cacheUpDuration"`
	TotalDuration      float64   `json:"totalDuration"`
	CacheDownStartTime time.Time `json:"cacheDownStartTime"`
	PreCiStartTime     time.Time `json:"preCiStart"`
	BuildStartTime     time.Time `json:"buildStartTime"`
	PostCiStartTime    time.Time `json:"postCiStartTime"`
	CacheUpStartTime   time.Time `json:"cacheUpStartTime"`
	TotalStartTime     time.Time `json:"totalStartTime"`
}

type Closer

type Closer interface {
	Close() error
}

type CpuChecker added in v0.2.37

type CpuChecker struct{}

func (CpuChecker) IsFormat added in v0.2.37

func (f CpuChecker) IsFormat(input interface{}) bool

type CustomFormatCheckers added in v0.2.37

type CustomFormatCheckers struct {
}

func NewGoJsonSchemaCustomFormatChecker added in v0.2.37

func NewGoJsonSchemaCustomFormatChecker() *CustomFormatCheckers

func (CustomFormatCheckers) AddCheckers added in v0.2.37

func (c CustomFormatCheckers) AddCheckers()

type DevtronSecretConfig added in v0.5.3

type DevtronSecretConfig struct {
	DevtronSecretName string `env:"DEVTRON_SECRET_NAME" envDefault:"devtron-secret"`
}

func GetDevtronSecretName added in v0.5.3

func GetDevtronSecretName() (*DevtronSecretConfig, error)

type GlobalEnvVariables added in v0.3.17

type GlobalEnvVariables struct {
	GitOpsRepoPrefix string `env:"GITOPS_REPO_PREFIX" envDefault:""`
}

func GetGlobalEnvVariables added in v0.3.17

func GetGlobalEnvVariables() (*GlobalEnvVariables, error)

type HeaderAdder added in v0.6.21

type HeaderAdder struct {
	Rt http.RoundTripper
}

func (*HeaderAdder) RoundTrip added in v0.6.21

func (h *HeaderAdder) RoundTrip(req *http.Request) (*http.Response, error)

type HpaResourceRequest added in v0.6.18

type HpaResourceRequest struct {
	ResourceName    string
	ReqReplicaCount float64
	ReqMaxReplicas  float64
	ReqMinReplicas  float64
	IsEnable        bool
	Group           string
	Version         string
	Kind            string
}

type MemoryChecker added in v0.2.37

type MemoryChecker struct{}

func (MemoryChecker) IsFormat added in v0.2.37

func (f MemoryChecker) IsFormat(input interface{}) bool

type ServerVersion added in v0.3.9

type ServerVersion struct {
	GitCommit  string `json:"gitCommit"`
	BuildTime  string `json:"buildTime"`
	ServerMode string `json:"serverMode"`
}

func GetDevtronVersion added in v0.3.9

func GetDevtronVersion() *ServerVersion

Directories

Path Synopsis
mocks
rbac
Package mock_rbac is a generated GoMock package.
Package mock_rbac is a generated GoMock package.

Jump to

Keyboard shortcuts

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