(ctx *pulumi.Context, cluster *providers.ProviderInfo, environment string, ingressNginx *helm.Chart)
| 14 | ) |
| 15 | |
| 16 | func DeployMonitoringStack(ctx *pulumi.Context, cluster *providers.ProviderInfo, environment string, ingressNginx *helm.Chart) error { |
| 17 | // Create namespace |
| 18 | ns, err := corev1.NewNamespace(ctx, "monitoring", &corev1.NamespaceArgs{ |
| 19 | Metadata: &metav1.ObjectMetaArgs{ |
| 20 | Name: pulumi.String("monitoring"), |
| 21 | }, |
| 22 | }, pulumi.Provider(cluster.Provider)) |
| 23 | if err != nil { |
| 24 | return err |
| 25 | } |
| 26 | |
| 27 | // Deploy VictoriaMetrics |
| 28 | _, err = helm.NewChart(ctx, "victoria-metrics", helm.ChartArgs{ |
| 29 | Chart: pulumi.String("victoria-metrics-single"), |
| 30 | Version: pulumi.String("0.24.4"), |
| 31 | Namespace: ns.Metadata.Name().Elem(), |
| 32 | FetchArgs: helm.FetchArgs{ |
| 33 | Repo: pulumi.String("https://victoriametrics.github.io/helm-charts/"), |
| 34 | }, |
| 35 | Values: pulumi.Map{ |
| 36 | "server": pulumi.Map{ |
| 37 | "retentionPeriod": pulumi.String("14d"), |
| 38 | "resources": pulumi.Map{ |
| 39 | "requests": pulumi.Map{ |
| 40 | "memory": pulumi.String("128Mi"), |
| 41 | "cpu": pulumi.String("50m"), |
| 42 | }, |
| 43 | "limits": pulumi.Map{ |
| 44 | "memory": pulumi.String("256Mi"), |
| 45 | }, |
| 46 | }, |
| 47 | }, |
| 48 | }, |
| 49 | }, pulumi.Provider(cluster.Provider)) |
| 50 | if err != nil { |
| 51 | return err |
| 52 | } |
| 53 | |
| 54 | // Deploy VMAgent |
| 55 | _, err = helm.NewChart(ctx, "victoria-metrics-agent", helm.ChartArgs{ |
| 56 | Chart: pulumi.String("victoria-metrics-agent"), |
| 57 | Version: pulumi.String("0.25.3"), |
| 58 | Namespace: ns.Metadata.Name().Elem(), |
| 59 | FetchArgs: helm.FetchArgs{ |
| 60 | Repo: pulumi.String("https://victoriametrics.github.io/helm-charts/"), |
| 61 | }, |
| 62 | Values: pulumi.Map{ |
| 63 | "remoteWrite": pulumi.Array{ |
| 64 | pulumi.Map{ |
| 65 | "url": pulumi.String("http://victoria-metrics-victoria-metrics-single-server:8428/api/v1/write"), |
| 66 | }, |
| 67 | }, |
| 68 | "config": pulumi.Map{ |
| 69 | "global": pulumi.Map{ |
| 70 | "scrape_interval": pulumi.String("60s"), |
| 71 | }, |
| 72 | "scrape_configs": pulumi.Array{ |
| 73 | pulumi.Map{ |
no test coverage detected
searching dependent graphs…