github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/metriccollection/helm/default.go (about)

     1  package helm
     2  
     3  import (
     4  	"github.com/caos/orbos/pkg/kubernetes/k8s"
     5  	corev1 "k8s.io/api/core/v1"
     6  	"k8s.io/apimachinery/pkg/api/resource"
     7  )
     8  
     9  func DefaultValues(imageTags map[string]string, image string) *Values {
    10  	return &Values{
    11  		FullnameOverride: "prometheus",
    12  		DefaultRules: &DefaultRules{
    13  			Create: false,
    14  			Rules: &Rules{
    15  				Alertmanager:                false,
    16  				Etcd:                        false,
    17  				General:                     false,
    18  				K8S:                         false,
    19  				KubeApiserver:               false,
    20  				KubePrometheusNodeAlerting:  false,
    21  				KubePrometheusNodeRecording: false,
    22  				KubernetesAbsent:            false,
    23  				KubernetesApps:              false,
    24  				KubernetesResources:         false,
    25  				KubernetesStorage:           false,
    26  				KubernetesSystem:            false,
    27  				KubeScheduler:               false,
    28  				Network:                     false,
    29  				Node:                        false,
    30  				Prometheus:                  false,
    31  				PrometheusOperator:          false,
    32  				Time:                        false,
    33  			},
    34  		},
    35  		Global: &Global{
    36  			Rbac: &Rbac{
    37  				Create:     true,
    38  				PspEnabled: true,
    39  			},
    40  		},
    41  		Alertmanager: &DisabledToolServicePerReplica{
    42  			Enabled:           false,
    43  			ServicePerReplica: &DisabledTool{Enabled: false},
    44  			IngressPerReplica: &DisabledTool{Enabled: false},
    45  		},
    46  		Grafana: &DisabledTool{
    47  			Enabled: false,
    48  		},
    49  		KubeAPIServer: &DisabledTool{
    50  			Enabled: false,
    51  		},
    52  		Kubelet: &DisabledTool{
    53  			Enabled: false,
    54  		},
    55  		KubeControllerManager: &DisabledTool{
    56  			Enabled: false,
    57  		},
    58  		CoreDNS: &DisabledTool{
    59  			Enabled: false,
    60  		},
    61  		KubeDNS: &DisabledTool{
    62  			Enabled: false,
    63  		},
    64  		KubeEtcd: &DisabledTool{
    65  			Enabled: false,
    66  		},
    67  		KubeScheduler: &DisabledTool{
    68  			Enabled: false,
    69  		},
    70  		KubeProxy: &DisabledTool{
    71  			Enabled: false,
    72  		},
    73  		KubeStateMetricsScrap: &DisabledTool{
    74  			Enabled: false,
    75  		},
    76  		KubeStateMetrics: &DisabledTool{
    77  			Enabled: false,
    78  		},
    79  		NodeExporter: &DisabledTool{
    80  			Enabled: false,
    81  		},
    82  		PrometheusNodeExporter: &DisabledTool{
    83  			Enabled: false,
    84  		},
    85  		PrometheusOperator: &PrometheusOperatorValues{
    86  			Enabled: true,
    87  			TLSProxy: &TLSProxy{
    88  				Enabled: false,
    89  				Image: &Image{
    90  					Repository: "squareup/ghostunnel",
    91  					Tag:        imageTags["squareup/ghostunnel"],
    92  					PullPolicy: "IfNotPresent",
    93  				},
    94  			},
    95  			AdmissionWebhooks: &AdmissionWebhooks{
    96  				FailurePolicy: "Fail",
    97  				Enabled:       false,
    98  				Patch: &Patch{
    99  					Enabled: false,
   100  					Image: &Image{
   101  						Repository: "jettech/kube-webhook-certgen",
   102  						Tag:        imageTags["jettech/kube-webhook-certgen"],
   103  						PullPolicy: "IfNotPresent",
   104  					},
   105  					PriorityClassName: "",
   106  				},
   107  			},
   108  			DenyNamespaces: []string{},
   109  			ServiceAccount: &ServiceAccount{
   110  				Create: true,
   111  			},
   112  			Service: &Service{
   113  				NodePort:    30080,
   114  				NodePortTLS: 30443,
   115  				Type:        "ClusterIP",
   116  			},
   117  			CreateCustomResource:  true,
   118  			CrdAPIGroup:           "monitoring.coreos.com",
   119  			CleanupCustomResource: false,
   120  			KubeletService: &KubeletService{
   121  				Enabled:   false,
   122  				Namespace: "kube-system",
   123  			},
   124  			ServiceMonitor: &ServiceMonitor{
   125  				Interval:    "",
   126  				SelfMonitor: false,
   127  			},
   128  			SecurityContext: &SecurityContext{
   129  				RunAsNonRoot: true,
   130  				RunAsUser:    65534,
   131  			},
   132  			Image: &Image{
   133  				Repository: image,
   134  				Tag:        imageTags[image],
   135  				PullPolicy: "IfNotPresent",
   136  			},
   137  			ConfigmapReloadImage: &Image{
   138  				Repository: "quay.io/coreos/configmap-reload",
   139  				Tag:        imageTags["quay.io/coreos/configmap-reload"],
   140  				PullPolicy: "IfNotPresent",
   141  			},
   142  			PrometheusConfigReloaderImage: &Image{
   143  				Repository: "quay.io/coreos/prometheus-config-reloader",
   144  				Tag:        imageTags["quay.io/coreos/prometheus-config-reloader"],
   145  				PullPolicy: "IfNotPresent",
   146  			},
   147  			ConfigReloaderCPU:    "100m",
   148  			ConfigReloaderMemory: "25Mi",
   149  
   150  			HyperkubeImage: &Image{
   151  				Repository: "k8s.gcr.io/hyperkube",
   152  				Tag:        imageTags["k8s.gcr.io/hyperkube"],
   153  				PullPolicy: "IfNotPresent",
   154  			},
   155  			NodeSelector: map[string]string{},
   156  			Resources: &k8s.Resources{
   157  				Limits: corev1.ResourceList{
   158  					corev1.ResourceCPU:    resource.MustParse("20m"),
   159  					corev1.ResourceMemory: resource.MustParse("200Mi"),
   160  				},
   161  				Requests: corev1.ResourceList{
   162  					corev1.ResourceCPU:    resource.MustParse("10m"),
   163  					corev1.ResourceMemory: resource.MustParse("100Mi"),
   164  				},
   165  			},
   166  		},
   167  		Prometheus: &DisabledToolServicePerReplica{
   168  			Enabled:           false,
   169  			ServicePerReplica: &DisabledTool{Enabled: false},
   170  			IngressPerReplica: &DisabledTool{Enabled: false},
   171  		},
   172  	}
   173  }