This repository has been archived by the owner on Apr 29, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathvalues.go
201 lines (183 loc) · 9.28 KB
/
values.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
package helm
import (
"github.com/caos/orbos/internal/operator/boom/api/v1beta2/k8s"
prometheusoperatorhelm "github.com/caos/orbos/internal/operator/boom/application/applications/prometheusoperator/helm"
corev1 "k8s.io/api/core/v1"
)
type Ingress struct {
Enabled bool `yaml:"enabled"`
Annotations map[string]string `yaml:"annotations"`
Labels map[string]string `yaml:"labels"`
Hosts []interface{} `yaml:"hosts"`
Path string `yaml:"path"`
TLS []interface{} `yaml:"tls"`
}
type Dashboards struct {
Enabled bool `yaml:"enabled"`
Label string `yaml:"label"`
}
type Datasources struct {
Enabled bool `yaml:"enabled"`
DefaultDatasourceEnabled bool `yaml:"defaultDatasourceEnabled"`
Annotations map[string]string `yaml:"annotations"`
CreatePrometheusReplicasDatasources bool `yaml:"createPrometheusReplicasDatasources"`
Label string `yaml:"label"`
}
type ServiceMonitor struct {
Interval string `yaml:"interval"`
SelfMonitor bool `yaml:"selfMonitor"`
MetricRelabelings []interface{} `yaml:"metricRelabelings"`
Relabelings []interface{} `yaml:"relabelings"`
}
type Sidecar struct {
Dashboards *Dashboards `yaml:"dashboards"`
Datasources *Datasources `yaml:"datasources"`
}
type DashboardProviders struct {
Providers *Providersyaml `yaml:"dashboardproviders.yaml"`
}
type Providersyaml struct {
APIVersion int64 `yaml:"apiVersion"`
Providers []*Provider `yaml:"providers"`
}
type Provider struct {
Name string `yaml:"name"`
OrgID int `yaml:"ordId"`
Folder string `yaml:"folder,omitempty"`
Type string `yaml:"type"`
DisableDeletion bool `yaml:"disableDeletion"`
Editable bool `yaml:"editable"`
Options map[string]string `yaml:"options"`
}
type Admin struct {
ExistingSecret string `yaml:"existingSecret"`
UserKey string `yaml:"userKey"`
PasswordKey string `yaml:"passwordKey"`
}
type Service struct {
Labels map[string]string `yaml:"labels,omitempty"`
}
type Persistence struct {
Type string `yaml:"type"`
Enabled bool `yaml:"enabled"`
AccessModes []string `yaml:"accessModes"`
Size string `yaml:"size"`
StorageClassName string `yaml:"storageClassName"`
Finalizers []string `yaml:"finalizers"`
}
type Ini struct {
Paths map[string]string `yaml:"paths,omitempty"`
Analytics map[string]bool `yaml:"analytics,omitempty"`
Log map[string]string `yaml:"log,omitempty"`
GrafanaNet map[string]interface{} `yaml:"grafana_net,omitempty"`
AuthGoogle map[string]string `yaml:"auth.google,omitempty"`
AuthGitlab map[string]string `yaml:"auth.gitlab,omitempty"`
AuthGithub map[string]string `yaml:"auth.github,omitempty"`
AuthGeneric map[string]string `yaml:"auth.generic_oauth,omitempty"`
}
type Datasource struct {
Name string `yaml:"name"`
Type string `yaml:"type"`
URL string `yaml:"url"`
Access string `yaml:"access"`
IsDefault bool `yaml:"isDefault"`
}
type TestFramework struct {
Enabled bool `yaml:"enabled"`
Image string `yaml:"image"`
Tag string `yaml:"tag"`
SecurityContext struct {
} `yaml:"securityContext"`
}
type Image struct {
Repository string `yaml:"repository"`
Tag string `yaml:"tag"`
PullPolicy string `yaml:"pullPolicy"`
}
type GrafanaValues struct {
FullnameOverride string `yaml:"fullnameOverride,omitempty"`
Enabled bool `yaml:"enabled"`
DefaultDashboardsEnabled bool `yaml:"defaultDashboardsEnabled"`
AdminPassword string `yaml:"adminPassword"`
Admin *Admin `yaml:"admin"`
Ingress *Ingress `yaml:"ingress"`
Sidecar *Sidecar `yaml:"sidecar"`
ExtraConfigmapMounts []interface{} `yaml:"extraConfigmapMounts"`
AdditionalDataSources []*Datasource `yaml:"additionalDataSources"`
ServiceMonitor *ServiceMonitor `yaml:"serviceMonitor"`
DashboardProviders *DashboardProviders `yaml:"dashboardProviders,omitempty"`
DashboardsConfigMaps map[string]string `yaml:"dashboardsConfigMaps,omitempty"`
Ini *Ini `yaml:"grafana.ini,omitempty"`
Persistence *Persistence `yaml:"persistence,omitempty"`
TestFramework *TestFramework `yaml:"testFramework,omitempty"`
Plugins []string `yaml:"plugins,omitempty"`
Image *Image `yaml:"image,omitempty"`
Env map[string]string `yaml:"env,omitempty"`
Service *Service `yaml:"service,omitempty"`
Labels map[string]string `yaml:"labels,omitempty"`
PodLabels map[string]string `yaml:"podLabels,omitempty"`
NodeSelector map[string]string `yaml:"nodeSelector,omitempty"`
Tolerations []corev1.Toleration `yaml:"tolerations,omitempty"`
Resources *k8s.Resources `yaml:"resources,omitempty"`
}
type Rules struct {
Alertmanager bool `yaml:"alertmanager"`
Etcd bool `yaml:"etcd"`
General bool `yaml:"general"`
K8S bool `yaml:"k8s"`
KubeApiserver bool `yaml:"kubeApiserver"`
KubePrometheusNodeAlerting bool `yaml:"kubePrometheusNodeAlerting"`
KubePrometheusNodeRecording bool `yaml:"kubePrometheusNodeRecording"`
KubernetesAbsent bool `yaml:"kubernetesAbsent"`
KubernetesApps bool `yaml:"kubernetesApps"`
KubernetesResources bool `yaml:"kubernetesResources"`
KubernetesStorage bool `yaml:"kubernetesStorage"`
KubernetesSystem bool `yaml:"kubernetesSystem"`
KubeScheduler bool `yaml:"kubeScheduler"`
Network bool `yaml:"network"`
Node bool `yaml:"node"`
Prometheus bool `yaml:"prometheus"`
PrometheusOperator bool `yaml:"prometheusOperator"`
Time bool `yaml:"time"`
}
type DefaultRules struct {
Create bool `yaml:"create"`
Rules *Rules `yaml:"rules,omitempty"`
Labels map[string]string `yaml:"labels,omitempty"`
Annotations map[string]string `yaml:"annotations,omitempty"`
}
type Values struct {
DefaultRules *DefaultRules `yaml:"defaultRules,omitempty"`
Global *Global `yaml:"global,omitempty"`
KubeTargetVersionOverride string `yaml:"kubeTargetVersionOverride,omitempty"`
NameOverride string `yaml:"nameOverride,omitempty"`
FullnameOverride string `yaml:"fullnameOverride,omitempty"`
CommonLabels map[string]string `yaml:"commonLabels,omitempty"`
Alertmanager *DisabledTool `yaml:"alertmanager,omitempty"`
Grafana *GrafanaValues `yaml:"grafana,omitempty"`
KubeAPIServer *DisabledTool `yaml:"kubeApiServer,omitempty"`
Kubelet *DisabledTool `yaml:"kubelet,omitempty"`
KubeControllerManager *DisabledTool `yaml:"kubeControllerManager,omitempty"`
CoreDNS *DisabledTool `yaml:"coreDns,omitempty"`
KubeDNS *DisabledTool `yaml:"kubeDns,omitempty"`
KubeEtcd *DisabledTool `yaml:"kubeEtcd,omitempty"`
KubeScheduler *DisabledTool `yaml:"kubeScheduler,omitempty"`
KubeProxy *DisabledTool `yaml:"kubeProxy,omitempty"`
KubeStateMetricsScrap *DisabledTool `yaml:"kubeStateMetrics,omitempty"`
KubeStateMetrics *DisabledTool `yaml:"kube-state-metrics,omitempty"`
NodeExporter *DisabledTool `yaml:"nodeExporter,omitempty"`
PrometheusNodeExporter *DisabledTool `yaml:"prometheus-node-exporter,omitempty"`
PrometheusOperator *prometheusoperatorhelm.PrometheusOperatorValues `yaml:"prometheusOperator,omitempty"`
Prometheus *DisabledTool `yaml:"prometheus,omitempty"`
}
type Global struct {
Rbac *Rbac `yaml:"rbac,omitempty"`
ImagePullSecrets []interface{} `yaml:"imagePullSecrets,omitempty"`
}
type Rbac struct {
Create bool `yaml:"create,omitempty"`
PspEnabled bool `yaml:"pspEnabled,omitempty"`
}
type DisabledTool struct {
Enabled bool `yaml:"enabled"`
}