github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/monitoring/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) *Values {
    11  	grafana := &GrafanaValues{
    12  		Image: &Image{
    13  			Repository: "grafana/grafana",
    14  			Tag:        imageTags["grafana/grafana"],
    15  			PullPolicy: "IfNotPresent",
    16  		},
    17  		FullnameOverride:         "grafana",
    18  		Enabled:                  true,
    19  		DefaultDashboardsEnabled: true,
    20  		AdminUser:                "admin",
    21  		AdminPassword:            "admin",
    22  		Ingress: &Ingress{
    23  			Enabled: false,
    24  		},
    25  		Sidecar: &Sidecar{
    26  			Dashboards: &Dashboards{
    27  				Enabled: true,
    28  				Label:   "grafana_dashboard",
    29  			},
    30  			Datasources: &Datasources{
    31  				Enabled: true,
    32  				Label:   "grafana_datasource",
    33  			},
    34  		},
    35  		ServiceMonitor: &ServiceMonitor{
    36  			SelfMonitor: false,
    37  		},
    38  		Persistence: &Persistence{
    39  			Type:        "pvc",
    40  			Enabled:     false,
    41  			AccessModes: []string{"ReadWriteOnce"},
    42  			Size:        "10Gi",
    43  			Finalizers:  []string{"kubernetes.io/pvc-protection"},
    44  		},
    45  		TestFramework: &TestFramework{
    46  			Enabled: false,
    47  			Image:   "dduportal/bats",
    48  			Tag:     imageTags["dduportal/bats"],
    49  		},
    50  		Plugins: []string{},
    51  		Ini: &Ini{
    52  			Paths: map[string]string{
    53  				"data":         "/var/lib/grafana/data",
    54  				"logs":         "/var/log/grafana",
    55  				"plugins":      "/var/lib/grafana/plugins",
    56  				"provisioning": "/etc/grafana/provisioning",
    57  			},
    58  			Analytics: map[string]bool{
    59  				"check_for_updates": true,
    60  			},
    61  			Log: map[string]string{
    62  				"mode": "console",
    63  			},
    64  			GrafanaNet: map[string]interface{}{
    65  				"url": "https://grafana.net",
    66  			},
    67  		},
    68  		Env: map[string]string{
    69  			"GF_SERVER_ROOT_URL": "https://%(domain)s/",
    70  		},
    71  		NodeSelector: map[string]string{},
    72  		Resources: &k8s.Resources{
    73  			Limits: corev1.ResourceList{
    74  				corev1.ResourceCPU:    resource.MustParse("100m"),
    75  				corev1.ResourceMemory: resource.MustParse("300Mi"),
    76  			},
    77  			Requests: corev1.ResourceList{
    78  				corev1.ResourceCPU:    resource.MustParse("50m"),
    79  				corev1.ResourceMemory: resource.MustParse("200Mi"),
    80  			},
    81  		},
    82  	}
    83  
    84  	return &Values{
    85  		DefaultRules: &DefaultRules{
    86  			Create: false,
    87  			Rules: &Rules{
    88  				Alertmanager:                false,
    89  				Etcd:                        false,
    90  				General:                     false,
    91  				K8S:                         false,
    92  				KubeApiserver:               false,
    93  				KubePrometheusNodeAlerting:  false,
    94  				KubePrometheusNodeRecording: false,
    95  				KubernetesAbsent:            false,
    96  				KubernetesApps:              false,
    97  				KubernetesResources:         false,
    98  				KubernetesStorage:           false,
    99  				KubernetesSystem:            false,
   100  				KubeScheduler:               false,
   101  				Network:                     false,
   102  				Node:                        false,
   103  				Prometheus:                  false,
   104  				PrometheusOperator:          false,
   105  				Time:                        false,
   106  			},
   107  		},
   108  		Global: &Global{
   109  			Rbac: &Rbac{
   110  				Create:     false,
   111  				PspEnabled: false,
   112  			},
   113  		},
   114  		FullnameOverride: "grafana",
   115  		Alertmanager: &DisabledToolServicePerReplica{
   116  			Enabled:           false,
   117  			ServicePerReplica: &DisabledTool{Enabled: false},
   118  			IngressPerReplica: &DisabledTool{Enabled: false},
   119  		},
   120  		Grafana: grafana,
   121  		KubeAPIServer: &DisabledTool{
   122  			Enabled: false,
   123  		},
   124  		Kubelet: &DisabledTool{
   125  			Enabled: false,
   126  		},
   127  		KubeControllerManager: &DisabledTool{
   128  			Enabled: false,
   129  		},
   130  		CoreDNS: &DisabledTool{
   131  			Enabled: false,
   132  		},
   133  		KubeDNS: &DisabledTool{
   134  			Enabled: false,
   135  		},
   136  		KubeEtcd: &DisabledTool{
   137  			Enabled: false,
   138  		},
   139  		KubeScheduler: &DisabledTool{
   140  			Enabled: false,
   141  		},
   142  		KubeProxy: &DisabledTool{
   143  			Enabled: false,
   144  		},
   145  		KubeStateMetricsScrap: &DisabledTool{
   146  			Enabled: false,
   147  		},
   148  		KubeStateMetrics: &DisabledTool{
   149  			Enabled: false,
   150  		},
   151  		NodeExporter: &DisabledTool{
   152  			Enabled: false,
   153  		},
   154  		PrometheusNodeExporter: &DisabledTool{
   155  			Enabled: false,
   156  		},
   157  		PrometheusOperator: &prometheusoperator.PrometheusOperatorValues{
   158  			Enabled: false,
   159  			TLSProxy: &prometheusoperator.TLSProxy{
   160  				Enabled: false,
   161  				Image: &prometheusoperator.Image{
   162  					Repository: "squareup/ghostunnel",
   163  					Tag:        imageTags["squareup/ghostunnel"],
   164  					PullPolicy: "IfNotPresent",
   165  				},
   166  			},
   167  			AdmissionWebhooks: &prometheusoperator.AdmissionWebhooks{
   168  				FailurePolicy: "Fail",
   169  				Enabled:       false,
   170  				Patch: &prometheusoperator.Patch{
   171  					Enabled: false,
   172  					Image: &prometheusoperator.Image{
   173  						Repository: "jettech/kube-webhook-certgen",
   174  						Tag:        imageTags["jettech/kube-webhook-certgen"],
   175  						PullPolicy: "IfNotPresent",
   176  					},
   177  					PriorityClassName: "",
   178  				},
   179  			},
   180  			ServiceAccount: &prometheusoperator.ServiceAccount{
   181  				Create: false,
   182  			},
   183  			ServiceMonitor: &prometheusoperator.ServiceMonitor{
   184  				Interval:    "",
   185  				SelfMonitor: false,
   186  			},
   187  			CreateCustomResource: true,
   188  			KubeletService: &prometheusoperator.KubeletService{
   189  				Enabled: false,
   190  			},
   191  		},
   192  		Prometheus: &DisabledToolServicePerReplica{
   193  			Enabled:           false,
   194  			ServicePerReplica: &DisabledTool{Enabled: false},
   195  			IngressPerReplica: &DisabledTool{Enabled: false},
   196  		},
   197  	}
   198  }