-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathconfig.go
49 lines (45 loc) · 1.68 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//
// Copyright (c) 2019 Red Hat, Inc.
// This program and the accompanying materials are made
// available under the terms of the Eclipse Public License 2.0
// which is available at https://www.eclipse.org/legal/epl-2.0/
//
// SPDX-License-Identifier: EPL-2.0
//
// Contributors:
// Red Hat, Inc. - initial API and implementation
//
package cfg
import corev1 "k8s.io/api/core/v1"
type Config struct {
DaemonsetName string
Namespace string
Images map[string]string
CachingMemRequest string
CachingMemLimit string
CachingCpuRequest string
CachingCpuLimit string
CachingInterval int
NodeSelector map[string]string
ImagePullSecrets []string
Affinity *corev1.Affinity
ImagePullerImage string
Tolerations []corev1.Toleration
}
func GetConfig() Config {
return Config{
DaemonsetName: getEnvVarOrDefault(daemonsetNameEnvVar, defaultDaemonsetName),
Namespace: getEnvVarOrDefault(namespaceEnvVar, defaultNamespace),
Images: processImagesEnvVar(),
CachingInterval: getCachingInterval(),
CachingMemRequest: getEnvVarOrDefault(cachingMemRequestEnvVar, defaultCachingMemRequest),
CachingMemLimit: getEnvVarOrDefault(cachingMemLimitEnvVar, defaultCachingMemLimit),
CachingCpuRequest: getEnvVarOrDefault(cachingCpuRequestEnvVar, defaultCachingCpuRequest),
CachingCpuLimit: getEnvVarOrDefault(cachingCpuLimitEnvVar, defaultCachingCpuLimit),
NodeSelector: processNodeSelectorEnvVar(),
ImagePullSecrets: processImagePullSecretsEnvVar(),
Affinity: processAffinityEnvVar(),
ImagePullerImage: getEnvVarOrDefault(kipImageEnvVar, defaultImage),
Tolerations: processTolerationsEnvVar(),
}
}