Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8f14db80a | ||
|
|
ea35bb55e4 |
+28
-4
@@ -13,6 +13,10 @@ const appsRef = new pulumi.StackReference(
|
|||||||
const kubeconfig = bootstrapRef.requireOutput("kubeconfig");
|
const kubeconfig = bootstrapRef.requireOutput("kubeconfig");
|
||||||
const domain = appsRef.requireOutput("domain");
|
const domain = appsRef.requireOutput("domain");
|
||||||
const grafanaAdminPassword = config.requireSecret("grafanaAdminPassword");
|
const grafanaAdminPassword = config.requireSecret("grafanaAdminPassword");
|
||||||
|
const grafanaDbUser = config.requireSecret("grafanaDbUser");
|
||||||
|
const grafanaDbPassword = config.requireSecret("grafanaDbPassword");
|
||||||
|
const grafanaDbHost = config.requireSecret("grafanaDbHost");
|
||||||
|
const grafanaDbName = config.require("grafanaDbName");
|
||||||
|
|
||||||
const k8sProvider = new k8s.Provider("k3s", { kubeconfig });
|
const k8sProvider = new k8s.Provider("k3s", { kubeconfig });
|
||||||
|
|
||||||
@@ -24,6 +28,15 @@ const monitoringNs = new k8s.core.v1.Namespace(
|
|||||||
|
|
||||||
const grafanaHost = pulumi.interpolate`grafana.${domain}`;
|
const grafanaHost = pulumi.interpolate`grafana.${domain}`;
|
||||||
|
|
||||||
|
const grafanaDbSecret = new k8s.core.v1.Secret(
|
||||||
|
"grafana-db-credentials",
|
||||||
|
{
|
||||||
|
metadata: { namespace: monitoringNs.metadata.name },
|
||||||
|
stringData: { password: grafanaDbPassword },
|
||||||
|
},
|
||||||
|
{ provider: k8sProvider },
|
||||||
|
);
|
||||||
|
|
||||||
new k8s.helm.v3.Release(
|
new k8s.helm.v3.Release(
|
||||||
"kube-prometheus-stack",
|
"kube-prometheus-stack",
|
||||||
{
|
{
|
||||||
@@ -38,6 +51,7 @@ new k8s.helm.v3.Release(
|
|||||||
values: {
|
values: {
|
||||||
grafana: {
|
grafana: {
|
||||||
adminPassword: grafanaAdminPassword,
|
adminPassword: grafanaAdminPassword,
|
||||||
|
replicas: 2,
|
||||||
ingress: {
|
ingress: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
ingressClassName: "traefik",
|
ingressClassName: "traefik",
|
||||||
@@ -45,10 +59,20 @@ new k8s.helm.v3.Release(
|
|||||||
hosts: [grafanaHost],
|
hosts: [grafanaHost],
|
||||||
tls: [{ secretName: "grafana-tls", hosts: [grafanaHost] }],
|
tls: [{ secretName: "grafana-tls", hosts: [grafanaHost] }],
|
||||||
},
|
},
|
||||||
persistence: {
|
env: {
|
||||||
enabled: true,
|
GF_DATABASE_TYPE: "postgres",
|
||||||
storageClassName: "longhorn",
|
GF_DATABASE_HOST: grafanaDbHost,
|
||||||
size: "2Gi",
|
GF_DATABASE_NAME: grafanaDbName,
|
||||||
|
GF_DATABASE_USER: grafanaDbUser,
|
||||||
|
GF_DATABASE_SSL_MODE: "disable",
|
||||||
|
},
|
||||||
|
envValueFrom: {
|
||||||
|
GF_DATABASE_PASSWORD: {
|
||||||
|
secretKeyRef: {
|
||||||
|
name: grafanaDbSecret.metadata.name,
|
||||||
|
key: "password",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
prometheus: {
|
prometheus: {
|
||||||
|
|||||||
Reference in New Issue
Block a user