This is an automated email from the ASF dual-hosted git repository.

zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git


The following commit(s) were added to refs/heads/master by this push:
     new ce126f91 [charts] Finishing package configuration (#672)
ce126f91 is described below

commit ce126f91433a9f66bf03392b87b583c2851881bf
Author: Jian Zhong <[email protected]>
AuthorDate: Sat Apr 5 12:29:08 2025 +0800

    [charts] Finishing package configuration (#672)
---
 manifests/charts/admin/Chart.yaml                  |   4 +-
 .../admin/charts/kube-prometheus/.helmignore       |  33 --
 .../charts/admin/charts/kube-prometheus/Chart.lock |  18 -
 .../charts/admin/charts/kube-prometheus/Chart.yaml |   4 -
 .../charts/admin/charts/kube-prometheus/README.md  | 346 -------------------
 .../charts/prometheus-windows-exporter/.helmignore |  21 --
 .../charts/prometheus-windows-exporter/Chart.yaml  |  18 -
 .../charts/prometheus-windows-exporter/README.md   |  42 ---
 .../templates/_helpers.tpl                         | 185 ----------
 .../templates/config.yaml                          |  14 -
 .../templates/daemonset.yaml                       | 192 -----------
 .../templates/podmonitor.yaml                      |  91 -----
 .../templates/service.yaml                         |  24 --
 .../templates/serviceaccount.yaml                  |  17 -
 .../templates/servicemonitor.yaml                  |  61 ----
 .../charts/prometheus-windows-exporter/values.yaml | 377 ---------------------
 .../k8s-resources-windows-cluster.yaml             |  24 --
 .../k8s-resources-windows-namespace.yaml           |  24 --
 .../dashboards-1.14/k8s-resources-windows-pod.yaml |  24 --
 .../k8s-windows-cluster-rsrc-use.yaml              |  24 --
 .../dashboards-1.14/k8s-windows-node-rsrc-use.yaml |  24 --
 .../prometheus/rules-1.14/windows.node.rules.yaml  | 301 ----------------
 .../prometheus/rules-1.14/windows.pod.rules.yaml   | 158 ---------
 .../admin/charts/kube-prometheus/values.yaml       |  29 --
 manifests/charts/admin/templates/deployment.yaml   |  18 +-
 manifests/charts/admin/values.yaml                 |   3 +-
 manifests/charts/base/Chart.yaml                   |   4 +-
 manifests/charts/base/templates/jobs.yaml          | 151 +++++++++
 .../register-discovery/nacos/Chart.yaml            |   4 +-
 .../nacos/templates/mysql-statefulset.yaml         |  26 +-
 .../nacos/templates/statefulset.yaml               |  26 +-
 .../register-discovery/nacos/values.yaml           |  39 +--
 .../register-discovery/zookeeper/Chart.yaml        |   4 +-
 .../zookeeper/templates/statefulset.yaml           |  26 +-
 .../register-discovery/zookeeper/values.yaml       |   6 -
 operator/cmd/cluster/install.go                    |  16 +-
 36 files changed, 269 insertions(+), 2109 deletions(-)

diff --git a/manifests/charts/admin/Chart.yaml 
b/manifests/charts/admin/Chart.yaml
index 22a62398..9770a308 100644
--- a/manifests/charts/admin/Chart.yaml
+++ b/manifests/charts/admin/Chart.yaml
@@ -19,8 +19,8 @@ annotations:
 name: admin
 home: https://github.com/apache/dubbo-kubernetes
 description: Helm chart for dubbo admin dashboard.
-version: 1.0.0
-appVersion: 1.0.0
+version: 0.0.0
+appVersion: 0.0.0
 maintainers:
   - name: mfordjody
     email: [email protected]
diff --git a/manifests/charts/admin/charts/kube-prometheus/.helmignore 
b/manifests/charts/admin/charts/kube-prometheus/.helmignore
deleted file mode 100644
index 925b6478..00000000
--- a/manifests/charts/admin/charts/kube-prometheus/.helmignore
+++ /dev/null
@@ -1,33 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
-# helm/charts
-OWNERS
-hack/
-ci/
-kube-prometheus-*.tgz
-
-unittests/
-files/dashboards/
-
-UPGRADE.md
-CONTRIBUTING.md
-.editorconfig
diff --git a/manifests/charts/admin/charts/kube-prometheus/Chart.lock 
b/manifests/charts/admin/charts/kube-prometheus/Chart.lock
deleted file mode 100644
index 26eef378..00000000
--- a/manifests/charts/admin/charts/kube-prometheus/Chart.lock
+++ /dev/null
@@ -1,18 +0,0 @@
-dependencies:
-- name: crds
-  repository: ""
-  version: 0.0.0
-- name: kube-state-metrics
-  repository: https://prometheus-community.github.io/helm-charts
-  version: 5.31.0
-- name: prometheus-node-exporter
-  repository: https://prometheus-community.github.io/helm-charts
-  version: 4.45.0
-- name: grafana
-  repository: https://grafana.github.io/helm-charts
-  version: 8.10.4
-- name: prometheus-windows-exporter
-  repository: https://prometheus-community.github.io/helm-charts
-  version: 0.9.1
-digest: sha256:de305d2dde3afa60a77e31c27e23e397a240002e3000f904d5290ceb79b8f670
-generated: "2025-03-24T19:55:17.677855386Z"
diff --git a/manifests/charts/admin/charts/kube-prometheus/Chart.yaml 
b/manifests/charts/admin/charts/kube-prometheus/Chart.yaml
index e340bba1..f5767172 100644
--- a/manifests/charts/admin/charts/kube-prometheus/Chart.yaml
+++ b/manifests/charts/admin/charts/kube-prometheus/Chart.yaml
@@ -27,10 +27,6 @@ dependencies:
   name: grafana
   repository: https://grafana.github.io/helm-charts
   version: 8.10.*
-- condition: windowsMonitoring.enabled
-  name: prometheus-windows-exporter
-  repository: https://prometheus-community.github.io/helm-charts
-  version: 0.9.*
 description: kube-prometheus-stack collects Kubernetes manifests, Grafana 
dashboards,
   and Prometheus rules combined with documentation and scripts to provide easy 
to
   operate end-to-end Kubernetes cluster monitoring with Prometheus using the 
Prometheus
diff --git a/manifests/charts/admin/charts/kube-prometheus/README.md 
b/manifests/charts/admin/charts/kube-prometheus/README.md
deleted file mode 100644
index f81a1015..00000000
--- a/manifests/charts/admin/charts/kube-prometheus/README.md
+++ /dev/null
@@ -1,346 +0,0 @@
-# kube-prometheus-stack
-
-Installs core components of the [kube-prometheus 
stack](https://github.com/prometheus-operator/kube-prometheus), a collection of 
Kubernetes manifests, [Grafana](http://grafana.com/) dashboards, and 
[Prometheus 
rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/)
 combined with documentation and scripts to provide easy to operate end-to-end 
Kubernetes cluster monitoring with [Prometheus](https://prometheus.io/) using 
the [Prometheus Operator](https://github.c [...]
-
-See the 
[kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) 
readme for details about components, dashboards, and alerts.
-
-_Note: This chart was formerly named `prometheus-operator` chart, now renamed 
to more clearly reflect that it installs the `kube-prometheus` project stack, 
within which Prometheus Operator is only one component. This chart does not 
install all components of `kube-prometheus`, notably excluding the Prometheus 
Adapter and Prometheus black-box exporter._
-
-## Prerequisites
-
-- Kubernetes 1.19+
-- Helm 3+
-
-## Get Helm Repository Info
-
-```console
-helm repo add prometheus-community 
https://prometheus-community.github.io/helm-charts
-helm repo update
-```
-
-_See [`helm repo`](https://helm.sh/docs/helm/helm_repo/) for command 
documentation._
-
-## Install Helm Chart
-
-```console
-helm install [RELEASE_NAME] prometheus-community/kube-prometheus-stack
-```
-
-_See [configuration](#configuration) below._
-
-_See [helm install](https://helm.sh/docs/helm/helm_install/) for command 
documentation._
-
-## Dependencies
-
-By default this chart installs additional, dependent charts:
-
-- 
[prometheus-community/kube-state-metrics](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics)
-- 
[prometheus-community/prometheus-node-exporter](https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-node-exporter)
-- 
[grafana/grafana](https://github.com/grafana/helm-charts/tree/main/charts/grafana)
-
-To disable dependencies during installation, see [multiple 
releases](#multiple-releases) below.
-
-_See [helm dependency](https://helm.sh/docs/helm/helm_dependency/) for command 
documentation._
-
-## Uninstall Helm Chart
-
-```console
-helm uninstall [RELEASE_NAME]
-```
-
-This removes all the Kubernetes components associated with the chart and 
deletes the release.
-
-_See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command 
documentation._
-
-CRDs created by this chart are not removed by default and should be manually 
cleaned up:
-
-```console
-kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
-kubectl delete crd alertmanagers.monitoring.coreos.com
-kubectl delete crd podmonitors.monitoring.coreos.com
-kubectl delete crd probes.monitoring.coreos.com
-kubectl delete crd prometheusagents.monitoring.coreos.com
-kubectl delete crd prometheuses.monitoring.coreos.com
-kubectl delete crd prometheusrules.monitoring.coreos.com
-kubectl delete crd scrapeconfigs.monitoring.coreos.com
-kubectl delete crd servicemonitors.monitoring.coreos.com
-kubectl delete crd thanosrulers.monitoring.coreos.com
-```
-
-## Upgrading Chart
-
-```console
-helm upgrade [RELEASE_NAME] prometheus-community/kube-prometheus-stack
-```
-
-With Helm v3, CRDs created by this chart are not updated by default and should 
be manually updated.
-Consult also the [Helm Documentation on 
CRDs](https://helm.sh/docs/chart_best_practices/custom_resource_definitions).
-
-CRDs update lead to a major version bump.
-The Chart's 
[appVersion](https://github.com/prometheus-community/helm-charts/blob/13ed7098db2f78c2bbcdab6c1c3c7a95b4b94574/charts/kube-prometheus-stack/Chart.yaml#L36)
 refers to the 
[`prometheus-operator`](https://github.com/prometheus-operator/prometheus-operator/tree/main)'s
 version with matching CRDs.
-
-_See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command 
documentation._
-
-### Upgrading an existing Release to a new major version
-
-A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is 
an incompatible breaking change needing manual actions.
-
-See 
[UPGRADE.md](https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/UPGRADE.md)
-for breaking changes between versions.
-
-## Configuration
-
-See [Customizing the Chart Before 
Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing).
 To see all configurable options with detailed comments:
-
-```console
-helm show values prometheus-community/kube-prometheus-stack
-```
-
-You may also `helm show values` on this chart's [dependencies](#dependencies) 
for additional options.
-
-### Multiple releases
-
-The same chart can be used to run multiple Prometheus instances in the same 
cluster if required. To achieve this, it is necessary to run only one instance 
of prometheus-operator and a pair of alertmanager pods for an HA configuration, 
while all other components need to be disabled. To disable a dependency during 
installation, set `kubeStateMetrics.enabled`, `nodeExporter.enabled` and 
`grafana.enabled` to `false`.
-
-## Work-Arounds for Known Issues
-
-### Running on private GKE clusters
-
-When Google configure the control plane for private clusters, they 
automatically configure VPC peering between your Kubernetes cluster’s network 
and a separate Google managed project. In order to restrict what Google are 
able to access within your cluster, the firewall rules configured restrict 
access to your Kubernetes pods. This means that in order to use the webhook 
component with a GKE private cluster, you must configure an additional firewall 
rule to allow the GKE control plane acce [...]
-
-You can read more information on how to add firewall rules for the GKE control 
plane nodes in the [GKE 
docs](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules)
-
-Alternatively, you can disable the hooks by setting 
`prometheusOperator.admissionWebhooks.enabled=false`.
-
-## PrometheusRules Admission Webhooks
-
-With Prometheus Operator version 0.30+, the core Prometheus Operator pod 
exposes an endpoint that will integrate with the 
`validatingwebhookconfiguration` Kubernetes feature to prevent malformed rules 
from being added to the cluster.
-
-### How the Chart Configures the Hooks
-
-A validating and mutating webhook configuration requires the endpoint to which 
the request is sent to use TLS. It is possible to set up custom certificates to 
do this, but in most cases, a self-signed certificate is enough. The setup of 
this component requires some more complex orchestration when using helm. The 
steps are created to be idempotent and to allow turning the feature on and off 
without running into helm quirks.
-
-1. A pre-install hook provisions a certificate into the same namespace using a 
format compatible with provisioning using end user certificates. If the 
certificate already exists, the hook exits.
-2. The prometheus operator pod is configured to use a TLS proxy container, 
which will load that certificate.
-3. Validating and Mutating webhook configurations are created in the cluster, 
with their failure mode set to Ignore. This allows rules to be created by the 
same chart at the same time, even though the webhook has not yet been fully set 
up - it does not have the correct CA field set.
-4. A post-install hook reads the CA from the secret created by step 1 and 
patches the Validating and Mutating webhook configurations. This process will 
allow a custom CA provisioned by some other process to also be patched into the 
webhook configurations. The chosen failure policy is also patched into the 
webhook configurations
-
-### Alternatives
-
-It should be possible to use 
[jetstack/cert-manager](https://github.com/jetstack/cert-manager) if a more 
complete solution is required, but it has not been tested.
-
-You can enable automatic self-signed TLS certificate provisioning via 
cert-manager by setting the 
`prometheusOperator.admissionWebhooks.certManager.enabled` value to true.
-
-### Limitations
-
-Because the operator can only run as a single pod, there is potential for this 
component failure to cause rule deployment failure. Because this risk is 
outweighed by the benefit of having validation, the feature is enabled by 
default.
-
-## Developing Prometheus Rules and Grafana Dashboards
-
-This chart Grafana Dashboards and Prometheus Rules are just a copy from 
[prometheus-operator/prometheus-operator](https://github.com/prometheus-operator/prometheus-operator)
 and other sources, synced (with alterations) by scripts in [hack](hack) 
folder. In order to introduce any changes you need to first [add them to the 
original 
repository](https://github.com/prometheus-operator/kube-prometheus/blob/main/docs/customizations/developing-prometheus-rules-and-grafana-dashboards.md)
 and then [...]
-
-## Further Information
-
-For more in-depth documentation of configuration options meanings, please see
-
-- [Prometheus 
Operator](https://github.com/prometheus-operator/prometheus-operator)
-- [Prometheus](https://prometheus.io/docs/introduction/overview/)
-- 
[Grafana](https://github.com/grafana/helm-charts/tree/main/charts/grafana#grafana-helm-chart)
-
-## prometheus.io/scrape
-
-The prometheus operator does not support annotation-based discovery of 
services, using the `PodMonitor` or `ServiceMonitor` CRD in its place as they 
provide far more configuration options.
-For information on how to use PodMonitors/ServiceMonitors, please see the 
documentation on the `prometheus-operator/prometheus-operator` documentation 
here:
-
-- 
[ServiceMonitors](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/developer/getting-started.md#using-servicemonitors)
-- 
[PodMonitors](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/developer/getting-started.md#using-podmonitors)
-- [Running 
Exporters](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/running-exporters.md)
-
-By default, Prometheus discovers PodMonitors and ServiceMonitors within its 
namespace, that are labeled with the same release tag as the 
prometheus-operator release.
-Sometimes, you may need to discover custom PodMonitors/ServiceMonitors, for 
example used to scrape data from third-party applications.
-An easy way of doing this, without compromising the default 
PodMonitors/ServiceMonitors discovery, is allowing Prometheus to discover all 
PodMonitors/ServiceMonitors within its namespace, without applying label 
filtering.
-To do so, you can set 
`prometheus.prometheusSpec.podMonitorSelectorNilUsesHelmValues` and 
`prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues` to `false`.
-
-## Migrating from stable/prometheus-operator chart
-
-## Zero downtime
-
-Since `kube-prometheus-stack` is fully compatible with the 
`stable/prometheus-operator` chart, a migration without downtime can be 
achieved.
-However, the old name prefix needs to be kept. If you want the new name please 
follow the step by step guide below (with downtime).
-
-You can override the name to achieve this:
-
-```console
-helm upgrade prometheus-operator prometheus-community/kube-prometheus-stack -n 
monitoring --reuse-values --set nameOverride=prometheus-operator
-```
-
-**Note**: It is recommended to run this first with `--dry-run --debug`.
-
-## Redeploy with new name (downtime)
-
-If the **prometheus-operator** values are compatible with the new 
**kube-prometheus-stack** chart, please follow the below steps for migration:
-
-> The guide presumes that chart is deployed in `monitoring` namespace and the 
deployments are running there. If in other namespace, please replace the 
`monitoring` to the deployed namespace.
-
-1. Patch the PersistenceVolume created/used by the prometheus-operator chart 
to `Retain` claim policy:
-
-    ```console
-    kubectl patch pv/<PersistentVolume name> -p 
'{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
-    ```
-
-    **Note:** To execute the above command, the user must have a cluster wide 
permission. Please refer [Kubernetes 
RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)
-
-2. Uninstall the **prometheus-operator** release and delete the existing 
PersistentVolumeClaim, and verify PV become Released.
-
-    ```console
-    helm uninstall prometheus-operator -n monitoring
-    kubectl delete pvc/<PersistenceVolumeClaim name> -n monitoring
-    ```
-
-    Additionally, you have to manually remove the remaining 
`prometheus-operator-kubelet` service.
-
-    ```console
-    kubectl delete service/prometheus-operator-kubelet -n kube-system
-    ```
-
-    You can choose to remove all your existing CRDs (ServiceMonitors, 
Podmonitors, etc.) if you want to.
-
-3. Remove current `spec.claimRef` values to change the PV's status from 
Released to Available.
-
-    ```console
-    kubectl patch pv/<PersistentVolume name> --type json -p='[{"op": "remove", 
"path": "/spec/claimRef"}]' -n monitoring
-    ```
-
-**Note:** To execute the above command, the user must have a cluster wide 
permission. Please refer to [Kubernetes 
RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)
-
-After these steps, proceed to a fresh **kube-prometheus-stack** installation 
and make sure the current release of **kube-prometheus-stack** matching the 
`volumeClaimTemplate` values in the `values.yaml`.
-
-The binding is done via matching a specific amount of storage requested and 
with certain access modes.
-
-For example, if you had storage specified as this with **prometheus-operator**:
-
-```yaml
-volumeClaimTemplate:
-  spec:
-    storageClassName: gp2
-    accessModes: ["ReadWriteOnce"]
-    resources:
-     requests:
-       storage: 50Gi
-```
-
-You have to specify matching `volumeClaimTemplate` with 50Gi storage and 
`ReadWriteOnce` access mode.
-
-Additionally, you should check the current AZ of your legacy installation's 
PV, and configure the fresh release to use the same AZ as the old one. If the 
pods are in a different AZ than the PV, the release will fail to bind the 
existing one, hence creating a new PV.
-
-This can be achieved either by specifying the labels through `values.yaml`, 
e.g. setting `prometheus.prometheusSpec.nodeSelector` to:
-
-```yaml
-nodeSelector:
-  failure-domain.beta.kubernetes.io/zone: east-west-1a
-```
-
-or passing these values as `--set` overrides during installation.
-
-The new release should now re-attach your previously released PV with its 
content.
-
-## Migrating from coreos/prometheus-operator chart
-
-The multiple charts have been combined into a single chart that installs 
prometheus operator, prometheus, alertmanager, grafana as well as the multitude 
of exporters necessary to monitor a cluster.
-
-There is no simple and direct migration path between the charts as the changes 
are extensive and intended to make the chart easier to support.
-
-The capabilities of the old chart are all available in the new chart, 
including the ability to run multiple prometheus instances on a single cluster 
- you will need to disable the parts of the chart you do not wish to deploy.
-
-You can check out the tickets for this change 
[here](https://github.com/prometheus-operator/prometheus-operator/issues/592) 
and [here](https://github.com/helm/charts/pull/6765).
-
-### High-level overview of Changes
-
-#### Added dependencies
-
-The chart has added 3 [dependencies](#dependencies).
-
-- Node-Exporter, Kube-State-Metrics: These components are loaded as 
dependencies into the chart, and are relatively simple components
-- Grafana: The Grafana chart is more feature-rich than this chart - it 
contains a sidecar that is able to load data sources and dashboards from 
configmaps deployed into the same cluster. For more information check out the 
[documentation for the 
chart](https://github.com/grafana/helm-charts/blob/main/charts/grafana/README.md)
-
-#### Kubelet Service
-
-Because the kubelet service has a new name in the chart, make sure to clean up 
the old kubelet service in the `kube-system` namespace to prevent counting 
container metrics twice.
-
-#### Persistent Volumes
-
-If you would like to keep the data of the current persistent volumes, it 
should be possible to attach existing volumes to new PVCs and PVs that are 
created using the conventions in the new chart. For example, in order to use an 
existing Azure disk for a helm release called `prometheus-migration` the 
following resources can be created:
-
-```yaml
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: pvc-prometheus-migration-prometheus-0
-spec:
-  accessModes:
-  - ReadWriteOnce
-  azureDisk:
-    cachingMode: None
-    diskName: pvc-prometheus-migration-prometheus-0
-    diskURI: 
/subscriptions/f5125d82-2622-4c50-8d25-3f7ba3e9ac4b/resourceGroups/sample-migration-resource-group/providers/Microsoft.Compute/disks/pvc-prometheus-migration-prometheus-0
-    fsType: ""
-    kind: Managed
-    readOnly: false
-  capacity:
-    storage: 1Gi
-  persistentVolumeReclaimPolicy: Delete
-  storageClassName: prometheus
-  volumeMode: Filesystem
-```
-
-```yaml
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  labels:
-    app.kubernetes.io/name: prometheus
-    prometheus: prometheus-migration-prometheus
-  name: 
prometheus-prometheus-migration-prometheus-db-prometheus-prometheus-migration-prometheus-0
-  namespace: monitoring
-spec:
-  accessModes:
-  - ReadWriteOnce
-  resources:
-    requests:
-      storage: 1Gi
-  storageClassName: prometheus
-  volumeMode: Filesystem
-  volumeName: pvc-prometheus-migration-prometheus-0
-```
-
-The PVC will take ownership of the PV and when you create a release using a 
persistent volume claim template it will use the existing PVCs as they match 
the naming convention used by the chart. For other cloud providers similar 
approaches can be used.
-
-#### KubeProxy
-
-The metrics bind address of kube-proxy is default to `127.0.0.1:10249` that 
prometheus instances **cannot** access to. You should expose metrics by 
changing `metricsBindAddress` field value to `0.0.0.0:10249` if you want to 
collect them.
-
-Depending on the cluster, the relevant part `config.conf` will be in ConfigMap 
`kube-system/kube-proxy` or `kube-system/kube-proxy-config`. For example:
-
-```console
-kubectl -n kube-system edit cm kube-proxy
-```
-
-```yaml
-apiVersion: v1
-data:
-  config.conf: |-
-    apiVersion: kubeproxy.config.k8s.io/v1alpha1
-    kind: KubeProxyConfiguration
-    # ...
-    # metricsBindAddress: 127.0.0.1:10249
-    metricsBindAddress: 0.0.0.0:10249
-    # ...
-  kubeconfig.conf: |-
-    # ...
-kind: ConfigMap
-metadata:
-  labels:
-    app: kube-proxy
-  name: kube-proxy
-  namespace: kube-system
-```
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/.helmignore
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/.helmignore
deleted file mode 100644
index f0c13194..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/Chart.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/Chart.yaml
deleted file mode 100644
index 0a688ad4..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/Chart.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-apiVersion: v2
-appVersion: 0.30.5
-description: A Helm chart for prometheus windows-exporter
-home: https://github.com/prometheus-community/windows_exporter/
-keywords:
-- windows-exporter
-- windows
-- prometheus
-- exporter
-maintainers:
-- email: [email protected]
-  name: Jan-Otto Kröpke
-  url: https://github.com/jkroepke
-name: prometheus-windows-exporter
-sources:
-- https://github.com/prometheus-community/windows_exporter/
-type: application
-version: 0.9.1
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/README.md
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/README.md
deleted file mode 100644
index 1da1c64e..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Prometheus `Windows Exporter`
-
-Prometheus exporter for hardware and OS metrics exposed by Windows kernels, 
written in Go with pluggable metric collectors.
-
-This chart bootstraps a prometheus [`Windows 
Exporter`](http://github.com/prometheus-community/windows_exporter) daemonset 
on a [Kubernetes](http://kubernetes.io) cluster using the 
[Helm](https://helm.sh) package manager.
-
-## Get Repository Info
-
-```console
-helm repo add prometheus-community 
https://prometheus-community.github.io/helm-charts
-helm repo update
-```
-
-_See [`helm repo`](https://helm.sh/docs/helm/helm_repo/) for command 
documentation._
-
-## Install Chart
-
-```console
-helm install [RELEASE_NAME] prometheus-community/prometheus-windows-exporter
-```
-
-_See [configuration](#configuring) below._
-
-_See [helm install](https://helm.sh/docs/helm/helm_install/) for command 
documentation._
-
-## Uninstall Chart
-
-```console
-helm uninstall [RELEASE_NAME]
-```
-
-This removes all the Kubernetes components associated with the chart and 
deletes the release.
-
-_See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command 
documentation._
-
-## Configuring
-
-See [Customizing the Chart Before 
Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing).
 To see all configurable options with detailed comments, visit the chart's 
[values.yaml](./values.yaml), or run these configuration commands:
-
-```console
-helm show values prometheus-community/prometheus-windows-exporter
-```
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/_helpers.tpl
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/_helpers.tpl
deleted file mode 100644
index 5edf326c..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/_helpers.tpl
+++ /dev/null
@@ -1,185 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "prometheus-windows-exporter.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
-{{- end }}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to 
this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "prometheus-windows-exporter.fullname" -}}
-{{- if .Values.fullnameOverride }}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- $name := default .Chart.Name .Values.nameOverride }}
-{{- if contains $name .Release.Name }}
-{{- .Release.Name | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "prometheus-windows-exporter.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | 
trimSuffix "-" }}
-{{- end }}
-
-{{/*
-Common labels
-*/}}
-{{- define "prometheus-windows-exporter.labels" -}}
-helm.sh/chart: {{ include "prometheus-windows-exporter.chart" . }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-app.kubernetes.io/component: metrics
-app.kubernetes.io/part-of: {{ include "prometheus-windows-exporter.name" . }}
-{{ include "prometheus-windows-exporter.selectorLabels" . }}
-{{- with .Chart.AppVersion }}
-app.kubernetes.io/version: {{ . | quote }}
-{{- end }}
-{{- with .Values.podLabels }}
-{{ toYaml . }}
-{{- end }}
-{{- if .Values.releaseLabel }}
-release: {{ .Release.Name }}
-{{- end }}
-{{- end }}
-
-{{/*
-Selector labels
-*/}}
-{{- define "prometheus-windows-exporter.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "prometheus-windows-exporter.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
-
-
-{{/*
-Create the name of the service account to use
-*/}}
-{{- define "prometheus-windows-exporter.serviceAccountName" -}}
-{{- if .Values.serviceAccount.create }}
-{{- default (include "prometheus-windows-exporter.fullname" .) 
.Values.serviceAccount.name }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.name }}
-{{- end }}
-{{- end }}
-
-{{/*
-The image to use
-*/}}
-{{- define "prometheus-windows-exporter.image" -}}
-{{- if .Values.image.sha }}
-{{- fail "image.sha forbidden. Use image.digest instead" }}
-{{- else if .Values.image.digest }}
-{{- if .Values.global.imageRegistry }}
-{{- printf "%s/%s:%s@%s" .Values.global.imageRegistry .Values.image.repository 
(default .Chart.AppVersion .Values.image.tag) .Values.image.digest }}
-{{- else }}
-{{- printf "%s/%s:%s@%s" .Values.image.registry .Values.image.repository 
(default .Chart.AppVersion .Values.image.tag) .Values.image.digest }}
-{{- end }}
-{{- else }}
-{{- if .Values.global.imageRegistry }}
-{{- printf "%s/%s:%s" .Values.global.imageRegistry .Values.image.repository 
(default .Chart.AppVersion .Values.image.tag) }}
-{{- else }}
-{{- printf "%s/%s:%s" .Values.image.registry .Values.image.repository (default 
.Chart.AppVersion .Values.image.tag) }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-{{/*
-Allow the release namespace to be overridden for multi-namespace deployments 
in combined charts
-*/}}
-{{- define "prometheus-windows-exporter.namespace" -}}
-{{- if .Values.namespaceOverride }}
-{{- .Values.namespaceOverride }}
-{{- else }}
-{{- .Release.Namespace }}
-{{- end }}
-{{- end }}
-
-{{/*
-Create the namespace name of the service monitor
-*/}}
-{{- define "prometheus-windows-exporter.monitor-namespace" -}}
-{{- if .Values.namespaceOverride }}
-{{- .Values.namespaceOverride }}
-{{- else }}
-{{- if .Values.prometheus.monitor.namespace }}
-{{- .Values.prometheus.monitor.namespace }}
-{{- else }}
-{{- .Release.Namespace }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-{{/* Sets default scrape limits for servicemonitor */}}
-{{- define "servicemonitor.scrapeLimits" -}}
-{{- with .sampleLimit }}
-sampleLimit: {{ . }}
-{{- end }}
-{{- with .targetLimit }}
-targetLimit: {{ . }}
-{{- end }}
-{{- with .labelLimit }}
-labelLimit: {{ . }}
-{{- end }}
-{{- with .labelNameLengthLimit }}
-labelNameLengthLimit: {{ . }}
-{{- end }}
-{{- with .labelValueLengthLimit }}
-labelValueLengthLimit: {{ . }}
-{{- end }}
-{{- end }}
-
-{{/*
-Formats imagePullSecrets. Input is (dict "Values" .Values "imagePullSecrets" 
.{specific imagePullSecrets})
-*/}}
-{{- define "prometheus-windows-exporter.imagePullSecrets" -}}
-{{- range (concat .Values.global.imagePullSecrets .imagePullSecrets) }}
-  {{- if eq (typeOf .) "map[string]interface {}" }}
-- {{ toYaml . | trim }}
-  {{- else }}
-- name: {{ . }}
-  {{- end }}
-{{- end }}
-{{- end -}}
-
-{{/*
-Create the namespace name of the pod monitor
-*/}}
-{{- define "prometheus-windows-exporter.podmonitor-namespace" -}}
-{{- if .Values.namespaceOverride }}
-{{- .Values.namespaceOverride }}
-{{- else }}
-{{- if .Values.prometheus.podMonitor.namespace }}
-{{- .Values.prometheus.podMonitor.namespace }}
-{{- else }}
-{{- .Release.Namespace }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-{{/* Sets default scrape limits for podmonitor */}}
-{{- define "podmonitor.scrapeLimits" -}}
-{{- with .sampleLimit }}
-sampleLimit: {{ . }}
-{{- end }}
-{{- with .targetLimit }}
-targetLimit: {{ . }}
-{{- end }}
-{{- with .labelLimit }}
-labelLimit: {{ . }}
-{{- end }}
-{{- with .labelNameLengthLimit }}
-labelNameLengthLimit: {{ . }}
-{{- end }}
-{{- with .labelValueLengthLimit }}
-labelValueLengthLimit: {{ . }}
-{{- end }}
-{{- end }}
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/config.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/config.yaml
deleted file mode 100644
index 1dd57976..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/config.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "prometheus-windows-exporter.fullname" . }}
-  namespace: {{ include "prometheus-windows-exporter.namespace" . }}
-  labels:
-    {{- include "prometheus-windows-exporter.labels" $ | nindent 4 }}
-  {{- with .Values.service.annotations }}
-  annotations:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-data:
-  config.yml: |
-    {{- .Values.config | nindent 4 }}
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/daemonset.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/daemonset.yaml
deleted file mode 100644
index 8e03fa52..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/daemonset.yaml
+++ /dev/null
@@ -1,192 +0,0 @@
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
-  name: {{ include "prometheus-windows-exporter.fullname" . }}
-  namespace: {{ include "prometheus-windows-exporter.namespace" . }}
-  labels:
-    {{- include "prometheus-windows-exporter.labels" . | nindent 4 }}
-  {{- with .Values.daemonsetAnnotations }}
-  annotations:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-spec:
-  selector:
-    matchLabels:
-      {{- include "prometheus-windows-exporter.selectorLabels" . | nindent 6 }}
-  {{- with .Values.updateStrategy }}
-  updateStrategy:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-  template:
-    metadata:
-      {{- with .Values.podAnnotations }}
-      annotations:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      labels:
-        {{- include "prometheus-windows-exporter.labels" . | nindent 8 }}
-    spec:
-      automountServiceAccountToken: {{ 
.Values.serviceAccount.automountServiceAccountToken }}
-      {{- with .Values.securityContext }}
-      securityContext:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.priorityClassName }}
-      priorityClassName: {{ . }}
-      {{- end }}
-      initContainers:
-        - name: configure-firewall
-          image: {{ include "prometheus-windows-exporter.image" . }}
-          command: [ "powershell" ]
-          args: [ "New-NetFirewallRule", "-DisplayName", "'windows-exporter'", 
"-Direction", "inbound", "-Profile", "Any", "-Action", "Allow", "-LocalPort", 
"{{ .Values.service.port }}", "-Protocol", "TCP" ]
-        {{- with .Values.extraInitContainers }}
-        {{- toYaml . | nindent 8 }}
-        {{- end }}
-      serviceAccountName: {{ include 
"prometheus-windows-exporter.serviceAccountName" . }}
-      containers:
-        - name: windows-exporter
-          image: {{ include "prometheus-windows-exporter.image" . }}
-          imagePullPolicy: {{ .Values.image.pullPolicy }}
-          args:
-            - --config.file=%CONTAINER_SANDBOX_MOUNT_POINT%/config.yml
-            - --collector.textfile.directories=%CONTAINER_SANDBOX_MOUNT_POINT%
-            - --web.listen-address=:{{ .Values.service.port }}
-            {{- with .Values.extraArgs }}
-            {{- toYaml . | nindent 12 }}
-            {{- end }}
-          {{- with .Values.containerSecurityContext }}
-          securityContext:
-            {{- toYaml . | nindent 12 }}
-          {{- end }}
-          env:
-            {{- range $key, $value := .Values.env }}
-            - name: {{ $key }}
-              value: {{ $value | quote }}
-            {{- end }}
-          ports:
-            - name: {{ .Values.service.portName }}
-              containerPort: {{ .Values.service.port }}
-              protocol: TCP
-          livenessProbe:
-            failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
-            httpGet:
-              httpHeaders:
-              {{- range $_, $header := 
.Values.livenessProbe.httpGet.httpHeaders }}
-              - name: {{ $header.name }}
-                value: {{ $header.value }}
-              {{- end }}
-              path: {{ .Values.livenessProbe.httpGet.path }}
-              port: {{ .Values.service.port }}
-              scheme: {{ upper .Values.livenessProbe.httpGet.scheme }}
-            initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds 
}}
-            periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
-            successThreshold: {{ .Values.livenessProbe.successThreshold }}
-            timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
-          readinessProbe:
-            failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
-            httpGet:
-              httpHeaders:
-              {{- range $_, $header := 
.Values.readinessProbe.httpGet.httpHeaders }}
-              - name: {{ $header.name }}
-                value: {{ $header.value }}
-              {{- end }}
-              path: {{ .Values.readinessProbe.httpGet.path }}
-              port: {{ .Values.service.port }}
-              scheme: {{ upper .Values.readinessProbe.httpGet.scheme }}
-            initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds 
}}
-            periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
-            successThreshold: {{ .Values.readinessProbe.successThreshold }}
-            timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
-          {{- with .Values.resources }}
-          resources:
-            {{- toYaml . | nindent 12 }}
-          {{- end }}
-          volumeMounts:
-            - name: config
-              mountPath: /config.yml
-              subPath: config.yml
-            {{- range $_, $mount := .Values.extraHostVolumeMounts }}
-            - name: {{ $mount.name }}
-              mountPath: {{ $mount.mountPath }}
-              readOnly: {{ $mount.readOnly }}
-            {{- end }}
-            {{- range $_, $mount := .Values.sidecarVolumeMount }}
-            - name: {{ $mount.name }}
-              mountPath: {{ $mount.mountPath }}
-              readOnly: true
-            {{- end }}
-            {{- range $_, $mount := .Values.configmaps }}
-            - name: {{ $mount.name }}
-              mountPath: {{ $mount.mountPath }}
-            {{- end }}
-            {{- range $_, $mount := .Values.secrets }}
-            - name: {{ .name }}
-              mountPath: {{ .mountPath }}
-            {{- end }}
-        {{- with .Values.sidecars }}
-        {{- toYaml . | nindent 8 }}
-          {{- if or .Values.sidecarVolumeMount .Values.sidecarHostVolumeMounts 
}}
-          volumeMounts:
-            {{- range $_, $mount := .Values.sidecarVolumeMount }}
-            - name: {{ $mount.name }}
-              mountPath: {{ $mount.mountPath }}
-              readOnly: {{ $mount.readOnly }}
-            {{- end }}
-            {{- range $_, $mount := .Values.sidecarHostVolumeMounts }}
-            - name: {{ $mount.name }}
-              mountPath: {{ $mount.mountPath }}
-              readOnly: {{ $mount.readOnly }}
-            {{- end }}
-          {{- end }}
-        {{- end }}
-      {{- if or .Values.imagePullSecrets .Values.global.imagePullSecrets }}
-      imagePullSecrets:
-        {{- include "prometheus-windows-exporter.imagePullSecrets" (dict 
"Values" .Values "imagePullSecrets" .Values.imagePullSecrets) | indent 8 }}
-      {{- end }}
-      hostNetwork: {{ .Values.hostNetwork }}
-      hostPID: {{ .Values.hostPID }}
-      {{- with .Values.affinity }}
-      affinity:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.dnsConfig }}
-      dnsConfig:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.nodeSelector }}
-      nodeSelector:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.tolerations }}
-      tolerations:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      volumes:
-        - name: config
-          configMap:
-            name: {{ include "prometheus-windows-exporter.fullname" . }}
-        {{- range $_, $mount := .Values.extraHostVolumeMounts }}
-        - name: {{ $mount.name }}
-          hostPath:
-            path: {{ $mount.hostPath }}
-        {{- end }}
-        {{- range $_, $mount := .Values.sidecarVolumeMount }}
-        - name: {{ $mount.name }}
-          emptyDir:
-            medium: Memory
-        {{- end }}
-        {{- range $_, $mount := .Values.sidecarHostVolumeMounts }}
-        - name: {{ $mount.name }}
-          hostPath:
-            path: {{ $mount.hostPath }}
-        {{- end }}
-        {{- range $_, $mount := .Values.configmaps }}
-        - name: {{ $mount.name }}
-          configMap:
-            name: {{ $mount.name }}
-        {{- end }}
-        {{- range $_, $mount := .Values.secrets }}
-        - name: {{ $mount.name }}
-          secret:
-            secretName: {{ $mount.name }}
-        {{- end }}
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/podmonitor.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/podmonitor.yaml
deleted file mode 100644
index ccb8ca16..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/podmonitor.yaml
+++ /dev/null
@@ -1,91 +0,0 @@
-{{- if .Values.prometheus.podMonitor.enabled }}
-apiVersion: {{ .Values.prometheus.podMonitor.apiVersion | default 
"monitoring.coreos.com/v1" }}
-kind: PodMonitor
-metadata:
-  name: {{ include "prometheus-windows-exporter.fullname" . }}
-  namespace: {{ include "prometheus-windows-exporter.podmonitor-namespace" . }}
-  labels:
-    {{- include "prometheus-windows-exporter.labels" . | nindent 4 }}
-    {{- with .Values.prometheus.podMonitor.additionalLabels }}
-    {{- toYaml . | nindent 4 }}
-    {{- end }}
-spec:
-  jobLabel: {{ default "app.kubernetes.io/name" 
.Values.prometheus.podMonitor.jobLabel }}
-  {{- include "podmonitor.scrapeLimits" .Values.prometheus.podMonitor | 
nindent 2 }}
-  selector:
-    matchLabels:
-    {{- with .Values.prometheus.podMonitor.selectorOverride }}
-      {{- toYaml . | nindent 6 }}
-    {{- else }}
-      {{- include "prometheus-windows-exporter.selectorLabels" . | nindent 6 }}
-    {{- end }}
-  namespaceSelector:
-    matchNames:
-      - {{ include "prometheus-windows-exporter.namespace" . }}
-  {{- with .Values.prometheus.podMonitor.attachMetadata }}
-  attachMetadata:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-  {{- with .Values.prometheus.podMonitor.podTargetLabels }}
-  podTargetLabels:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-  podMetricsEndpoints:
-    - port: {{ .Values.service.portName }}
-      {{- with .Values.prometheus.podMonitor.scheme }}
-      scheme: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.path }}
-      path: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.basicAuth }}
-      basicAuth:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.bearerTokenSecret }}
-      bearerTokenSecret:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.tlsConfig }}
-      tlsConfig:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.authorization }}
-      authorization:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.oauth2 }}
-      oauth2:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.proxyUrl }}
-      proxyUrl: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.interval }}
-      interval: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.honorTimestamps }}
-      honorTimestamps: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.honorLabels }}
-      honorLabels: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.scrapeTimeout }}
-      scrapeTimeout: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.relabelings }}
-      relabelings:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.podMonitor.metricRelabelings }}
-      metricRelabelings:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      enableHttp2: {{ default false .Values.prometheus.podMonitor.enableHttp2 
}}
-      filterRunning: {{ default true 
.Values.prometheus.podMonitor.filterRunning }}
-      followRedirects: {{ default false 
.Values.prometheus.podMonitor.followRedirects }}
-      {{- with .Values.prometheus.podMonitor.params }}
-      params:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-{{- end }}
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/service.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/service.yaml
deleted file mode 100644
index 67c03762..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/service.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "prometheus-windows-exporter.fullname" . }}
-  namespace: {{ include "prometheus-windows-exporter.namespace" . }}
-  labels:
-    {{- include "prometheus-windows-exporter.labels" $ | nindent 4 }}
-  {{- with .Values.service.annotations }}
-  annotations:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.port }}
-      {{- if ( and (eq .Values.service.type "NodePort" ) (not (empty 
.Values.service.nodePort)) ) }}
-      nodePort: {{ .Values.service.nodePort }}
-      {{- end }}
-      targetPort: {{ .Values.service.portName }}
-      protocol: TCP
-      appProtocol: http
-      name: {{ .Values.service.portName }}
-  selector:
-    {{- include "prometheus-windows-exporter.selectorLabels" . | nindent 4 }}
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/serviceaccount.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/serviceaccount.yaml
deleted file mode 100644
index db4630b0..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/serviceaccount.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{- if and .Values.rbac.create .Values.serviceAccount.create -}}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ include "prometheus-windows-exporter.serviceAccountName" . }}
-  namespace: {{ include "prometheus-windows-exporter.namespace" . }}
-  labels:
-    {{- include "prometheus-windows-exporter.labels" . | nindent 4 }}
-  {{- with .Values.serviceAccount.annotations }}
-  annotations:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-{{- if or .Values.serviceAccount.imagePullSecrets 
.Values.global.imagePullSecrets }}
-imagePullSecrets:
-  {{- include "prometheus-windows-exporter.imagePullSecrets" (dict "Values" 
.Values "imagePullSecrets" .Values.serviceAccount.imagePullSecrets) | indent 2 
}}
-{{- end }}
-{{- end -}}
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/servicemonitor.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/servicemonitor.yaml
deleted file mode 100644
index a0117870..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/templates/servicemonitor.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-{{- if .Values.prometheus.monitor.enabled }}
-apiVersion: {{ .Values.prometheus.monitor.apiVersion | default 
"monitoring.coreos.com/v1" }}
-kind: ServiceMonitor
-metadata:
-  name: {{ include "prometheus-windows-exporter.fullname" . }}
-  namespace: {{ include "prometheus-windows-exporter.monitor-namespace" . }}
-  labels:
-    {{- include "prometheus-windows-exporter.labels" . | nindent 4 }}
-    {{- with .Values.prometheus.monitor.additionalLabels }}
-    {{- toYaml . | nindent 4 }}
-    {{- end }}
-spec:
-  jobLabel: {{ default "app.kubernetes.io/name" 
.Values.prometheus.monitor.jobLabel }}
-  {{- include "servicemonitor.scrapeLimits" .Values.prometheus.monitor | 
nindent 2 }}
-  {{- with .Values.prometheus.monitor.podTargetLabels }}
-  podTargetLabels:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-  selector:
-    matchLabels:
-    {{- with .Values.prometheus.monitor.selectorOverride }}
-      {{- toYaml . | nindent 6 }}
-    {{- else }}
-      {{- include "prometheus-windows-exporter.selectorLabels" . | nindent 6 }}
-    {{- end }}
-  {{- with .Values.prometheus.monitor.attachMetadata }}
-  attachMetadata:
-    {{- toYaml . | nindent 4 }}
-  {{- end }}
-  endpoints:
-    - port: {{ .Values.service.portName }}
-      scheme: {{ .Values.prometheus.monitor.scheme }}
-      {{- with .Values.prometheus.monitor.basicAuth }}
-      basicAuth:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.monitor.bearerTokenFile }}
-      bearerTokenFile: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.monitor.tlsConfig }}
-      tlsConfig:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.monitor.proxyUrl }}
-      proxyUrl: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.monitor.interval }}
-      interval: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.monitor.scrapeTimeout }}
-      scrapeTimeout: {{ . }}
-      {{- end }}
-      {{- with .Values.prometheus.monitor.relabelings }}
-      relabelings:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.prometheus.monitor.metricRelabelings }}
-      metricRelabelings:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-{{- end }}
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/values.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/values.yaml
deleted file mode 100644
index 6035cca7..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/charts/prometheus-windows-exporter/values.yaml
+++ /dev/null
@@ -1,377 +0,0 @@
-# Default values for prometheus-windows-exporter.
-# This is a YAML-formatted file.
-# Declare variables to be passed into your templates.
-
-image:
-  registry: ghcr.io
-  repository: prometheus-community/windows-exporter
-  # Overrides the image tag whose default is {{ printf "v%s" .Chart.AppVersion 
}}
-  tag: ""
-  pullPolicy: IfNotPresent
-  digest: ""
-
-config: |-
-  collectors:
-    enabled: '[defaults],memory,container'
-
-imagePullSecrets: []
-# - name: "image-pull-secret"
-nameOverride: ""
-fullnameOverride: ""
-
-global:
-  # To help compatibility with other charts which use global.imagePullSecrets.
-  # Allow either an array of {name: pullSecret} maps (k8s-style), or an array 
of strings (more common helm-style).
-  # global:
-  #   imagePullSecrets:
-  #   - name: pullSecret1
-  #   - name: pullSecret2
-  # or
-  # global:
-  #   imagePullSecrets:
-  #   - pullSecret1
-  #   - pullSecret2
-  imagePullSecrets: []
-  #
-  # Allow parent charts to override registry hostname
-  imageRegistry: ""
-
-## Service configuration
-service:
-  ## Service type
-  type: ClusterIP
-  ## Default service port. Sets the port of the exposed container as well 
(windows-exporter).
-  port: 9182
-  ## Port number for service type NodePort
-  nodePort:
-  ## Name of the service port. Sets the port name of the main container 
(windows-exporter) as well.
-  portName: metrics
-  ## Additional annotations and labels for the service.
-  annotations: {}
-
-# Additional environment variables that will be passed to the daemonset
-env: {}
-##  env:
-##    VARIABLE: value
-
-prometheus:
-  monitor:
-    enabled: false
-    additionalLabels: {}
-    namespace: ""
-
-    jobLabel: ""
-
-    # List of pod labels to add to windows exporter metrics
-    # 
https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#servicemonitor
-    podTargetLabels: []
-
-    scheme: http
-    basicAuth: {}
-    bearerTokenFile:
-    tlsConfig: {}
-
-    ## proxyUrl: URL of a proxy that should be used for scraping.
-    ##
-    proxyUrl: ""
-
-    ## Override serviceMonitor selector
-    ##
-    selectorOverride: {}
-
-    ## Attach node metadata to discovered targets. Requires Prometheus v2.35.0 
and above.
-    ##
-    attachMetadata:
-      node: false
-
-    relabelings: []
-    metricRelabelings: []
-    interval: ""
-    scrapeTimeout: 10s
-    ## prometheus.monitor.apiVersion ApiVersion for the serviceMonitor 
Resource(defaults to "monitoring.coreos.com/v1")
-    apiVersion: ""
-
-    ## SampleLimit defines per-scrape limit on number of scraped samples that 
will be accepted.
-    ##
-    sampleLimit: 0
-
-    ## TargetLimit defines a limit on the number of scraped targets that will 
be accepted.
-    ##
-    targetLimit: 0
-
-    ## Per-scrape limit on number of labels that will be accepted for a 
sample. Only valid in Prometheus versions 2.27.0 and newer.
-    ##
-    labelLimit: 0
-
-    ## Per-scrape limit on length of labels name that will be accepted for a 
sample. Only valid in Prometheus versions 2.27.0 and newer.
-    ##
-    labelNameLengthLimit: 0
-
-    ## Per-scrape limit on length of labels value that will be accepted for a 
sample. Only valid in Prometheus versions 2.27.0 and newer.
-    ##
-    labelValueLengthLimit: 0
-
-  # PodMonitor defines monitoring for a set of pods.
-  # ref. 
https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#podmonitor
-  # Using a PodMonitor may be preferred in some environments where there is 
very large number
-  # of Windows Exporter endpoints (1000+) behind a single service.
-  # The PodMonitor is disabled by default. When switching from ServiceMonitor 
to PodMonitor,
-  # the time series resulting from the configuration through PodMonitor may 
have different labels.
-  # For instance, there will not be the service label any longer which might
-  # affect PromQL queries selecting that label.
-  podMonitor:
-    enabled: false
-    # Namespace in which to deploy the pod monitor. Defaults to the release 
namespace.
-    namespace: ""
-    # Additional labels, e.g. setting a label for pod monitor selector as set 
in prometheus
-    additionalLabels: {}
-    #  release: kube-prometheus-stack
-    # PodTargetLabels transfers labels of the Kubernetes Pod onto the target.
-    podTargetLabels: []
-    # apiVersion defaults to monitoring.coreos.com/v1.
-    apiVersion: ""
-    # Override pod selector to select pod objects.
-    selectorOverride: {}
-    # Attach node metadata to discovered targets. Requires Prometheus v2.35.0 
and above.
-    attachMetadata:
-      node: false
-    # The label to use to retrieve the job name from. Defaults to label 
app.kubernetes.io/name.
-    jobLabel: ""
-
-    # Scheme/protocol to use for scraping.
-    scheme: "http"
-    # Path to scrape metrics at.
-    path: "/metrics"
-
-    # BasicAuth allow an endpoint to authenticate over basic authentication.
-    # More info: https://prometheus.io/docs/operating/configuration/#endpoint
-    basicAuth: {}
-    # Secret to mount to read bearer token for scraping targets.
-    # The secret needs to be in the same namespace as the pod monitor and 
accessible by the Prometheus Operator.
-    # 
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#secretkeyselector-v1-core
-    bearerTokenSecret: {}
-    # TLS configuration to use when scraping the endpoint.
-    tlsConfig: {}
-    # Authorization section for this endpoint.
-    # 
https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#safeauthorization
-    authorization: {}
-    # OAuth2 for the URL. Only valid in Prometheus versions 2.27.0 and newer.
-    # 
https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api-reference/api.md#oauth2
-    oauth2: {}
-
-    # ProxyURL eg http://proxyserver:2195. Directs scrapes through proxy to 
this endpoint.
-    proxyUrl: ""
-    # Interval at which endpoints should be scraped. If not specified 
Prometheus’ global scrape interval is used.
-    interval: ""
-    # Timeout after which the scrape is ended. If not specified, the 
Prometheus global scrape interval is used.
-    scrapeTimeout: ""
-    # HonorTimestamps controls whether Prometheus respects the timestamps 
present in scraped data.
-    honorTimestamps: true
-    # HonorLabels chooses the metric’s labels on collisions with target labels.
-    honorLabels: true
-    # Whether to enable HTTP2. Default false.
-    enableHttp2: ""
-    # Drop pods that are not running. (Failed, Succeeded).
-    # Enabled by default. More info: 
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
-    filterRunning: ""
-    # FollowRedirects configures whether scrape requests follow HTTP 3xx 
redirects. Default false.
-    followRedirects: ""
-    # Optional HTTP URL parameters
-    params: {}
-
-    # RelabelConfigs to apply to samples before scraping. Prometheus Operator 
automatically adds
-    # relabelings for a few standard Kubernetes fields. The original scrape 
job’s name
-    # is available via the __tmp_prometheus_job_name label.
-    # More info: 
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
-    relabelings: []
-    # MetricRelabelConfigs to apply to samples before ingestion.
-    metricRelabelings: []
-
-    # SampleLimit defines per-scrape limit on number of scraped samples that 
will be accepted.
-    sampleLimit: 0
-    # TargetLimit defines a limit on the number of scraped targets that will 
be accepted.
-    targetLimit: 0
-    # Per-scrape limit on number of labels that will be accepted for a sample.
-    # Only valid in Prometheus versions 2.27.0 and newer.
-    labelLimit: 0
-    # Per-scrape limit on length of labels name that will be accepted for a 
sample.
-    # Only valid in Prometheus versions 2.27.0 and newer.
-    labelNameLengthLimit: 0
-    # Per-scrape limit on length of labels value that will be accepted for a 
sample.
-    # Only valid in Prometheus versions 2.27.0 and newer.
-    labelValueLengthLimit: 0
-
-## Customize the updateStrategy if set
-updateStrategy:
-  type: RollingUpdate
-  rollingUpdate:
-    maxUnavailable: 1
-
-resources: {}
-  # We usually recommend not to specify default resources and to leave this as 
a conscious
-  # choice for the user. This also increases chances charts run on 
environments with little
-  # resources, such as Minikube. If you do want to specify resources, 
uncomment the following
-  # lines, adjust them as necessary, and remove the curly braces after 
'resources:'.
-  # limits:
-  #   cpu: 200m
-  #   memory: 50Mi
-  # requests:
-  #   cpu: 100m
-#   memory: 30Mi
-
-serviceAccount:
-  # Specifies whether a ServiceAccount should be created
-  create: true
-  # The name of the ServiceAccount to use.
-  # If not set and create is true, a name is generated using the fullname 
template
-  name:
-  annotations: {}
-  imagePullSecrets: []
-  automountServiceAccountToken: false
-
-securityContext:
-  windowsOptions:
-    hostProcess: true
-    runAsUserName: "NT AUTHORITY\\system"
-
-containerSecurityContext: {}
-
-rbac:
-  ## If true, create & use RBAC resources
-  ##
-  create: true
-
-# Expose the service to the host network
-hostNetwork: true
-
-# Share the host process ID namespace
-hostPID: true
-
-## Assign a group of affinity scheduling rules
-##
-affinity: {}
-#   nodeAffinity:
-#     requiredDuringSchedulingIgnoredDuringExecution:
-#       nodeSelectorTerms:
-#         - matchFields:
-#             - key: metadata.name
-#               operator: In
-#               values:
-#                 - target-host-name
-
-# Annotations to be added to windows exporter pods
-podAnnotations:
-  # Fix for very slow GKE cluster upgrades
-  cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
-
-# Extra labels to be added to windows exporter pods
-podLabels: {}
-
-# Annotations to be added to windows exporter daemonset
-daemonsetAnnotations: {}
-
-## set to true to add the release label so scraping of the servicemonitor with 
kube-prometheus-stack works out of the box
-releaseLabel: false
-
-# Custom DNS configuration to be added to prometheus-windows-exporter pods
-dnsConfig: {}
-# nameservers:
-#   - 1.2.3.4
-# searches:
-#   - ns1.svc.cluster-domain.example
-#   - my.dns.search.suffix
-# options:
-#   - name: ndots
-#     value: "2"
-#   - name: edns0
-
-## Assign a nodeSelector if operating a hybrid cluster
-##
-nodeSelector:
-  kubernetes.io/os: windows
-  #  kubernetes.io/arch: amd64
-
-tolerations:
-  - effect: NoSchedule
-    operator: Exists
-
-## Assign a PriorityClassName to pods if set
-# priorityClassName: ""
-
-## Additional container arguments
-##
-extraArgs: []
-#   - --collector.service.services-where
-#   - "Name LIKE 'sql%'"
-
-## Additional mounts from the host to windows-exporter container
-##
-extraHostVolumeMounts: []
-#  - name: <mountName>
-#    hostPath: <hostPath>
-#    mountPath: <mountPath>
-#    readOnly: true|false
-
-## Additional configmaps to be mounted.
-##
-configmaps: []
-# - name: <configMapName>
-#   mountPath: <mountPath>
-secrets: []
-# - name: <secretName>
-#   mountPath: <mountPatch>
-## Override the deployment namespace
-##
-namespaceOverride: ""
-
-## Additional containers for export metrics to text file
-##
-sidecars: []
-##  - name: nvidia-dcgm-exporter
-##    image: nvidia/dcgm-exporter:1.4.3
-
-## Volume for sidecar containers
-##
-sidecarVolumeMount: []
-##  - name: collector-textfiles
-##    mountPath: /run/prometheus
-##    readOnly: false
-
-## Additional mounts from the host to sidecar containers
-##
-sidecarHostVolumeMounts: []
-#  - name: <mountName>
-#    hostPath: <hostPath>
-#    mountPath: <mountPath>
-#    readOnly: true|false
-#    mountPropagation: None|HostToContainer|Bidirectional
-
-## Additional InitContainers to initialize the pod
-##
-extraInitContainers: []
-
-## Liveness probe
-##
-livenessProbe:
-  failureThreshold: 3
-  httpGet:
-    httpHeaders: []
-    path: /health
-    scheme: http
-  initialDelaySeconds: 0
-  periodSeconds: 10
-  successThreshold: 1
-  timeoutSeconds: 1
-
-## Readiness probe
-##
-readinessProbe:
-  failureThreshold: 3
-  httpGet:
-    httpHeaders: []
-    path: /health
-    scheme: http
-  initialDelaySeconds: 0
-  periodSeconds: 10
-  successThreshold: 1
-  timeoutSeconds: 1
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-cluster.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-cluster.yaml
deleted file mode 100644
index 9dbed478..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-cluster.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-{{- /*
-Generated from 'k8s-resources-windows-cluster' from 
https://github.com/kubernetes-monitoring/kubernetes-mixin.git
-Do not change in-place! In order to change this file first read following link:
-https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
-*/ -}}
-{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion 
.Values.kubeTargetVersionOverride }}
-{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards) 
(semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" 
$kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled 
.Values.windowsMonitoring.enabled }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
-  name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $) 
"k8s-resources-windows-cluster" | trunc 63 | trimSuffix "-" }}
-  annotations:
-{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
-  labels:
-    {{- if $.Values.grafana.sidecar.dashboards.label }}
-    {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary 
$.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty 
$.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
-    {{- end }}
-    app: {{ template "kube-prometheus-stack.name" $ }}-grafana
-{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
-data:
-  k8s-resources-windows-cluster.json: |-
-    {{`{"editable":`}}{{ .Values.grafana.defaultDashboardsEditable 
}}{{`,"panels":[{"datasource":{"type":"datasource","uid":"-- Mixed 
--"},"fieldConfig":{"defaults":{"unit":"none"}},"gridPos":{"h":3,"w":4,"x":0,"y":0},"id":1,"interval":"`}}{{
 .Values.grafana.defaultDashboardsInterval 
}}{{`","options":{"colorMode":"none"},"pluginVersion":"v11.4.0","targets":[{"datasource":{"type":"prometheus","uid":"${datasource}"},"expr":"1
 - avg(rate(windows_cpu_time_total{cluster=\"$cluster\", job=\"wi [...]
-{{- end }}
\ No newline at end of file
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-namespace.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-namespace.yaml
deleted file mode 100644
index ef75d6d6..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-namespace.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-{{- /*
-Generated from 'k8s-resources-windows-namespace' from 
https://github.com/kubernetes-monitoring/kubernetes-mixin.git
-Do not change in-place! In order to change this file first read following link:
-https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
-*/ -}}
-{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion 
.Values.kubeTargetVersionOverride }}
-{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards) 
(semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" 
$kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled 
.Values.windowsMonitoring.enabled }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
-  name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $) 
"k8s-resources-windows-namespace" | trunc 63 | trimSuffix "-" }}
-  annotations:
-{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
-  labels:
-    {{- if $.Values.grafana.sidecar.dashboards.label }}
-    {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary 
$.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty 
$.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
-    {{- end }}
-    app: {{ template "kube-prometheus-stack.name" $ }}-grafana
-{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
-data:
-  k8s-resources-windows-namespace.json: |-
-    {{`{"editable":`}}{{ .Values.grafana.defaultDashboardsEditable 
}}{{`,"panels":[{"datasource":{"type":"datasource","uid":"-- Mixed 
--"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true}}},"gridPos":{"h":7,"w":24,"x":0,"y":0},"id":1,"interval":"`}}{{
 .Values.grafana.defaultDashboardsInterval 
}}{{`","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"
 [...]
-{{- end }}
\ No newline at end of file
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-pod.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-pod.yaml
deleted file mode 100644
index 556c1a00..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-resources-windows-pod.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-{{- /*
-Generated from 'k8s-resources-windows-pod' from 
https://github.com/kubernetes-monitoring/kubernetes-mixin.git
-Do not change in-place! In order to change this file first read following link:
-https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
-*/ -}}
-{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion 
.Values.kubeTargetVersionOverride }}
-{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards) 
(semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" 
$kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled 
.Values.windowsMonitoring.enabled }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
-  name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $) 
"k8s-resources-windows-pod" | trunc 63 | trimSuffix "-" }}
-  annotations:
-{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
-  labels:
-    {{- if $.Values.grafana.sidecar.dashboards.label }}
-    {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary 
$.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty 
$.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
-    {{- end }}
-    app: {{ template "kube-prometheus-stack.name" $ }}-grafana
-{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
-data:
-  k8s-resources-windows-pod.json: |-
-    {{`{"editable":`}}{{ .Values.grafana.defaultDashboardsEditable 
}}{{`,"panels":[{"datasource":{"type":"datasource","uid":"-- Mixed 
--"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true}}},"gridPos":{"h":7,"w":24,"x":0,"y":0},"id":1,"interval":"`}}{{
 .Values.grafana.defaultDashboardsInterval 
}}{{`","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tooltip":{"mode":"single"
 [...]
-{{- end }}
\ No newline at end of file
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-windows-cluster-rsrc-use.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-windows-cluster-rsrc-use.yaml
deleted file mode 100644
index e873a6f0..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-windows-cluster-rsrc-use.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-{{- /*
-Generated from 'k8s-windows-cluster-rsrc-use' from 
https://github.com/kubernetes-monitoring/kubernetes-mixin.git
-Do not change in-place! In order to change this file first read following link:
-https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
-*/ -}}
-{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion 
.Values.kubeTargetVersionOverride }}
-{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards) 
(semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" 
$kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled 
.Values.windowsMonitoring.enabled }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
-  name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $) 
"k8s-windows-cluster-rsrc-use" | trunc 63 | trimSuffix "-" }}
-  annotations:
-{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
-  labels:
-    {{- if $.Values.grafana.sidecar.dashboards.label }}
-    {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary 
$.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty 
$.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
-    {{- end }}
-    app: {{ template "kube-prometheus-stack.name" $ }}-grafana
-{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
-data:
-  k8s-windows-cluster-rsrc-use.json: |-
-    {{`{"editable":`}}{{ .Values.grafana.defaultDashboardsEditable 
}}{{`,"panels":[{"datasource":{"type":"datasource","uid":"-- Mixed 
--"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"percentunit"}},"gridPos":{"h":7,"w":24,"x":0,"y":0},"id":1,"interval":"`}}{{
 .Values.grafana.defaultDashboardsInterval 
}}{{`","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tool
 [...]
-{{- end }}
\ No newline at end of file
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-windows-node-rsrc-use.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-windows-node-rsrc-use.yaml
deleted file mode 100644
index ab9f77bc..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/templates/grafana/dashboards-1.14/k8s-windows-node-rsrc-use.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-{{- /*
-Generated from 'k8s-windows-node-rsrc-use' from 
https://github.com/kubernetes-monitoring/kubernetes-mixin.git
-Do not change in-place! In order to change this file first read following link:
-https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
-*/ -}}
-{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion 
.Values.kubeTargetVersionOverride }}
-{{- if and (or .Values.grafana.enabled .Values.grafana.forceDeployDashboards) 
(semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" 
$kubeTargetVersion) .Values.grafana.defaultDashboardsEnabled 
.Values.windowsMonitoring.enabled }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  namespace: {{ template "kube-prometheus-stack-grafana.namespace" . }}
-  name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $) 
"k8s-windows-node-rsrc-use" | trunc 63 | trimSuffix "-" }}
-  annotations:
-{{ toYaml .Values.grafana.sidecar.dashboards.annotations | indent 4 }}
-  labels:
-    {{- if $.Values.grafana.sidecar.dashboards.label }}
-    {{ $.Values.grafana.sidecar.dashboards.label }}: {{ ternary 
$.Values.grafana.sidecar.dashboards.labelValue "1" (not (empty 
$.Values.grafana.sidecar.dashboards.labelValue)) | quote }}
-    {{- end }}
-    app: {{ template "kube-prometheus-stack.name" $ }}-grafana
-{{ include "kube-prometheus-stack.labels" $ | indent 4 }}
-data:
-  k8s-windows-node-rsrc-use.json: |-
-    {{`{"editable":`}}{{ .Values.grafana.defaultDashboardsEditable 
}}{{`,"panels":[{"datasource":{"type":"datasource","uid":"-- Mixed 
--"},"fieldConfig":{"defaults":{"custom":{"fillOpacity":10,"showPoints":"never","spanNulls":true},"unit":"percentunit"}},"gridPos":{"h":7,"w":12,"x":0,"y":0},"id":1,"interval":"`}}{{
 .Values.grafana.defaultDashboardsInterval 
}}{{`","options":{"legend":{"asTable":true,"calcs":["lastNotNull"],"displayMode":"table","placement":"right","showLegend":true},"tool
 [...]
-{{- end }}
\ No newline at end of file
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/templates/prometheus/rules-1.14/windows.node.rules.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/templates/prometheus/rules-1.14/windows.node.rules.yaml
deleted file mode 100644
index 7c255538..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/templates/prometheus/rules-1.14/windows.node.rules.yaml
+++ /dev/null
@@ -1,301 +0,0 @@
-{{- /*
-Generated from 'windows.node.rules' group from 
https://github.com/kubernetes-monitoring/kubernetes-mixin.git
-Do not change in-place! In order to change this file first read following link:
-https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
-*/ -}}
-{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion 
.Values.kubeTargetVersionOverride }}
-{{- if and (semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare 
"<9.9.9-9" $kubeTargetVersion) .Values.defaultRules.create 
.Values.windowsMonitoring.enabled .Values.defaultRules.rules.windows }}
-apiVersion: monitoring.coreos.com/v1
-kind: PrometheusRule
-metadata:
-  name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" .) 
"windows.node.rules" | trunc 63 | trimSuffix "-" }}
-  namespace: {{ template "kube-prometheus-stack.namespace" . }}
-  labels:
-    app: {{ template "kube-prometheus-stack.name" . }}
-{{ include "kube-prometheus-stack.labels" . | indent 4 }}
-{{- if .Values.defaultRules.labels }}
-{{ toYaml .Values.defaultRules.labels | indent 4 }}
-{{- end }}
-{{- if .Values.defaultRules.annotations }}
-  annotations:
-{{ toYaml .Values.defaultRules.annotations | indent 4 }}
-{{- end }}
-spec:
-  groups:
-  - name: windows.node.rules
-    rules:
-    - expr: |-
-        count by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) (
-          windows_system_system_up_time{job="windows-exporter"}
-        )
-      record: node:windows_node:sum
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        count by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, instance) (sum by ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster, 
instance, core) (
-          windows_cpu_time_total{job="windows-exporter"}
-        ))
-      record: node:windows_node_num_cpu:sum
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: 1 - avg by ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end }}cluster) 
(rate(windows_cpu_time_total{job="windows-exporter",mode="idle"}[1m]))
-      record: :windows_node_cpu_utilisation:avg1m
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        1 - avg by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, instance) (
-          rate(windows_cpu_time_total{job="windows-exporter",mode="idle"}[1m])
-        )
-      record: node:windows_node_cpu_utilisation:avg1m
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        1 -
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) 
(windows_memory_available_bytes{job="windows-exporter"})
-        /
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) 
(windows_os_visible_memory_bytes{job="windows-exporter"})
-      record: ':windows_node_memory_utilisation:'
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) 
(windows_memory_available_bytes{job="windows-exporter"} + 
windows_memory_cache_bytes{job="windows-exporter"})
-      record: :windows_node_memory_MemFreeCached_bytes:sum
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: (windows_memory_cache_bytes{job="windows-exporter"} + 
windows_memory_modified_page_list_bytes{job="windows-exporter"} + 
windows_memory_standby_cache_core_bytes{job="windows-exporter"} + 
windows_memory_standby_cache_normal_priority_bytes{job="windows-exporter"} + 
windows_memory_standby_cache_reserve_bytes{job="windows-exporter"})
-      record: node:windows_node_memory_totalCached_bytes:sum
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) 
(windows_os_visible_memory_bytes{job="windows-exporter"})
-      record: :windows_node_memory_MemTotal_bytes:sum
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, instance) (
-          (windows_memory_available_bytes{job="windows-exporter"})
-        )
-      record: node:windows_node_memory_bytes_available:sum
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, instance) (
-          windows_os_visible_memory_bytes{job="windows-exporter"}
-        )
-      record: node:windows_node_memory_bytes_total:sum
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        (node:windows_node_memory_bytes_total:sum - 
node:windows_node_memory_bytes_available:sum)
-        /
-        scalar(sum(node:windows_node_memory_bytes_total:sum))
-      record: node:windows_node_memory_utilisation:ratio
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: 1 - (node:windows_node_memory_bytes_available:sum / 
node:windows_node_memory_bytes_total:sum)
-      record: 'node:windows_node_memory_utilisation:'
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: 
irate(windows_memory_swap_page_operations_total{job="windows-exporter"}[5m])
-      record: node:windows_node_memory_swap_io_pages:irate
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        avg by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) 
(irate(windows_logical_disk_read_seconds_total{job="windows-exporter"}[1m]) +
-            
irate(windows_logical_disk_write_seconds_total{job="windows-exporter"}[1m])
-          )
-      record: :windows_node_disk_utilisation:avg_irate
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        avg by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, instance) (
-          
(irate(windows_logical_disk_read_seconds_total{job="windows-exporter"}[1m]) +
-           
irate(windows_logical_disk_write_seconds_total{job="windows-exporter"}[1m]))
-        )
-      record: node:windows_node_disk_utilisation:avg_irate
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        max by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster,instance,volume)(
-          (windows_logical_disk_size_bytes{job="windows-exporter"}
-        - windows_logical_disk_free_bytes{job="windows-exporter"})
-        / windows_logical_disk_size_bytes{job="windows-exporter"}
-        )
-      record: 'node:windows_node_filesystem_usage:'
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: max by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, instance, volume) 
(windows_logical_disk_free_bytes{job="windows-exporter"} / 
windows_logical_disk_size_bytes{job="windows-exporter"})
-      record: 'node:windows_node_filesystem_avail:'
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) 
(irate(windows_net_bytes_total{job="windows-exporter"}[1m]))
-      record: :windows_node_net_utilisation:sum_irate
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, instance) (
-          (irate(windows_net_bytes_total{job="windows-exporter"}[1m]))
-        )
-      record: node:windows_node_net_utilisation:sum_irate
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) 
(irate(windows_net_packets_received_discarded_total{job="windows-exporter"}[1m]))
 +
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster) 
(irate(windows_net_packets_outbound_discarded_total{job="windows-exporter"}[1m]))
-      record: :windows_node_net_saturation:sum_irate
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, instance) (
-          
(irate(windows_net_packets_received_discarded_total{job="windows-exporter"}[1m])
 +
-          
irate(windows_net_packets_outbound_discarded_total{job="windows-exporter"}[1m]))
-        )
-      record: node:windows_node_net_saturation:sum_irate
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-{{- end }}
\ No newline at end of file
diff --git 
a/manifests/charts/admin/charts/kube-prometheus/templates/prometheus/rules-1.14/windows.pod.rules.yaml
 
b/manifests/charts/admin/charts/kube-prometheus/templates/prometheus/rules-1.14/windows.pod.rules.yaml
deleted file mode 100644
index 86340b5c..00000000
--- 
a/manifests/charts/admin/charts/kube-prometheus/templates/prometheus/rules-1.14/windows.pod.rules.yaml
+++ /dev/null
@@ -1,158 +0,0 @@
-{{- /*
-Generated from 'windows.pod.rules' group from 
https://github.com/kubernetes-monitoring/kubernetes-mixin.git
-Do not change in-place! In order to change this file first read following link:
-https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
-*/ -}}
-{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion 
.Values.kubeTargetVersionOverride }}
-{{- if and (semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare 
"<9.9.9-9" $kubeTargetVersion) .Values.defaultRules.create 
.Values.windowsMonitoring.enabled .Values.defaultRules.rules.windows }}
-{{- $kubeStateMetricsJob := include 
"kube-prometheus-stack-kube-state-metrics.name" . }}
-apiVersion: monitoring.coreos.com/v1
-kind: PrometheusRule
-metadata:
-  name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" .) 
"windows.pod.rules" | trunc 63 | trimSuffix "-" }}
-  namespace: {{ template "kube-prometheus-stack.namespace" . }}
-  labels:
-    app: {{ template "kube-prometheus-stack.name" . }}
-{{ include "kube-prometheus-stack.labels" . | indent 4 }}
-{{- if .Values.defaultRules.labels }}
-{{ toYaml .Values.defaultRules.labels | indent 4 }}
-{{- end }}
-{{- if .Values.defaultRules.annotations }}
-  annotations:
-{{ toYaml .Values.defaultRules.annotations | indent 4 }}
-{{- end }}
-spec:
-  groups:
-  - name: windows.pod.rules
-    rules:
-    - expr: windows_container_available{job="windows-exporter", container_id 
!= ""} * on ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . 
}},{{ end }}container_id, cluster) group_left(container, pod, namespace) 
max(kube_pod_container_info{job="{{ $kubeStateMetricsJob }}", container_id != 
""}) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . 
}},{{ end }}container, container_id, pod, namespace, cluster)
-      record: windows_pod_container_available
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: windows_container_cpu_usage_seconds_total{job="windows-exporter", 
container_id != ""} * on ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end 
}}container_id, cluster) group_left(container, pod, namespace) 
max(kube_pod_container_info{job="{{ $kubeStateMetricsJob }}", container_id != 
""}) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . 
}},{{ end }}container, container_id, pod, namespace, cluster)
-      record: windows_container_total_runtime
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: 
windows_container_memory_usage_commit_bytes{job="windows-exporter", 
container_id != ""} * on ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end 
}}container_id, cluster) group_left(container, pod, namespace) 
max(kube_pod_container_info{job="{{ $kubeStateMetricsJob }}", container_id != 
""}) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . 
}},{{ end }}container, container_id, pod, namespace, cluster)
-      record: windows_container_memory_usage
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: 
windows_container_memory_usage_private_working_set_bytes{job="windows-exporter",
 container_id != ""} * on ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end 
}}container_id, cluster) group_left(container, pod, namespace) 
max(kube_pod_container_info{job="{{ $kubeStateMetricsJob }}", container_id != 
""}) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . 
}},{{ end }}container, container_id, pod, namespace, cluster)
-      record: windows_container_private_working_set_usage
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: 
windows_container_network_receive_bytes_total{job="windows-exporter", 
container_id != ""} * on ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end 
}}container_id, cluster) group_left(container, pod, namespace) 
max(kube_pod_container_info{job="{{ $kubeStateMetricsJob }}", container_id != 
""}) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . 
}},{{ end }}container, container_id, pod, namespace, cluster)
-      record: windows_container_network_received_bytes_total
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: 
windows_container_network_transmit_bytes_total{job="windows-exporter", 
container_id != ""} * on ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end 
}}container_id, cluster) group_left(container, pod, namespace) 
max(kube_pod_container_info{job="{{ $kubeStateMetricsJob }}", container_id != 
""}) by ({{ range $.Values.defaultRules.additionalAggregationLabels }}{{ . 
}},{{ end }}container, container_id, pod, namespace, cluster)
-      record: windows_container_network_transmitted_bytes_total
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        max by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, namespace, pod, container) (
-          kube_pod_container_resource_requests{resource="memory",job="{{ 
$kubeStateMetricsJob }}"}
-        ) * on ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}container,pod,namespace,cluster) 
(windows_pod_container_available)
-      record: kube_pod_windows_container_resource_memory_request
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: kube_pod_container_resource_limits{resource="memory",job="{{ 
$kubeStateMetricsJob }}"} * on ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end 
}}container,pod,namespace,cluster) (windows_pod_container_available)
-      record: kube_pod_windows_container_resource_memory_limit
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        max by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, namespace, pod, container) (
-          kube_pod_container_resource_requests{resource="cpu",job="{{ 
$kubeStateMetricsJob }}"}
-        ) * on ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}container,pod,namespace,cluster) 
(windows_pod_container_available)
-      record: kube_pod_windows_container_resource_cpu_cores_request
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: kube_pod_container_resource_limits{resource="cpu",job="{{ 
$kubeStateMetricsJob }}"} * on ({{ range 
$.Values.defaultRules.additionalAggregationLabels }}{{ . }},{{ end 
}}container,pod,namespace,cluster) (windows_pod_container_available)
-      record: kube_pod_windows_container_resource_cpu_cores_limit
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-    - expr: |-
-        sum by ({{ range $.Values.defaultRules.additionalAggregationLabels 
}}{{ . }},{{ end }}cluster, namespace, pod, container) (
-          rate(windows_container_total_runtime{}[5m])
-        )
-      record: 
namespace_pod_container:windows_container_cpu_usage_seconds_total:sum_rate
-      {{- if or .Values.defaultRules.additionalRuleLabels 
.Values.defaultRules.additionalRuleGroupLabels.windows }}
-      labels:
-        {{- with .Values.defaultRules.additionalRuleLabels }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-        {{- with .Values.defaultRules.additionalRuleGroupLabels.windows }}
-          {{- toYaml . | nindent 8 }}
-        {{- end }}
-      {{- end }}
-{{- end }}
\ No newline at end of file
diff --git a/manifests/charts/admin/charts/kube-prometheus/values.yaml 
b/manifests/charts/admin/charts/kube-prometheus/values.yaml
index 79075aa5..b71cd237 100644
--- a/manifests/charts/admin/charts/kube-prometheus/values.yaml
+++ b/manifests/charts/admin/charts/kube-prometheus/values.yaml
@@ -201,7 +201,6 @@ defaultRules:
     nodeExporterRecording: true
     prometheus: true
     prometheusOperator: true
-    windows: true
 
   ## Reduce app namespace alert scope
   appNamespacesTarget: ".*"
@@ -355,34 +354,6 @@ global:
   # or
   # - "image-pull-secret"
 
-windowsMonitoring:
-  ## Deploys the windows-exporter and Windows-specific dashboards and rules 
(job name must be 'windows-exporter')
-  enabled: false
-
-## Configuration for prometheus-windows-exporter
-## ref: 
https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-windows-exporter
-##
-prometheus-windows-exporter:
-  ## Enable ServiceMonitor and set Kubernetes label to use as a job label
-  ##
-  prometheus:
-    monitor:
-      enabled: true
-      jobLabel: jobLabel
-
-  releaseLabel: true
-
-  ## Set job label to 'windows-exporter' as required by the default Prometheus 
rules and Grafana dashboards
-  ##
-  podLabels:
-    jobLabel: windows-exporter
-
-  ## Enable memory and container metrics as required by the default Prometheus 
rules and Grafana dashboards
-  ##
-  config: |-
-    collectors:
-      enabled: '[defaults],memory,container'
-
 ## Configuration for alertmanager
 ## ref: https://prometheus.io/docs/alerting/alertmanager/
 ##
diff --git a/manifests/charts/admin/templates/deployment.yaml 
b/manifests/charts/admin/templates/deployment.yaml
index 7d24a85e..6054f59b 100644
--- a/manifests/charts/admin/templates/deployment.yaml
+++ b/manifests/charts/admin/templates/deployment.yaml
@@ -62,5 +62,19 @@ spec:
 {{ toYaml $admin.resources | trim | indent 10 }}
       volumes:
       - name: data
-        hostPath:
-          path: /var/lib/admin-dashboard
+        emptyDir: {}
+      - name: data
+        persistentVolumeClaim:
+          claimName: admin-pvc
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: admin-pvc
+spec:
+  storageClassName: rook-ceph-block
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 20Gi
\ No newline at end of file
diff --git a/manifests/charts/admin/values.yaml 
b/manifests/charts/admin/values.yaml
index d1795f55..050b3465 100644
--- a/manifests/charts/admin/values.yaml
+++ b/manifests/charts/admin/values.yaml
@@ -59,5 +59,6 @@ _internal_default_values_not_set:
         baseURL: 
http://kube-prometheus-grafana:3000/d/b2e178fb-ada3-4d5e-9f54-de99e7f07662/service
     prometheus: 
http://kube-prometheus-kube-prome-prometheus.svc.cluster.local:9090
     grafana: http://47.251.1.59:3000/
-  kube-prometheus-stack:
+
+  kube-prometheus:
     enabled: false
\ No newline at end of file
diff --git a/manifests/charts/base/Chart.yaml b/manifests/charts/base/Chart.yaml
index 3bb87882..8e77cea9 100644
--- a/manifests/charts/base/Chart.yaml
+++ b/manifests/charts/base/Chart.yaml
@@ -19,8 +19,8 @@ annotations:
 name: base
 home: https://github.com/apache/dubbo-kubernetes
 description: Helm chart for deploying dubbo cluster resources and CRDs.
-version: 1.0.0
-appVersion: 1.0.0
+version: 0.0.0
+appVersion: 0.0.0
 maintainers:
   - name: mfordjody
     email: [email protected]
diff --git a/manifests/charts/base/templates/jobs.yaml 
b/manifests/charts/base/templates/jobs.yaml
new file mode 100644
index 00000000..0e17c5aa
--- /dev/null
+++ b/manifests/charts/base/templates/jobs.yaml
@@ -0,0 +1,151 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: rook-csi-driver-config
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: rook-csi-driver
+  annotations:
+    "rook.sh/hook": "pre-install"
+    "rook.sh/hook-weight": "0"
+    "rook.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
+data:
+  rook.sh: |-
+    #!/usr/bin/env bash
+
+    kubectl label node osp ceph-mon=enabled
+    kubectl label node osp ceph-mgr=enabled
+    kubectl label node osp ceph-mds=enabled
+    kubectl label node osp ceph-osd=enabled
+
+    git clone https://github.com/rook/rook.git ; cd rook/deploy/examples/
+    sed -i 's/ROOK_DISCOVER_DEVICES_INTERVAL: 
"60m"/ROOK_DISCOVER_DEVICES_INTERVAL: "60s"/' operator.yaml
+    kubectl apply -f crds.yaml -f common.yaml -f operator.yaml
+    sed -i 's/useAllNodes: true/useAllNodes: false/' cluster.yaml
+    sed -i 's/useAllDevices: true/useAllDevices: false/' cluster.yaml
+    sed -i '/^  mon:/,/^    count:/s/^\(    count:\) [0-9]\+/\1 1/' 
cluster.yaml
+    sed -i '/mon:/, /allowMultiplePerNode:/ s/allowMultiplePerNode: 
false/allowMultiplePerNode: true/' cluster.yaml
+    sed -i '/^  mgr:/,/^    count:/s/^\(    count:\) [0-9]\+/\1 1/' 
cluster.yaml
+
+    sed -i '/resources:/,/^[^ ]/ {
+      /resources:/c\
+      resources:\
+        mon:\
+          limits:\
+            cpu: "102m"\
+            memory: "256Mi"\
+          requests:\
+            cpu: "102m"\
+            memory: "256Mi"\
+        mgr:\
+          limits:\
+            cpu: "102m"\
+            memory: "512Mi"\
+          requests:\
+            cpu: "102m"\
+            memory: "512Mi"\
+        mds:\
+          limits:\
+            cpu: "102m"\
+            memory: "256Mi"\
+          requests:\
+            cpu: "102m"\
+            memory: "256Mi"\
+        osd:\
+          limits:\
+            cpu: "512m"\
+            memory: "2048Mi"\
+          requests:\
+            cpu: "512m"\
+            memory: "2048Mi"
+    }' cluster.yaml
+
+    sed -i 's/^  # placement:/  placement:/' cluster.yaml
+    sed -i '/placement:/,/^[^ ]/ {
+      /placement:/c\
+      placement:\
+        mon:\
+          nodeAffinity:\
+            requiredDuringSchedulingIgnoredDuringExecution:\
+              nodeSelectorTerms:\
+              - matchExpressions:\
+                - key: ceph-mon\
+                  operator: In\
+                  values:\
+                  - enabled\
+        mgr:\
+          nodeAffinity:\
+            requiredDuringSchedulingIgnoredDuringExecution:\
+              nodeSelectorTerms:\
+              - matchExpressions:\
+                - key: ceph-mgr\
+                  operator: In\
+                  values:\
+                  - enabled\
+        mds:\
+          nodeAffinity:\
+            requiredDuringSchedulingIgnoredDuringExecution:\
+              nodeSelectorTerms:\
+              - matchExpressions:\
+                - key: ceph-mds\
+                  operator: In\
+                  values:\
+                  - enabled\
+        osd:\
+          nodeAffinity:\
+            requiredDuringSchedulingIgnoredDuringExecution:\
+              nodeSelectorTerms:\
+              - matchExpressions:\
+                - key: ceph-osd\
+                  operator: In\
+                  values:\
+                  - enabled
+    }' cluster.yaml
+
+    sed -i 's/^    # nodes:/    nodes:/' cluster.yaml
+    sed -i '/nodes:/,/^[^ ]/ {
+      /nodes:/c\
+        nodes:\
+        - name: "osp"\
+          devices: # specific devices to use for storage can be specified for 
each node\
+            - name: "nvme0n2"\
+              config:\
+                storeType: bluestore\
+                journalSizeMB: "4096"
+    }' cluster.yaml
+
+    kubectl apply -f cluster.yaml -f toolbox.yaml -f 
dashboard-external-https.yaml
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: dubbo-rook-csi-driver
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: rook-csi-driver
+  annotations:
+    "rook.sh/hook": "pre-install"
+    "rook.sh/hook-weight": "1"
+    "rook.sh/hook-delete-policy": "hook-succeeded"
+spec:
+  template:
+    metadata:
+      name: dubbo-rook-csi-driver
+    spec:
+      restartPolicy: Never
+      containers:
+      - name: busybox
+        image: busybox
+        command:
+        - "/bin/sh"
+        - "-c"
+        - "sh /files/rook.sh"
+        volumeMounts:
+        - name: scripts
+          mountPath: /files/rook.sh
+          subPath: rook.sh
+      volumes:
+      - name: scripts
+        configMap:
+          name: rook-csi-driver-config
+          defaultMode: 0755
\ No newline at end of file
diff --git a/manifests/charts/dubbo-control/register-discovery/nacos/Chart.yaml 
b/manifests/charts/dubbo-control/register-discovery/nacos/Chart.yaml
index 0a365275..961bbf42 100644
--- a/manifests/charts/dubbo-control/register-discovery/nacos/Chart.yaml
+++ b/manifests/charts/dubbo-control/register-discovery/nacos/Chart.yaml
@@ -19,8 +19,8 @@ annotations:
 name: nacos
 home: https://github.com/apache/dubbo-kubernetes
 description: Helm chart for nacos register plane.
-version: 1.0.0
-appVersion: 1.0.0
+version: 0.0.0
+appVersion: 0.0.0
 maintainers:
   - name: mfordjody
     email: [email protected]
diff --git 
a/manifests/charts/dubbo-control/register-discovery/nacos/templates/mysql-statefulset.yaml
 
b/manifests/charts/dubbo-control/register-discovery/nacos/templates/mysql-statefulset.yaml
index e7474389..77c03f04 100644
--- 
a/manifests/charts/dubbo-control/register-discovery/nacos/templates/mysql-statefulset.yaml
+++ 
b/manifests/charts/dubbo-control/register-discovery/nacos/templates/mysql-statefulset.yaml
@@ -71,7 +71,25 @@ spec:
         configMap:
           name: nacos-table-config
           defaultMode: 0755
-      - name: data
-        hostPath:
-          path: /var/lib/mysql
-{{- end -}}
\ No newline at end of file
+  volumeClaimTemplates:
+  - metadata:
+      name: data
+    spec:
+      accessModes:
+      - ReadWriteOnce
+      resources:
+        requests:
+          storage: 5Gi
+{{- end -}}
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: mysql-pvc
+spec:
+  storageClassName: rook-ceph-block
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 20Gi
\ No newline at end of file
diff --git 
a/manifests/charts/dubbo-control/register-discovery/nacos/templates/statefulset.yaml
 
b/manifests/charts/dubbo-control/register-discovery/nacos/templates/statefulset.yaml
index b2a9132a..3533a097 100644
--- 
a/manifests/charts/dubbo-control/register-discovery/nacos/templates/statefulset.yaml
+++ 
b/manifests/charts/dubbo-control/register-discovery/nacos/templates/statefulset.yaml
@@ -47,7 +47,7 @@ spec:
       {{- end }}
       containers:
       - name: nacos
-        image: {{ $nacos.image }}:{{ $nacos.tag }}
+        image: nacos/nacos-server
         imagePullPolicy: {{ $nacos.imagePullPolicy }}
         ports:
         - name: http
@@ -122,5 +122,25 @@ spec:
           subPath: logs
       volumes:
       - name: data
-        hostPath:
-          path: /var/lib/nacos
\ No newline at end of file
+        emptyDir: {}
+  volumeClaimTemplates:
+    - metadata:
+        name: data
+      spec:
+        accessModes:
+          - ReadWriteOnce
+        resources:
+          requests:
+            storage: 5Gi
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: nacos-pvc
+spec:
+  storageClassName: rook-ceph-block
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 20Gi
\ No newline at end of file
diff --git 
a/manifests/charts/dubbo-control/register-discovery/nacos/values.yaml 
b/manifests/charts/dubbo-control/register-discovery/nacos/values.yaml
index cdb83e5b..86173768 100644
--- a/manifests/charts/dubbo-control/register-discovery/nacos/values.yaml
+++ b/manifests/charts/dubbo-control/register-discovery/nacos/values.yaml
@@ -26,29 +26,24 @@ _internal_default_values_not_set:
       cpu: 250m
       memory: 256Mi
 
-  image: nacos/nacos-server
-  tag: ""
-  # Image pull policy, available options are: Always, IfNotPresent, Never.
-  imagePullPolicy: ~
-
   ## Whether to enable the csiDriver.
   csiDriver:
     enabled: false
 
-    storage:
-      # Specifies the storage type (embedded, mysql, etc.).
-      type: "mysql"
-      # For MySQL storage, you need to change the "embedded" to "mysql" before 
you can use the db configuration.
-      database:
-        # Specifies the database host.
-        host: "nacos-mysql"
-        # Specifies the database name.
-        name: nacos
-        # Specifies the database port.
-        port: ""
-        # Specifies the database username.
-        username: nacos
-        # Specifies the database password.
-        password: nacos
-        # Additional database connection parameters (if needed).
-        param: ""
\ No newline at end of file
+  storage:
+    # Specifies the storage type (embedded, mysql, etc.).
+    type: "mysql"
+    # For MySQL storage, you need to change the "embedded" to "mysql" before 
you can use the db configuration.
+    database:
+      # Specifies the database host.
+      host: "nacos-mysql"
+      # Specifies the database name.
+      name: nacos
+      # Specifies the database port.
+      port: ""
+      # Specifies the database username.
+      username: nacos
+      # Specifies the database password.
+      password: nacos
+      # Additional database connection parameters (if needed).
+      param: ""
\ No newline at end of file
diff --git 
a/manifests/charts/dubbo-control/register-discovery/zookeeper/Chart.yaml 
b/manifests/charts/dubbo-control/register-discovery/zookeeper/Chart.yaml
index 195eb053..8b5c434b 100644
--- a/manifests/charts/dubbo-control/register-discovery/zookeeper/Chart.yaml
+++ b/manifests/charts/dubbo-control/register-discovery/zookeeper/Chart.yaml
@@ -19,8 +19,8 @@ annotations:
 name: zookeeper
 home: https://github.com/apache/dubbo-kubernetes
 description: Helm chart for zookeeper register plane.
-version: 1.0.0
-appVersion: 1.0.0
+version: 0.0.0
+appVersion: 0.0.0
 maintainers:
   - name: mfordjody
     email: [email protected]
diff --git 
a/manifests/charts/dubbo-control/register-discovery/zookeeper/templates/statefulset.yaml
 
b/manifests/charts/dubbo-control/register-discovery/zookeeper/templates/statefulset.yaml
index 0f728187..513542e4 100644
--- 
a/manifests/charts/dubbo-control/register-discovery/zookeeper/templates/statefulset.yaml
+++ 
b/manifests/charts/dubbo-control/register-discovery/zookeeper/templates/statefulset.yaml
@@ -34,7 +34,7 @@ spec:
     spec:
       containers:
       - name: zookeeper
-        image: {{ $zookeeper.image }}:{{ $zookeeper.tag }}
+        image: zookeeper
         imagePullPolicy: {{ $zookeeper.imagePullPolicy }}
         resources:
 {{ toYaml $zookeeper.resources | trim | indent 10 }}
@@ -54,5 +54,25 @@ spec:
           name: zookeeper-scripts
           defaultMode: 0755
       - name: data
-        hostPath:
-          path: /var/lib/zookeeper
\ No newline at end of file
+        emptyDir: {}
+  volumeClaimTemplates:
+  - metadata:
+      name: data
+    spec:
+      accessModes:
+        - ReadWriteOnce
+      resources:
+        requests:
+          storage: 5Gi
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: zookeeper-pvc
+spec:
+  storageClassName: rook-ceph-block
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 20Gi
\ No newline at end of file
diff --git 
a/manifests/charts/dubbo-control/register-discovery/zookeeper/values.yaml 
b/manifests/charts/dubbo-control/register-discovery/zookeeper/values.yaml
index d6647a90..06db34f1 100644
--- a/manifests/charts/dubbo-control/register-discovery/zookeeper/values.yaml
+++ b/manifests/charts/dubbo-control/register-discovery/zookeeper/values.yaml
@@ -19,12 +19,6 @@ _internal_default_values_not_set:
   ## Number of replicas for the Deployment.
   replicas: 1
 
-  # Source of the container image.
-  image: zookeeper
-  tag: ""
-  # Image pull policy, available options are: Always, IfNotPresent, Never.
-  imagePullPolicy: ~
-
   resources:
     requests:
       cpu: 250m
diff --git a/operator/cmd/cluster/install.go b/operator/cmd/cluster/install.go
index de41ab33..15938ebc 100644
--- a/operator/cmd/cluster/install.go
+++ b/operator/cmd/cluster/install.go
@@ -39,7 +39,8 @@ var InstallerScope = log.RegisterScope("installer")
 
 type installArgs struct {
        // filenames is an array of paths to input DubboOperator CR files.
-       filenames []string
+       // TODO
+       // filenames []string
        // sets is a string with the format "path=value".
        sets []string
        // waitTimeout is the maximum time to wait for all Dubbo resources to 
be ready.
@@ -52,14 +53,14 @@ type installArgs struct {
 
 func (i *installArgs) String() string {
        var b strings.Builder
-       b.WriteString("filenames:    " + (fmt.Sprint(i.filenames) + "\n"))
+       // b.WriteString("filenames:    " + (fmt.Sprint(i.filenames) + "\n"))
        b.WriteString("sets:    " + (fmt.Sprint(i.sets) + "\n"))
        b.WriteString("waitTimeout: " + fmt.Sprint(i.waitTimeout) + "\n")
        return b.String()
 }
 
 func addInstallFlags(cmd *cobra.Command, args *installArgs) {
-       cmd.PersistentFlags().StringSliceVarP(&args.filenames, "filenames", 
"f", nil, `Path to the file containing the dubboOperator's custom resources.`)
+       // cmd.PersistentFlags().StringSliceVarP(&args.filenames, "filenames", 
"f", nil, `Path to the file containing the dubboOperator's custom resources.`)
        cmd.PersistentFlags().StringArrayVarP(&args.sets, "set", "s", nil, 
`Override dubboOperator values, such as selecting profiles, etc.`)
        cmd.PersistentFlags().BoolVarP(&args.skipConfirmation, 
"skip-confirmation", "y", false, `The skipConfirmation determines whether the 
user is prompted for confirmation.`)
        cmd.PersistentFlags().DurationVar(&args.waitTimeout, "wait-timeout", 
300*time.Second, "Maximum time to wait for Dubbo resources in each component to 
be ready.")
@@ -73,12 +74,9 @@ func InstallCmdWithArgs(ctx cli.Context, rootArgs *RootArgs, 
iArgs *installArgs)
                Long:  "The install command generates an Dubbo install manifest 
and applies it to a cluster",
                Example: ` # Apply a default dubboctl installation.
   dubboctl install -y
-  
-  # Apply a config file.
-  dubboctl install -f dop.yaml
-  
+ 
   # Apply a default profile.
-  dubboctl install --profile=demo
+  dubboctl install --set --profile=demo -y
                `,
                Aliases: []string{"apply"},
                Args:    cobra.ExactArgs(0),
@@ -105,7 +103,7 @@ func InstallCmd(ctx cli.Context) *cobra.Command {
 
 func Install(kubeClient kube.CLIClient, rootArgs *RootArgs, iArgs 
*installArgs, cl clog.Logger, stdOut io.Writer, p Printer) error {
        setFlags := applyFlagAliases(iArgs.sets)
-       manifests, vals, err := render.GenerateManifest(iArgs.filenames, 
setFlags, cl, kubeClient)
+       manifests, vals, err := render.GenerateManifest(nil, setFlags, cl, 
kubeClient)
        if err != nil {
                return fmt.Errorf("generate config: %v", err)
        }

Reply via email to