diff --git a/flux/clusters/ephemeral/grafana-ingress.yml b/flux/clusters/ephemeral/grafana-ingress.yml index 4462390b..fd7306c3 100644 --- a/flux/clusters/ephemeral/grafana-ingress.yml +++ b/flux/clusters/ephemeral/grafana-ingress.yml @@ -4,7 +4,7 @@ kind: Namespace metadata: name: monitoring labels: - app.kubernetes.io/component: monitoring + app.kubernetes.io/component: spectrum-monitoring pod-security.kubernetes.io/enforce: privileged --- apiVersion: networking.k8s.io/v1 diff --git a/flux/components/kubevirt/app/kustomization.yml b/flux/components/kubevirt/app/kustomization.yml index d8e2e265..da5c0937 100644 --- a/flux/components/kubevirt/app/kustomization.yml +++ b/flux/components/kubevirt/app/kustomization.yml @@ -5,7 +5,6 @@ resources: - https://github.com/kubevirt/kubevirt/releases/download/v1.4.0/kubevirt-cr.yaml - https://github.com/kubevirt/containerized-data-importer/releases/download/v1.61.0/cdi-operator.yaml - https://github.com/kubevirt/containerized-data-importer/releases/download/v1.61.0/cdi-cr.yaml - # - service-monitor.yml patches: - target: kind: Deployment diff --git a/flux/monitoring/configs/flux/kustomization.yaml b/flux/monitoring/configs/flux/kustomization.yaml index 15b6f4d5..47e9f532 100644 --- a/flux/monitoring/configs/flux/kustomization.yaml +++ b/flux/monitoring/configs/flux/kustomization.yaml @@ -14,6 +14,6 @@ configMapGenerator: grafana_folder: "Flux" labels: grafana_dashboard: "1" - app.kubernetes.io/part-of: flux - app.kubernetes.io/component: monitoring + app.kubernetes.io/part-of: spectrum-monitoring + app.kubernetes.io/component: flux kustomize.toolkit.fluxcd.io/substitute: disabled diff --git a/flux/monitoring/configs/flux/podmonitor.yaml b/flux/monitoring/configs/flux/podmonitor.yaml index 21cbef27..bee9228d 100644 --- a/flux/monitoring/configs/flux/podmonitor.yaml +++ b/flux/monitoring/configs/flux/podmonitor.yaml @@ -3,8 +3,8 @@ kind: PodMonitor metadata: name: flux-system labels: - app.kubernetes.io/part-of: flux - app.kubernetes.io/component: monitoring + app.kubernetes.io/part-of: spectrum-monitoring + app.kubernetes.io/component: flux spec: namespaceSelector: matchNames: diff --git a/flux/monitoring/configs/kubernetes/kustomization.yml b/flux/monitoring/configs/kubernetes/kustomization.yml index cbdc11b4..26914122 100644 --- a/flux/monitoring/configs/kubernetes/kustomization.yml +++ b/flux/monitoring/configs/kubernetes/kustomization.yml @@ -5,8 +5,8 @@ generatorOptions: disableNameSuffixHash: true labels: grafana_dashboard: "1" - app.kubernetes.io/component: monitoring - app.kubernetes.io/part-of: kubernetes + app.kubernetes.io/component: kubernetes + app.kubernetes.io/part-of: spectrum-monitoring commonAnnotations: grafana_folder: "Kubernetes" @@ -26,7 +26,3 @@ configMapGenerator: - name: dashboards-k8s-views-pods files: - https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/refs/tags/v2.5.3/dashboards/k8s-views-pods.json - - - name: dashboards-k8s-kubevirt - files: - - https://raw.githubusercontent.com/aenix-io/cozystack/refs/tags/v0.23.1/dashboards/kubevirt/kubevirt-control-plane.json diff --git a/flux/monitoring/configs/kubevirt.yml b/flux/monitoring/configs/kubevirt.yml new file mode 100644 index 00000000..c3b0c156 --- /dev/null +++ b/flux/monitoring/configs/kubevirt.yml @@ -0,0 +1,16 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: kubevirt-monitoring + namespace: flux-system +spec: + interval: 1m0s + path: ./flux/monitoring/configs/kubevirt + prune: true + sourceRef: + kind: GitRepository + name: spectrum + namespace: flux-system + dependsOn: + - name: kubevirt + namespace: flux-system diff --git a/flux/monitoring/configs/kubevirt/kustomization.yml b/flux/monitoring/configs/kubevirt/kustomization.yml new file mode 100644 index 00000000..12aebbe8 --- /dev/null +++ b/flux/monitoring/configs/kubevirt/kustomization.yml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: monitoring +resources: + - service-monitor.yml +generatorOptions: + disableNameSuffixHash: true + labels: + grafana_dashboard: "1" + app.kubernetes.io/part-of: spectrum-monitoring + app.kubernetes.io/component: kubevirt +commonAnnotations: + grafana_folder: "Kubevirt" + +configMapGenerator: + - name: dashboards-k8s-kubevirt + files: + - https://raw.githubusercontent.com/aenix-io/cozystack/refs/tags/v0.23.1/dashboards/kubevirt/kubevirt-control-plane.json diff --git a/flux/components/kubevirt/app/service-monitor.yml b/flux/monitoring/configs/kubevirt/service-monitor.yml similarity index 64% rename from flux/components/kubevirt/app/service-monitor.yml rename to flux/monitoring/configs/kubevirt/service-monitor.yml index 74897ddb..0ad41114 100644 --- a/flux/components/kubevirt/app/service-monitor.yml +++ b/flux/monitoring/configs/kubevirt/service-monitor.yml @@ -2,14 +2,16 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: kubevirt - namespace: kubevirt labels: - app.kubernetes.io/part-of: kubevirt - app.kubernetes.io/component: monitoring + app.kubernetes.io/part-of: spectrum-monitoring + app.kubernetes.io/component: kubevirt spec: selector: matchLabels: prometheus.kubevirt.io: "true" + namespaceSelector: + matchNames: + - kubevirt endpoints: - port: metrics scheme: https diff --git a/flux/monitoring/configs/kustomization.yml b/flux/monitoring/configs/kustomization.yml index 8383d414..88ed8b03 100644 --- a/flux/monitoring/configs/kustomization.yml +++ b/flux/monitoring/configs/kustomization.yml @@ -1,7 +1,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -namespace: monitoring resources: - flux - system - kubernetes + - kubevirt.yml diff --git a/flux/monitoring/configs/system/kustomization.yml b/flux/monitoring/configs/system/kustomization.yml index 94c35824..41ffce36 100644 --- a/flux/monitoring/configs/system/kustomization.yml +++ b/flux/monitoring/configs/system/kustomization.yml @@ -10,4 +10,5 @@ configMapGenerator: grafana_folder: "System" labels: grafana_dashboard: "1" - app.kubernetes.io/component: monitoring + app.kubernetes.io/component: system + app.kubernetes.io/part-of: spectrum-monitoring diff --git a/flux/monitoring/controllers/kube-prometheus-stack/kustomization.yaml b/flux/monitoring/controllers/kube-prometheus-stack/kustomization.yaml index d39eb9fa..6ef551f2 100644 --- a/flux/monitoring/controllers/kube-prometheus-stack/kustomization.yaml +++ b/flux/monitoring/controllers/kube-prometheus-stack/kustomization.yaml @@ -11,7 +11,7 @@ configMapGenerator: - kube-state-metrics-config.yaml options: labels: - app.kubernetes.io/part-of: flux - app.kubernetes.io/component: monitoring + app.kubernetes.io/part-of: spectrum-monitoring + app.kubernetes.io/component: kube-prometheus-stack configurations: - kustomizeconfig.yaml diff --git a/flux/monitoring/controllers/kube-prometheus-stack/namespace.yaml b/flux/monitoring/controllers/kube-prometheus-stack/namespace.yaml index 2e894a2f..c91c570a 100644 --- a/flux/monitoring/controllers/kube-prometheus-stack/namespace.yaml +++ b/flux/monitoring/controllers/kube-prometheus-stack/namespace.yaml @@ -3,5 +3,5 @@ kind: Namespace metadata: name: monitoring labels: - app.kubernetes.io/component: monitoring + app.kubernetes.io/component: spectrum-monitoring pod-security.kubernetes.io/enforce: privileged diff --git a/flux/monitoring/controllers/kube-prometheus-stack/release.yaml b/flux/monitoring/controllers/kube-prometheus-stack/release.yaml index b762419a..0a770648 100644 --- a/flux/monitoring/controllers/kube-prometheus-stack/release.yaml +++ b/flux/monitoring/controllers/kube-prometheus-stack/release.yaml @@ -37,13 +37,18 @@ spec: serviceMonitorNamespaceSelector: {} serviceMonitorSelector: matchExpressions: - - key: app.kubernetes.io/component - operator: Exists + - key: app.kubernetes.io/part-of + operator: In + values: + - "kube-prometheus-stack" + - "kube-state-metrics" + - "prometheus-node-exporter" + - "spectrum-monitoring" podMonitorNamespaceSelector: {} podMonitorSelector: matchLabels: - app.kubernetes.io/component: monitoring + app.kubernetes.io/part-of: spectrum-monitoring grafana: defaultDashboardsEnabled: false diff --git a/flux/monitoring/controllers/loki-stack/release.yaml b/flux/monitoring/controllers/loki-stack/release.yaml index 52a7c0c2..e5a11b26 100644 --- a/flux/monitoring/controllers/loki-stack/release.yaml +++ b/flux/monitoring/controllers/loki-stack/release.yaml @@ -25,7 +25,8 @@ spec: serviceMonitor: enabled: true additionalLabels: - app.kubernetes.io/part-of: kube-prometheus-stack + app.kubernetes.io/part-of: spectrum-monitoring + app.kubernetes.io/component: kube-prometheus-stack config: chunk_store_config: max_look_back_period: 0s diff --git a/terraform-modules/talos/base_config.yml b/terraform-modules/talos/base_config.yml index 72ddc4fe..9f1048c5 100644 --- a/terraform-modules/talos/base_config.yml +++ b/terraform-modules/talos/base_config.yml @@ -22,3 +22,13 @@ cluster: name: none proxy: disabled: true + + controllerManager: + # for prometheus to scrape + extraArgs: + bind-address: 0.0.0.0 + + scheduler: + # for prometheus to scrape + extraArgs: + bind-address: 0.0.0.0