github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/metricspersisting/helm/default.go (about) 1 package helm 2 3 import ( 4 prometheusoperator "github.com/caos/orbos/internal/operator/boom/application/applications/metriccollection/helm" 5 "github.com/caos/orbos/pkg/kubernetes/k8s" 6 corev1 "k8s.io/api/core/v1" 7 "k8s.io/apimachinery/pkg/api/resource" 8 ) 9 10 func DefaultValues(imageTags map[string]string, image string) *Values { 11 promValues := &PrometheusValues{ 12 Enabled: true, 13 ServiceAccount: &ServiceAccount{ 14 Create: true, 15 }, 16 Service: &Service{ 17 Port: 9090, 18 TargetPort: 9090, 19 NodePort: 30090, 20 Type: "ClusterIP", 21 }, 22 ServicePerReplica: &ServicePerReplica{ 23 Enabled: false, 24 Port: 9090, 25 TargetPort: 9090, 26 NodePort: 30091, 27 }, 28 PodDisruptionBudget: &PodDisruptionBudget{ 29 Enabled: false, 30 MinAvailable: 1, 31 }, 32 Ingress: &Ingress{ 33 Enabled: false, 34 }, 35 IngressPerReplica: &IngressPerReplica{ 36 Enabled: false, 37 }, 38 PodSecurityPolicy: &PodSecurityPolicy{}, 39 ServiceMonitor: &ServiceMonitor{ 40 SelfMonitor: false, 41 }, 42 PrometheusSpec: &PrometheusSpec{ 43 Tolerations: nil, 44 NodeSelector: map[string]string{}, 45 Image: &Image{ 46 Repository: image, 47 Tag: imageTags[image], 48 }, 49 RuleSelectorNilUsesHelmValues: true, 50 ServiceMonitorSelectorNilUsesHelmValues: true, 51 PodMonitorSelectorNilUsesHelmValues: true, 52 Retention: "10d", 53 Replicas: 1, 54 LogLevel: "info", 55 LogFormat: "logfmt", 56 RoutePrefix: "/", 57 PodAntiAffinityTopologyKey: "kubernetes.io/hostname", 58 SecurityContext: &SecurityContext{ 59 RunAsNonRoot: true, 60 RunAsUser: 1000, 61 FsGroup: 2000, 62 }, 63 RemoteWrite: nil, 64 Resources: &k8s.Resources{ 65 Limits: corev1.ResourceList{ 66 corev1.ResourceCPU: resource.MustParse("600m"), 67 corev1.ResourceMemory: resource.MustParse("4Gi"), 68 }, 69 Requests: corev1.ResourceList{ 70 corev1.ResourceCPU: resource.MustParse("300m"), 71 corev1.ResourceMemory: resource.MustParse("2Gi"), 72 }, 73 }, 74 }, 75 } 76 77 return &Values{ 78 FullnameOverride: "operated", 79 DefaultRules: &DefaultRules{ 80 Create: true, 81 Rules: &Rules{ 82 Alertmanager: true, 83 Etcd: true, 84 General: true, 85 K8S: true, 86 KubeApiserver: true, 87 KubePrometheusNodeAlerting: true, 88 KubePrometheusNodeRecording: true, 89 KubernetesAbsent: true, 90 KubernetesApps: true, 91 KubernetesResources: true, 92 KubernetesStorage: true, 93 KubernetesSystem: true, 94 KubeScheduler: true, 95 Network: true, 96 Node: true, 97 Prometheus: true, 98 PrometheusOperator: true, 99 Time: true, 100 }, 101 }, 102 Global: &Global{ 103 Rbac: &Rbac{ 104 Create: true, 105 PspEnabled: true, 106 }, 107 }, 108 Alertmanager: &DisabledToolServicePerReplica{ 109 Enabled: false, 110 ServicePerReplica: &DisabledTool{Enabled: false}, 111 IngressPerReplica: &DisabledTool{Enabled: false}, 112 }, 113 Grafana: &DisabledTool{ 114 Enabled: false, 115 }, 116 KubeAPIServer: &DisabledTool{ 117 Enabled: false, 118 }, 119 Kubelet: &DisabledTool{ 120 Enabled: false, 121 }, 122 KubeControllerManager: &DisabledTool{ 123 Enabled: false, 124 }, 125 CoreDNS: &DisabledTool{ 126 Enabled: false, 127 }, 128 KubeDNS: &DisabledTool{ 129 Enabled: false, 130 }, 131 KubeEtcd: &DisabledTool{ 132 Enabled: false, 133 }, 134 KubeScheduler: &DisabledTool{ 135 Enabled: false, 136 }, 137 KubeProxy: &DisabledTool{ 138 Enabled: false, 139 }, 140 KubeStateMetricsScrap: &DisabledTool{ 141 Enabled: false, 142 }, 143 KubeStateMetrics: &DisabledTool{ 144 Enabled: false, 145 }, 146 NodeExporter: &DisabledTool{ 147 Enabled: false, 148 }, 149 PrometheusNodeExporter: &DisabledTool{ 150 Enabled: false, 151 }, 152 PrometheusOperator: &prometheusoperator.PrometheusOperatorValues{ 153 Enabled: false, 154 TLSProxy: &prometheusoperator.TLSProxy{ 155 Enabled: false, 156 Image: &prometheusoperator.Image{ 157 Repository: "squareup/ghostunnel", 158 Tag: imageTags["squareup/ghostunnel"], 159 PullPolicy: "IfNotPresent", 160 }, 161 }, 162 AdmissionWebhooks: &prometheusoperator.AdmissionWebhooks{ 163 FailurePolicy: "Fail", 164 Enabled: false, 165 Patch: &prometheusoperator.Patch{ 166 Enabled: false, 167 Image: &prometheusoperator.Image{ 168 Repository: "jettech/kube-webhook-certgen", 169 Tag: imageTags["jettech/kube-webhook-certgen"], 170 PullPolicy: "IfNotPresent", 171 }, 172 PriorityClassName: "", 173 }, 174 }, 175 ServiceAccount: &prometheusoperator.ServiceAccount{ 176 Create: false, 177 }, 178 ServiceMonitor: &prometheusoperator.ServiceMonitor{ 179 Interval: "", 180 SelfMonitor: false, 181 }, 182 CreateCustomResource: true, 183 KubeletService: &prometheusoperator.KubeletService{ 184 Enabled: false, 185 }, 186 }, 187 Prometheus: promValues, 188 } 189 }