github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/monitoring/helm/values.go (about) 1 package helm 2 3 import ( 4 prometheusoperatorhelm "github.com/caos/orbos/internal/operator/boom/application/applications/metriccollection/helm" 5 "github.com/caos/orbos/pkg/kubernetes/k8s" 6 ) 7 8 type Ingress struct { 9 Enabled bool `yaml:"enabled"` 10 Annotations map[string]string `yaml:"annotations"` 11 Labels map[string]string `yaml:"labels"` 12 Hosts []interface{} `yaml:"hosts"` 13 Path string `yaml:"path"` 14 TLS []interface{} `yaml:"tls"` 15 } 16 17 type Dashboards struct { 18 Enabled bool `yaml:"enabled"` 19 Label string `yaml:"label"` 20 } 21 22 type Datasources struct { 23 Enabled bool `yaml:"enabled"` 24 DefaultDatasourceEnabled bool `yaml:"defaultDatasourceEnabled"` 25 Annotations map[string]string `yaml:"annotations"` 26 CreatePrometheusReplicasDatasources bool `yaml:"createPrometheusReplicasDatasources"` 27 Label string `yaml:"label"` 28 } 29 30 type ServiceMonitor struct { 31 Interval string `yaml:"interval"` 32 SelfMonitor bool `yaml:"selfMonitor"` 33 MetricRelabelings []interface{} `yaml:"metricRelabelings"` 34 Relabelings []interface{} `yaml:"relabelings"` 35 } 36 37 type Sidecar struct { 38 Dashboards *Dashboards `yaml:"dashboards"` 39 Datasources *Datasources `yaml:"datasources"` 40 } 41 type DashboardProviders struct { 42 Providers *Providersyaml `yaml:"dashboardproviders.yaml"` 43 } 44 type Providersyaml struct { 45 APIVersion int64 `yaml:"apiVersion"` 46 Providers []*Provider `yaml:"providers"` 47 } 48 type Provider struct { 49 Name string `yaml:"name"` 50 OrgID int `yaml:"ordId"` 51 Folder string `yaml:"folder,omitempty"` 52 Type string `yaml:"type"` 53 DisableDeletion bool `yaml:"disableDeletion"` 54 Editable bool `yaml:"editable"` 55 Options map[string]string `yaml:"options"` 56 } 57 58 type Admin struct { 59 ExistingSecret string `yaml:"existingSecret"` 60 UserKey string `yaml:"userKey"` 61 PasswordKey string `yaml:"passwordKey"` 62 } 63 64 type Service struct { 65 Labels map[string]string `yaml:"labels,omitempty"` 66 } 67 68 type Persistence struct { 69 Type string `yaml:"type"` 70 Enabled bool `yaml:"enabled"` 71 AccessModes []string `yaml:"accessModes"` 72 Size string `yaml:"size"` 73 StorageClassName string `yaml:"storageClassName"` 74 Finalizers []string `yaml:"finalizers"` 75 } 76 77 type Ini struct { 78 Paths map[string]string `yaml:"paths,omitempty"` 79 Analytics map[string]bool `yaml:"analytics,omitempty"` 80 Log map[string]string `yaml:"log,omitempty"` 81 GrafanaNet map[string]interface{} `yaml:"grafana_net,omitempty"` 82 AuthGoogle map[string]string `yaml:"auth.google,omitempty"` 83 AuthGitlab map[string]string `yaml:"auth.gitlab,omitempty"` 84 AuthGithub map[string]string `yaml:"auth.github,omitempty"` 85 AuthGeneric map[string]string `yaml:"auth.generic_oauth,omitempty"` 86 } 87 88 type Datasource struct { 89 Name string `yaml:"name"` 90 Type string `yaml:"type"` 91 URL string `yaml:"url"` 92 Access string `yaml:"access"` 93 IsDefault bool `yaml:"isDefault"` 94 } 95 96 type TestFramework struct { 97 Enabled bool `yaml:"enabled"` 98 Image string `yaml:"image"` 99 Tag string `yaml:"tag"` 100 SecurityContext struct { 101 } `yaml:"securityContext"` 102 } 103 type Image struct { 104 Repository string `yaml:"repository"` 105 Tag string `yaml:"tag"` 106 PullPolicy string `yaml:"pullPolicy"` 107 } 108 type GrafanaValues struct { 109 FullnameOverride string `yaml:"fullnameOverride,omitempty"` 110 Enabled bool `yaml:"enabled"` 111 DefaultDashboardsEnabled bool `yaml:"defaultDashboardsEnabled"` 112 AdminUser string `yaml:"adminUser"` 113 AdminPassword string `yaml:"adminPassword"` 114 Admin *Admin `yaml:"admin"` 115 Ingress *Ingress `yaml:"ingress"` 116 Sidecar *Sidecar `yaml:"sidecar"` 117 ExtraConfigmapMounts []interface{} `yaml:"extraConfigmapMounts"` 118 AdditionalDataSources []*Datasource `yaml:"additionalDataSources"` 119 ServiceMonitor *ServiceMonitor `yaml:"serviceMonitor"` 120 DashboardProviders *DashboardProviders `yaml:"dashboardProviders,omitempty"` 121 DashboardsConfigMaps map[string]string `yaml:"dashboardsConfigMaps,omitempty"` 122 Ini *Ini `yaml:"grafana.ini,omitempty"` 123 Persistence *Persistence `yaml:"persistence,omitempty"` 124 TestFramework *TestFramework `yaml:"testFramework,omitempty"` 125 Plugins []string `yaml:"plugins,omitempty"` 126 Image *Image `yaml:"image,omitempty"` 127 Env map[string]string `yaml:"env,omitempty"` 128 Service *Service `yaml:"service,omitempty"` 129 Labels map[string]string `yaml:"labels,omitempty"` 130 PodLabels map[string]string `yaml:"podLabels,omitempty"` 131 NodeSelector map[string]string `yaml:"nodeSelector,omitempty"` 132 Tolerations k8s.Tolerations `yaml:"tolerations,omitempty"` 133 Resources *k8s.Resources `yaml:"resources,omitempty"` 134 } 135 136 type Rules struct { 137 Alertmanager bool `yaml:"alertmanager"` 138 Etcd bool `yaml:"etcd"` 139 General bool `yaml:"general"` 140 K8S bool `yaml:"k8s"` 141 KubeApiserver bool `yaml:"kubeApiserver"` 142 KubePrometheusNodeAlerting bool `yaml:"kubePrometheusNodeAlerting"` 143 KubePrometheusNodeRecording bool `yaml:"kubePrometheusNodeRecording"` 144 KubernetesAbsent bool `yaml:"kubernetesAbsent"` 145 KubernetesApps bool `yaml:"kubernetesApps"` 146 KubernetesResources bool `yaml:"kubernetesResources"` 147 KubernetesStorage bool `yaml:"kubernetesStorage"` 148 KubernetesSystem bool `yaml:"kubernetesSystem"` 149 KubeScheduler bool `yaml:"kubeScheduler"` 150 Network bool `yaml:"network"` 151 Node bool `yaml:"node"` 152 Prometheus bool `yaml:"prometheus"` 153 PrometheusOperator bool `yaml:"prometheusOperator"` 154 Time bool `yaml:"time"` 155 } 156 157 type DefaultRules struct { 158 Create bool `yaml:"create"` 159 Rules *Rules `yaml:"rules,omitempty"` 160 Labels map[string]string `yaml:"labels,omitempty"` 161 Annotations map[string]string `yaml:"annotations,omitempty"` 162 } 163 164 type Values struct { 165 DefaultRules *DefaultRules `yaml:"defaultRules,omitempty"` 166 Global *Global `yaml:"global,omitempty"` 167 KubeTargetVersionOverride string `yaml:"kubeTargetVersionOverride,omitempty"` 168 NameOverride string `yaml:"nameOverride,omitempty"` 169 FullnameOverride string `yaml:"fullnameOverride,omitempty"` 170 CommonLabels map[string]string `yaml:"commonLabels,omitempty"` 171 Alertmanager *DisabledToolServicePerReplica `yaml:"alertmanager,omitempty"` 172 Grafana *GrafanaValues `yaml:"grafana,omitempty"` 173 KubeAPIServer *DisabledTool `yaml:"kubeApiServer,omitempty"` 174 Kubelet *DisabledTool `yaml:"kubelet,omitempty"` 175 KubeControllerManager *DisabledTool `yaml:"kubeControllerManager,omitempty"` 176 CoreDNS *DisabledTool `yaml:"coreDns,omitempty"` 177 KubeDNS *DisabledTool `yaml:"kubeDns,omitempty"` 178 KubeEtcd *DisabledTool `yaml:"kubeEtcd,omitempty"` 179 KubeScheduler *DisabledTool `yaml:"kubeScheduler,omitempty"` 180 KubeProxy *DisabledTool `yaml:"kubeProxy,omitempty"` 181 KubeStateMetricsScrap *DisabledTool `yaml:"kubeStateMetrics,omitempty"` 182 KubeStateMetrics *DisabledTool `yaml:"kube-state-metrics,omitempty"` 183 NodeExporter *DisabledTool `yaml:"nodeExporter,omitempty"` 184 PrometheusNodeExporter *DisabledTool `yaml:"prometheus-node-exporter,omitempty"` 185 PrometheusOperator *prometheusoperatorhelm.PrometheusOperatorValues `yaml:"prometheusOperator,omitempty"` 186 Prometheus *DisabledToolServicePerReplica `yaml:"prometheus,omitempty"` 187 } 188 189 type Global struct { 190 Rbac *Rbac `yaml:"rbac,omitempty"` 191 ImagePullSecrets []interface{} `yaml:"imagePullSecrets,omitempty"` 192 } 193 194 type Rbac struct { 195 Create bool `yaml:"create,omitempty"` 196 PspEnabled bool `yaml:"pspEnabled,omitempty"` 197 } 198 199 type DisabledTool struct { 200 Enabled bool `yaml:"enabled"` 201 } 202 203 type DisabledToolServicePerReplica struct { 204 Enabled bool 205 ServicePerReplica *DisabledTool `yaml:"servicePerReplica"` 206 IngressPerReplica *DisabledTool `yaml:"ingressPerReplica"` 207 }