Skip to content

Commit

Permalink
PGA helm chart
Browse files Browse the repository at this point in the history
Signed-off-by: Ashwani Singh <ashwani.singh@opstree.com>
  • Loading branch information
ashwani-opstree committed Jul 13, 2024
1 parent 555b0ee commit b44225d
Show file tree
Hide file tree
Showing 3 changed files with 356 additions and 0 deletions.
18 changes: 18 additions & 0 deletions charts/pga/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
dependencies:
- name: kube-prometheus-stack
repository: https://prometheus-community.github.io/helm-charts/
version: 61.3.1
- name: kube-prometheus-stack
repository: https://prometheus-community.github.io/helm-charts/
version: 61.3.1
- name: prometheus-adapter
repository: https://prometheus-community.github.io/helm-charts/
version: 4.10.0
- name: prometheus-pushgateway
repository: https://prometheus-community.github.io/helm-charts/
version: 2.14.0
- name: prometheus-blackbox-exporter
repository: https://prometheus-community.github.io/helm-charts/
version: 8.17.0
digest: sha256:fc4b5d1a68181468fa2ec35ef9307c470a68bfb0b4d46a191c772a82f85f70e7
generated: "2024-07-12T21:49:05.791141+05:30"
45 changes: 45 additions & 0 deletions charts/pga/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
apiVersion: v2
name: pga
description: A Helm chart for prometheus, grafana and alertmanager
type: application
version: 1.0.0
appVersion: 1.0.0
dependencies:
- name: kube-prometheus-stack
version: ~61
repository: https://prometheus-community.github.io/helm-charts/
alias: app
tags:
- monitoring
condition: app.enabled

- name: kube-prometheus-stack
version: ~61
repository: https://prometheus-community.github.io/helm-charts/
alias: kube
tags:
- monitoring

- name: prometheus-adapter
version: ~4
repository: https://prometheus-community.github.io/helm-charts/
tags:
- monitoring
alias: adapter
condition: adapter.enabled

- name: prometheus-pushgateway
version: ~2
repository: https://prometheus-community.github.io/helm-charts/
tags:
- monitoring
alias: pushgateway
condition: pushgateway.enabled

- name: prometheus-blackbox-exporter
version: ~8
repository: https://prometheus-community.github.io/helm-charts/
tags:
- blackbox
alias: blackbox
condition: blackbox.enabled
293 changes: 293 additions & 0 deletions charts/pga/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,293 @@
app:
enabled: false
fullnameOverride: app
commonLabels:
prometheus: app
defaultRules:
create: false
alertmanager:
enabled: false
grafana:
enabled: false
kubeApiServer:
enabled: false
kubelet:
enabled: false
kubeControllerManager:
enabled: false
coreDns:
enabled: false
kubeEtcd:
enabled: false
kubeScheduler:
enabled: false
kubeProxy:
enabled: false
kubeStateMetrics:
enabled: false
kube-state-metrics:
enabled: false
nodeExporter:
enabled: false
prometheusOperator:
enabled: false
admissionWebhooks:
enabled: false
configReloaderCpu: 300m
configReloaderMemory: 300Mi
prometheus:
enabled: true
prometheusSpec:
# nodeSelector:
# appType: monitoring
# tolerations:
# - key: "appType"
# operator: "Equal"
# value: "monitoring"
# effect: "NoSchedule"
retention: 30d
replicas: 1
# externalUrl: ""
resources:
requests:
cpu: "1"
memory: 1Gi
limits:
cpu: "1"
memory: 1Gi
storageSpec:
volumeClaimTemplate:
spec:
# storageClassName: encrypted-gp3
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 1Gi
alertingEndpoints:
- name: kube-alertmanager
namespace: monitoring
port: web
pathPrefix: /
apiVersion: v2
serviceMonitorSelector:
matchExpressions:
- { key: prometheus, operator: In, values: [ app ] }
podMonitorSelector:
matchExpressions:
- { key: prometheus, operator: In, values: [ app ] }
ruleSelector:
matchLabels:
prometheus: app
additionalScrapeConfigs:
- job_name: kubernets-servics-probe
metrics_path: /probe
params:
module: [ http_2xx ]
kubernetes_sd_configs:
- role: service
scrape_interval: 30s
scrape_timeout: 25s
relabel_configs:
- source_labels: [ __meta_kubernetes_service_annotation_prometheus_io_probe ]
regex: true
action: keep
- source_labels: [ __meta_kubernetes_service_name ]
target_label: service
- source_labels: [ __address__,__meta_kubernetes_service_annotation_prometheus_io_path]
regex: (.+);(.+)
target_label: __param_target
replacement: ${1}${2}
- source_labels: [ __param_target ]
target_label: instance
- source_labels: []
target_label: __address__
replacement: monitoring-prometheus-blackbox-exporter:9115
service:
name: app-prometheus

