This commit is contained in:
seb
2024-05-25 14:55:10 +02:00
parent c492d69be4
commit a9bb67b046
55 changed files with 310 additions and 304 deletions
+2 -2
View File
@@ -40,7 +40,7 @@ data "kustomization_overlay" "data" {
spec:
image: "${var.images.alertmanager.registry}/${var.images.alertmanager.repository}:${var.images.alertmanager.tag}"
version: ${var.images.alertmanager.tag}
externalUrl: http://${var.component}-${var.instance}.${var.namespace}:9093
externalUrl: http://${var.instance}-${var.component}.${var.namespace}:9093
replicas: ${var.replicas}
listenLocal: ${var.listenLocal}
logLevel: "${var.logLevel}"
@@ -64,7 +64,7 @@ data "kustomization_overlay" "data" {
- name: Alertmanager
type: alertmanager
uid: alertmanager
url: http://${var.component}-${var.instance}.${var.namespace}:9093/
url: http://${var.instance}-${var.component}.${var.namespace}:9093/
access: proxy
jsonData:
handleGrafanaManagedAlerts: false
+29
View File
@@ -0,0 +1,29 @@
const NS=config.namespace;
const SRC=src;
const DEST=dest;
fn pre_pack() {
shell("helm repo add prometheus-community https://prometheus-community.github.io/helm-charts");
shell(`helm template alertmanager prometheus-community/kube-prometheus-stack --namespace=vynil-monitor -a "monitoring.coreos.com/v1/ServiceMonitor" -a "monitoring.coreos.com/v1/PrometheusRule" --values values.yml >${global::SRC}/chart.yaml`);
}
fn post_pack() {
for file in [ // v1_ConfigMap_alertmanager-kube-promethe-k8s-resources-cluster
"v1_ConfigMap_alertmanager-kube-promethe-cluster-total.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-grafana-overview.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-k8s-resources-cluster.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-k8s-resources-multicluster.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-k8s-resources-namespace.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-k8s-resources-node.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-k8s-resources-pod.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-k8s-resources-workloads-namespace.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-k8s-resources-workload.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-namespace-by-pod.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-namespace-by-workload.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-persistentvolumesusage.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-pod-total.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-prometheus.yaml",
"v1_ConfigMap_alertmanager-kube-promethe-workload-total.yaml",
"v1_Service_alertmanager-kube-promethe-alertmanager.yaml",
] {
shell(`rm -f ${global::DEST}/${file}`);
}
}
+22 -22
View File
@@ -8,26 +8,21 @@ metadata:
An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
The Alertmanager handles alerts sent by client applications such as the Prometheus server. It takes care of deduplicating, grouping, and routing them to the correct receiver integration such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts.
options:
listenLocal:
default: false
examples:
- false
type: boolean
app_group:
default: monitor
examples:
- monitor
type: string
ingress_class:
default: traefik
domain:
default: your-company
examples:
- traefik
- your-company
type: string
replicas:
default: 1
domain_name:
default: your_company.com
examples:
- 1
type: integer
- your_company.com
type: string
images:
default:
alertmanager:
@@ -67,16 +62,31 @@ options:
type: string
type: object
type: object
ingress_class:
default: traefik
examples:
- traefik
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
listenLocal:
default: false
examples:
- false
type: boolean
logLevel:
default: info
examples:
- info
type: string
replicas:
default: 1
examples:
- 1
type: integer
retention:
default: 120h
examples:
@@ -87,16 +97,6 @@ options:
examples:
- alertmanager
type: string
domain:
default: your-company
examples:
- your-company
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
dependencies:
- dist: null
category: share
@@ -9,17 +9,18 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: alertmanager
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "alertmanager"
heritage: "Helm"
spec:
image: "quay.io/prometheus/alertmanager:v0.26.0"
version: v0.26.0
image: "quay.io/prometheus/alertmanager:v0.27.0"
version: v0.27.0
replicas: 1
listenLocal: false
serviceAccountName: alertmanager-kube-promethe-alertmanager
automountServiceAccountToken: true
externalUrl: http://alertmanager-kube-promethe-alertmanager.vynil-monitor:9093
paused: false
logFormat: "logfmt"
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: alertmanager
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "alertmanager"
heritage: "Helm"
spec:
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: alertmanager
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "alertmanager"
heritage: "Helm"
spec:
@@ -29,5 +29,4 @@ spec:
enableHttp2: true
path: "/metrics"
- port: reloader-web
scheme: http
path: "/metrics"
+3 -3
View File
@@ -16,7 +16,7 @@ locals {
}
module "ingress" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress?ref=0.3.0"
component = ""
instance = var.instance
namespace = var.namespace
@@ -32,7 +32,7 @@ module "ingress" {
}
module "application" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application?ref=0.3.0"
component = var.component
instance = var.instance
app_group = var.app_group
@@ -55,7 +55,7 @@ provider "restapi" {
}
module "forward" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//forward"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//forward?ref=0.3.0"
component = var.component
instance = var.instance
domain = var.domain
+1 -1
View File
@@ -11,7 +11,7 @@ resource "kubectl_manifest" "svc" {
apiVersion: v1
kind: Service
metadata:
name: "${var.component}-${var.instance}"
name: "${var.instance}-${var.component}"
namespace: "${var.namespace}"
labels: ${jsonencode(local.svc-label)}
spec:
@@ -12,9 +12,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: alertmanager
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "alertmanager"
heritage: "Helm"
data:
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: alertmanager
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "alertmanager"
heritage: "Helm"
data:
@@ -12,9 +12,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: alertmanager
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "alertmanager"
heritage: "Helm"
automountServiceAccountToken: true
+3 -3
View File
@@ -16,7 +16,7 @@ locals {
}
module "ingress" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress?ref=0.3.0"
component = ""
instance = var.instance
namespace = var.namespace
@@ -32,7 +32,7 @@ module "ingress" {
}
module "application" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application?ref=0.3.0"
component = var.component
instance = var.instance
app_group = var.app_group
@@ -46,7 +46,7 @@ module "ingress" {
}
module "oauth2" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//oauth2"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//oauth2?ref=0.3.0"
component = var.component
instance = var.instance
namespace = var.namespace
+1 -1
View File
@@ -44,7 +44,7 @@ data "kustomization_overlay" "data" {
- name: Prometheus
type: prometheus
uid: prometheus
url: http://${var.component}-${var.instance}.${var.namespace}:9090/
url: http://${var.instance}-${var.component}.${var.namespace}:9090/
access: proxy
isDefault: false
jsonData:
+30
View File
@@ -0,0 +1,30 @@
const NS=config.namespace;
const SRC=src;
const DEST=dest;
fn pre_pack() {
shell("helm repo add prometheus-community https://prometheus-community.github.io/helm-charts");
shell(`helm template prometheus prometheus-community/kube-prometheus-stack --namespace=vynil-monitor -a "monitoring.coreos.com/v1/ServiceMonitor" -a "monitoring.coreos.com/v1/PrometheusRule" --values values.yml >${global::SRC}/chart.yaml`);
}
fn post_pack() {
for file in [
"monitoring.coreos.com_v1_Prometheus_prometheus-kube-prometheus-prometheus.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-alertmanager-overview.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-cluster-total.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-grafana-overview.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-k8s-resources-cluster.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-k8s-resources-multicluster.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-k8s-resources-namespace.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-k8s-resources-node.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-k8s-resources-pod.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-k8s-resources-workloads-namespace.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-k8s-resources-workload.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-namespace-by-pod.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-namespace-by-workload.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-persistentvolumesusage.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-pod-total.yaml",
"v1_ConfigMap_prometheus-kube-prometheus-workload-total.yaml",
"v1_Service_prometheus-kube-prometheus-prometheus.yaml",
] {
shell(`rm -f ${global::DEST}/${file}`);
}
}
+39 -39
View File
@@ -6,51 +6,31 @@ metadata:
name: prometheus
description: An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
options:
domain:
default: your-company
examples:
- your-company
type: string
ingress_class:
default: traefik
examples:
- traefik
type: string
shards:
default: 1
examples:
- 1
type: integer
logLevel:
default: info
examples:
- info
type: string
listenLocal:
default: false
examples:
- false
type: boolean
enableAdminAPI:
default: false
examples:
- false
type: boolean
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
alertmanager:
default: alertmanager-alertmanager
examples:
- alertmanager-alertmanager
type: string
app_group:
default: monitor
examples:
- monitor
type: string
domain:
default: your-company
examples:
- your-company
type: string
domain_name:
default: your_company.com
examples:
- your_company.com
type: string
enableAdminAPI:
default: false
examples:
- false
type: boolean
images:
default:
prometheus:
@@ -90,6 +70,26 @@ options:
type: string
type: object
type: object
ingress_class:
default: traefik
examples:
- traefik
type: string
issuer:
default: letsencrypt-prod
examples:
- letsencrypt-prod
type: string
listenLocal:
default: false
examples:
- false
type: boolean
logLevel:
default: info
examples:
- info
type: string
replicas:
default: 1
examples:
@@ -100,11 +100,11 @@ options:
examples:
- 10d
type: string
app_group:
default: monitor
shards:
default: 1
examples:
- monitor
type: string
- 1
type: integer
sub_domain:
default: prometheus
examples:
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
spec:
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
spec:
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
spec:
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
spec:
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
spec:
@@ -8,9 +8,9 @@ metadata:
app: kube-prometheus-stack-kubelet
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
spec:
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
spec:
@@ -28,5 +28,4 @@ spec:
- port: http-web
path: "/metrics"
- port: reloader-web
scheme: http
path: "/metrics"
+3 -3
View File
@@ -16,7 +16,7 @@ locals {
}
module "ingress" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress?ref=0.3.0"
component = ""
instance = var.instance
namespace = var.namespace
@@ -32,7 +32,7 @@ module "ingress" {
}
module "application" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application?ref=0.3.0"
component = var.component
instance = var.instance
app_group = var.app_group
@@ -55,7 +55,7 @@ provider "restapi" {
}
module "forward" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//forward"
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//forward?ref=0.3.0"
component = var.component
instance = var.instance
domain = var.domain
+1 -1
View File
@@ -9,7 +9,7 @@ resource "kubectl_manifest" "prometheus" {
spec:
image: "${var.images.prometheus.registry}/${var.images.prometheus.repository}:${var.images.prometheus.tag}"
version: ${var.images.prometheus.tag}
externalUrl: http://${var.component}-${var.instance}.${var.namespace}:9090
externalUrl: http://${var.instance}-${var.component}.${var.namespace}:9090
replicas: ${var.replicas}
shards: ${var.shards}
logLevel: ${var.logLevel}
@@ -8,9 +8,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
roleRef:
@@ -8,9 +8,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
rules:
+1 -1
View File
@@ -11,7 +11,7 @@ resource "kubectl_manifest" "svc" {
apiVersion: v1
kind: Service
metadata:
name: "${var.component}-${var.instance}"
name: "${var.instance}-${var.component}"
namespace: "${var.namespace}"
labels: ${jsonencode(local.svc-label)}
spec:
@@ -10,9 +10,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
data:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,18 +0,0 @@
# Source: kube-prometheus-stack/templates/prometheus/secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: prometheus-kube-prometheus-prometheus
namespace: vynil-monitor
labels:
app: kube-prometheus-stack-prometheus
app.kubernetes.io/component: prometheus
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
release: "prometheus"
heritage: "Helm"
data:
@@ -12,8 +12,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
heritage: "Helm"
automountServiceAccountToken: true
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
namespace: kube-system
@@ -9,9 +9,9 @@ metadata:
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/instance: prometheus
app.kubernetes.io/version: "56.9.0"
app.kubernetes.io/version: "58.7.2"
app.kubernetes.io/part-of: kube-prometheus-stack
chart: kube-prometheus-stack-56.9.0
chart: kube-prometheus-stack-58.7.2
release: "prometheus"
heritage: "Helm"
namespace: kube-system