Documentation
¶
Index ¶
- Constants
- Variables
- func AppendErrorString(errs []string, err error) []string
- func AutoScale(dat map[string]interface{}) (bool, error)
- func BuildDeployedAppName(appName string, environmentName string) string
- func BuildDevtronBomUrl(bomUrl string, version string) string
- func CheckForMissingFiles(chartLocation string) error
- func Close(c Closer, logger *zap.SugaredLogger)
- func CompareLimitsRequests(dat map[string]interface{}, chartVersion string) (bool, error)
- func ComputeHash(template *v1.PodTemplateSpec, collisionCount *int32) string
- func ContainsString(list []string, element string) bool
- func ConvertStringSliceToMap(inputs []string) map[string]bool
- func CpuToNumber(cpu string) (int64, error)
- func CreateFileWithData(folderPath, fileName, content string) (string, error)
- func DeepHashObject(hasher hash.Hash, objectToWrite interface{})
- func DeleteFile(filePath string) error
- func DeleteFolder(folderPath string) error
- func ExtractChartVersion(chartVersion string) (int, int, error)
- func ExtractEcrImage(registryId, region, repoName, tag string) string
- func ExtractTarGz(gzipStream io.Reader, chartDir string) error
- func Generate(size int) string
- func GenerateNewWorkflowName(name string) string
- func GetClientIP(r *http.Request) string
- func GetCopyByValueObject[T any](input []T) []T
- func GetDeReferencedBean[T any](ptrObject *T) T
- func GetDecodedAndEncodedData(data json.RawMessage, transformer SecretTransformMode) ([]byte, error)
- func GetErrorOrNil(errs []string) error
- func GetHTTPClientWithTLSConfig(tlsConfig *tls.Config) *http.Client
- func GetHost(urlStr string) (string, error)
- func GetIsSuperAdminFromContext(ctx context.Context) (bool, error)
- func GetLIKEClauseQueryParam(s string) string
- func GetRandomName() string
- func GetRandomStringOfGivenLength(length int) string
- func GetSchemaFromType[T any](t T) (string, error)
- func GetTlsConfig(TLSKey, TLSCert, CACert, folderPath string) (*tls.Config, error)
- func HttpRequest(url string) (map[string]interface{}, error)
- func Int() int
- func Int63nRange(min, max int64) int64
- func InterfaceToFloat(resp interface{}) float64
- func InterfaceToMapAdapter(resp interface{}) map[string]interface{}
- func InterfaceToString(resp interface{}) string
- func Intn(max int) int
- func IntnRange(min, max int) int
- func IsBaseStack() bool
- func IsEmptyJSONForJsonString(jsonStr string) (bool, error)
- func IsFullStack() bool
- func IsHelmApp(appOfferingMode string) bool
- func IsRunnerStatusFailed(status string) bool
- func IsTerminalRunnerStatus(status string) bool
- func MatchRegexExpression(exp string, text string) (bool, error)
- func MemoryToNumber(memory string) (int64, error)
- func MergeMaps(map1, map2 map[string][]string)
- func ParseFloatNumber(inputVal interface{}) (float64, error)
- func Perm(n int) []int
- func ReadFromUrlWithRetry(url string) ([]byte, error)
- func SafeEncodeString(s string) string
- func Seed(seed int64)
- func SetSuperAdminInContext(ctx context.Context, isSuperAdmin bool) context.Context
- func String(n int) string
- func Tprintf(tmpl string, data interface{}) (string, error)
- func TriggerCDMetrics(wfr CDMetrics, exposeCDMetrics bool)
- func TriggerCIMetrics(Metrics CIMetrics, exposeCIMetrics bool, PipelineName string, AppName string)
- func TriggerGitOpsMetrics(operation string, method string, startTime time.Time, err error)
- func TruncateFloat(value float64, decimals int) float64
- func ValidateEncodedDataByDecoding(dataMap map[string]string) error
- func XORBool(a, b bool) bool
- type CDMetrics
- type CIMetrics
- type Closer
- type CpuChecker
- type CustomFormatCheckers
- type DeploymentServiceTypeConfig
- type DevtronSecretConfig
- type EnvironmentVariables
- type EvalIsNonPublishableErr
- type GlobalClusterConfig
- type GlobalEnvVariables
- type HpaResourceRequest
- type ImageMetadata
- type InternalEnvVariables
- type MemoryChecker
- type SecretTransformMode
- type ServerVersion
- type TerminalEnvVariables
Constants ¶
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" NotSupportedErr = "This feature is not supported" )
const ( WorkflowAborted = "Aborted" WorkflowFailed = "Failed" WorkflowSucceeded = "Succeeded" )
const ( CpuRegex = "(^\\d*\\.?\\d+e?\\d*)(m?)$" MemoryRegex = "(^\\d*\\.?\\d+e?\\d*)(Ei?|Pi?|Ti?|Gi?|Mi?|Ki?|$)$" )
const (
DEFAULT_TAG_VALUE = "latest"
)
const IsSuperAdminFlag = "isSuperAdmin"
Variables ¶
var (
CpuUnitChecker, _ = regexp.Compile(CpuRegex)
MemoryUnitChecker, _ = regexp.Compile(MemoryRegex)
)
var ( GitCommit = "" BuildTime = "" ServerMode = "" SERVER_MODE_FULL = "FULL" SERVER_MODE_HYPERION = "EA_ONLY" )
Functions ¶
func AppendErrorString ¶
func BuildDeployedAppName ¶ added in v0.4.15
func BuildDevtronBomUrl ¶ added in v0.4.1
func CheckForMissingFiles ¶ added in v0.3.22
func Close ¶
func Close(c Closer, logger *zap.SugaredLogger)
func CompareLimitsRequests ¶ added in v0.2.37
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 ConvertStringSliceToMap ¶ added in v0.6.21
func CpuToNumber ¶ added in v0.2.37
func CreateFileWithData ¶ added in v0.7.2
func DeepHashObject ¶
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 DeleteFile ¶ added in v0.7.2
func DeleteFolder ¶ added in v0.7.2
func ExtractEcrImage ¶ added in v0.6.24
func GenerateNewWorkflowName ¶ added in v0.7.0
Generates random name format name-clone-xyts
func GetClientIP ¶ added in v0.4.11
GetClientIP gets a requests IP address by reading off the forwarded-for header (for proxies) and falls back to use the remote address.
func GetCopyByValueObject ¶ added in v1.0.0
func GetCopyByValueObject[T any](input []T) []T
func GetDeReferencedBean ¶ added in v1.1.0
func GetDeReferencedBean[T any](ptrObject *T) T
func GetDecodedAndEncodedData ¶ added in v0.6.26
func GetDecodedAndEncodedData(data json.RawMessage, transformer SecretTransformMode) ([]byte, error)
func GetErrorOrNil ¶
func GetHTTPClientWithTLSConfig ¶ added in v0.7.2
func GetIsSuperAdminFromContext ¶ added in v0.6.25
func GetLIKEClauseQueryParam ¶ added in v1.0.0
GetLIKEClauseQueryParam converts string "abc" into "%abc%". This is used for SQL queries and we have taken this approach instead of ex- .Where("name = %s%", "abc") because it will result into query : where name = %'abc'% since string params are added with quotes.
func GetRandomName ¶ added in v0.7.2
func GetRandomName() string
func GetRandomStringOfGivenLength ¶ added in v0.7.2
func GetSchemaFromType ¶ added in v0.6.23
func GetTlsConfig ¶ added in v0.7.2
func HttpRequest ¶ added in v0.2.18
func Int63nRange ¶
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 ¶
Intn generates an integer in range [0,max). By design this should panic if input is invalid, <= 0.
func IntnRange ¶
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 IsEmptyJSONForJsonString ¶ added in v1.2.1
IsEmptyJSON checks if a given string represents an empty JSON object
func IsFullStack ¶ added in v0.5.3
func IsFullStack() bool
func IsRunnerStatusFailed ¶ added in v0.7.1
func IsTerminalRunnerStatus ¶ added in v0.7.1
func MatchRegexExpression ¶ added in v0.6.21
func MemoryToNumber ¶ added in v0.2.37
func ParseFloatNumber ¶ added in v0.6.13
func Perm ¶
Perm returns, as a slice of n ints, a pseudo-random permutation of the integers [0,n) from the default Source.
func ReadFromUrlWithRetry ¶ added in v0.4.1
func SafeEncodeString ¶
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 SetSuperAdminInContext ¶ added in v0.6.25
func 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
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 TriggerCIMetrics ¶ added in v0.6.15
func TriggerGitOpsMetrics ¶ added in v0.6.15
func TruncateFloat ¶ added in v0.6.29
TruncateFloat truncates a float64 value to n decimal points using the math package.
func ValidateEncodedDataByDecoding ¶ added in v0.7.2
Types ¶
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 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 DeploymentServiceTypeConfig ¶ added in v0.7.0
type DeploymentServiceTypeConfig struct { ExternallyManagedDeploymentType bool `env:"IS_INTERNAL_USE" envDefault:"false"` HelmInstallASyncMode bool `env:"RUN_HELM_INSTALL_IN_ASYNC_MODE_HELM_APPS" envDefault:"false"` UseDeploymentConfigData bool `env:"USE_DEPLOYMENT_CONFIG_DATA" envDefault:"false"` ShouldCheckNamespaceOnClone bool `` /* 151-byte string literal not displayed */ }
type DevtronSecretConfig ¶ added in v0.5.3
type EnvironmentVariables ¶ added in v0.7.0
type EnvironmentVariables struct { GlobalEnvVariables *GlobalEnvVariables DevtronSecretConfig *DevtronSecretConfig DeploymentServiceTypeConfig *DeploymentServiceTypeConfig TerminalEnvVariables *TerminalEnvVariables GlobalClusterConfig *GlobalClusterConfig InternalEnvVariables *InternalEnvVariables }
func GetEnvironmentVariables ¶ added in v0.7.0
func GetEnvironmentVariables() (*EnvironmentVariables, error)
type EvalIsNonPublishableErr ¶ added in v0.7.3
func AllPublishableError ¶ added in v0.7.3
func AllPublishableError() EvalIsNonPublishableErr
type GlobalClusterConfig ¶ added in v0.7.3
type GlobalClusterConfig struct {
ClusterStatusCronTime int `env:"CLUSTER_STATUS_CRON_TIME" envDefault:"15"`
}
type GlobalEnvVariables ¶ added in v0.3.17
type GlobalEnvVariables struct { GitOpsRepoPrefix string `env:"GITOPS_REPO_PREFIX" envDefault:""` EnableAsyncHelmInstallDevtronChart bool `env:"ENABLE_ASYNC_INSTALL_DEVTRON_CHART" envDefault:"false"` EnableAsyncArgoCdInstallDevtronChart bool `env:"ENABLE_ASYNC_ARGO_CD_INSTALL_DEVTRON_CHART" envDefault:"false"` ArgoGitCommitRetryCountOnConflict int `env:"ARGO_GIT_COMMIT_RETRY_COUNT_ON_CONFLICT" envDefault:"3"` ArgoGitCommitRetryDelayOnConflict int `env:"ARGO_GIT_COMMIT_RETRY_DELAY_ON_CONFLICT" envDefault:"1"` ExposeCiMetrics bool `env:"EXPOSE_CI_METRICS" envDefault:"false"` ExecuteWireNilChecker bool `env:"EXECUTE_WIRE_NIL_CHECKER" envDefault:"false"` }
type HpaResourceRequest ¶ added in v0.6.18
type ImageMetadata ¶ added in v1.0.0
func ExtractImageRepoAndTag ¶ added in v1.0.0
func ExtractImageRepoAndTag(imagePath string) (imageMetadata *ImageMetadata, err error)
type InternalEnvVariables ¶ added in v1.2.2
type InternalEnvVariables struct { // GoRuntimeEnv specifies the runtime environment of the application, // - enum: // "development" // "production" // - default: "production" // - use cases: test cases to set the runtime environment GoRuntimeEnv string `env:"GO_RUNTIME_ENV" envDefault:"production"` }
func (*InternalEnvVariables) IsDevelopmentEnv ¶ added in v1.2.2
func (i *InternalEnvVariables) IsDevelopmentEnv() bool
func (*InternalEnvVariables) SetDevelopmentEnv ¶ added in v1.2.2
func (i *InternalEnvVariables) SetDevelopmentEnv() *InternalEnvVariables
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 SecretTransformMode ¶ added in v0.6.26
type SecretTransformMode int
const ( EncodeSecret SecretTransformMode = 1 DecodeSecret SecretTransformMode = 2 )
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
type TerminalEnvVariables ¶ added in v0.7.1
type TerminalEnvVariables struct {
RestrictTerminalAccessForNonSuperUser bool `env:"RESTRICT_TERMINAL_ACCESS_FOR_NON_SUPER_USER" envDefault:"false"`
}
Source Files
¶
- CommonConstant.go
- DeploymentStatusUtil.go
- DeploymentUtil.go
- GlobalConfig.go
- HttpUtil.go
- JsonHelper.go
- NumberParserUtil.go
- RequestUtil.go
- SQLUtil.go
- SchemaUtils.go
- TemplatePrint.go
- TypeUtils.go
- ValidatorHelper.go
- context-utils.go
- dockerUtil.go
- encoding-utils.go
- fileUtil.go
- helper.go
- mapUtil.go
- version.go