kube:
fullnameOverride: kube
commonLabels:
prometheus: kube
defaultRules:
create: false
alertmanager:
enabled: true
alertmanagerSpec:
retention: 240h
resources:
requests:
cpu: 250m
memory: 500Mi
limits:
cpu: 250m
memory: 500Mi
storage:
volumeClaimTemplate:
spec:
# storageClassName: encrypted-gp3
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
grafana:
enabled: false
kubeApiServer:
enabled: true
kubelet:
enabled: true
namespace: kube-system
kubeControllerManager:
enabled: false
coreDns:
enabled: true
kubeEtcd:
enabled: false
kubeScheduler:
enabled: false
kubeProxy:
enabled: false
kubeStateMetrics:
enabled: true
kube-state-metrics:
customLabels:
prometheus: kube
enabled: true
podSecurityPolicy:
enabled: false
resources:
requests:
cpu: 250m
memory: 500Mi
limits:
cpu: 250m
memory: 500Mi
nodeExporter:
enabled: true
prometheus-node-exporter:
prometheus:
monitor:
additionalLabels:
prometheus: kube
# rbac:
# pspEnabled: false
# image:
# repository:
# tag: latest
# pullPolicy: Always
prometheusOperator:
enabled: true
admissionWebhooks:
enabled: false
deployment:
enabled: true
tls:
enabled: false
prometheus:
enabled: true
prometheusSpec:
# nodeSelector:
# appType: monitoring
# tolerations:
# - key: "appType"
# operator: "Equal"
# value: "monitoring"
# effect: "NoSchedule"
# remoteWrite:
# - url: https://app.last9.io/jupiter/prometheus/write
# basicAuth:
# username:
# name: promsecret
# key: username
# password:
# name: promsecret
# key: password
## # Do not add the writeRelabelConfigs section if you want to
## # send all metrics via remote write
## writeRelabelConfigs:
# - sourceLabels: [ __name__ ]
# regex: 'istio*'
# action: keep
# image:
# tag: v2.41.0
retention: 30d
replicas: 1
# externalUrl: "http://kube-opstree.prod.internal/"
resources:
requests:
cpu: "500m"
memory: 500Mi
limits:
cpu: "500m"
memory: 500Mi
storageSpec:
volumeClaimTemplate:
spec:
# storageClassName: encrypted-gp3
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 1Gi
serviceMonitorSelector:
matchExpressions:
- key: prometheus
operator: In
values:
- kube
podMonitorSelector:
matchExpressions:
- key: prometheus
operator: In
values:
- kube
ruleSelector:
matchLabels:
prometheus: kube
service:
name: kube-prometheus

pushgateway:
enabled: false
serviceMonitor:
enabled: true
namespace: monitoring
additionalLabels:
prometheus: app
extraArgs:
- --log.level=debug
- --push.disable-consistency-check
resources:
limits:
cpu: 1
memory: 4096Mi
requests:
cpu: 500m
memory: 4096Mi

blackbox:
enabled: false
serviceMonitor:
enabled: true
defaults:
additionalMetricsRelabels: {}
labels:
prometheus: app
interval: 30s
scrapeTimeout: 30s
module: http_2xx
config:
modules:
http_2xx:
prober: http
timeout: 5s
http:
valid_http_versions: [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0" ]
no_follow_redirects: false
preferred_ip_protocol: "ip4"
fail_if_ssl: false
fail_if_not_ssl: false

adapter:
enabled: false

0 comments on commit b44225d

Please sign in to comment.