Skip to content

Commit d727a48

Browse files
committed
feat: integrate observability into main eoapi chart
1 parent 8b575b7 commit d727a48

20 files changed

+1814
-579
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4444

4545
### Changed
4646

47-
- Excluded renovate.json from CHANGELOG.md edits [#301](https://github.com/developmentseed/eoapi-k8s/pull/301)
47+
- Refactores eoapi-support into core eoapi chart [#262](https://github.com/developmentseed/eoapi-k8s/pull/262)
48+
4849

4950
## [0.7.8] - 2025-09-10
5051

charts/eoapi-support/.gitignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

charts/eoapi-support/.helmignore

Lines changed: 0 additions & 30 deletions
This file was deleted.

charts/eoapi-support/Chart.yaml

Lines changed: 0 additions & 33 deletions
This file was deleted.

charts/eoapi-support/README.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

charts/eoapi-support/values.yaml

Lines changed: 0 additions & 178 deletions
This file was deleted.

charts/eoapi/Chart.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,27 @@ dependencies:
6161
version: 1.17.8
6262
repository: https://knative.github.io/operator
6363
condition: knative.enabled
64+
65+
# Optional monitoring components for metrics collection and autoscaling
66+
# These are disabled by default to keep deployments lightweight
67+
# Enable via: monitoring.prometheus.enabled=true, monitoring.metricsServer.enabled=true
68+
- name: metrics-server
69+
version: 7.4.12
70+
repository: https://charts.bitnami.com/bitnami
71+
condition: monitoring.metricsServer.enabled
72+
73+
- name: prometheus
74+
version: 27.42.0
75+
repository: https://prometheus-community.github.io/helm-charts
76+
condition: monitoring.prometheus.enabled
77+
78+
- name: prometheus-adapter
79+
version: 5.2.0
80+
repository: https://prometheus-community.github.io/helm-charts
81+
condition: monitoring.prometheusAdapter.enabled
82+
83+
# Observability components - Grafana dashboards and visualization
84+
- name: grafana
85+
version: 10.1.2
86+
repository: https://grafana.github.io/helm-charts
87+
condition: observability.grafana.enabled

charts/eoapi/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ A Helm chart for deploying Earth Observation APIs with integrated STAC, raster,
1414
- Flexible database configuration
1515
- Real-time PostgreSQL notifications for STAC item changes
1616
- Unified ingress system
17+
- Autoscaling
18+
- Integrated observability (Prometheus & Grafana)
1719

1820
## TL;DR
1921

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
{{/*
2+
Common monitoring configurations to avoid duplication across values files
3+
*/}}
4+
5+
{{/*
6+
Basic monitoring stack configuration
7+
*/}}
8+
{{- define "eoapi.monitoring.basic" -}}
9+
metricsServer:
10+
enabled: true
11+
apiService:
12+
create: true
13+
prometheus:
14+
enabled: true
15+
alertmanager:
16+
enabled: false
17+
prometheus-pushgateway:
18+
enabled: false
19+
kube-state-metrics:
20+
enabled: true
21+
prometheus-node-exporter:
22+
enabled: true
23+
resources: {{- include "eoapi.resources.small" . | nindent 6 }}
24+
server:
25+
service:
26+
type: ClusterIP
27+
{{- end -}}
28+
29+
{{/*
30+
Production monitoring with persistence
31+
*/}}
32+
{{- define "eoapi.monitoring.production" -}}
33+
metricsServer:
34+
enabled: true
35+
apiService:
36+
create: true
37+
prometheus:
38+
enabled: true
39+
alertmanager:
40+
enabled: true
41+
prometheus-pushgateway:
42+
enabled: false
43+
kube-state-metrics:
44+
enabled: true
45+
prometheus-node-exporter:
46+
enabled: true
47+
resources: {{- include "eoapi.resources.small" . | nindent 6 }}
48+
server:
49+
service:
50+
type: ClusterIP
51+
persistentVolume:
52+
enabled: true
53+
size: 10Gi
54+
{{- end -}}
55+
56+
{{/*
57+
Testing monitoring with minimal resources
58+
*/}}
59+
{{- define "eoapi.monitoring.testing" -}}
60+
metricsServer:
61+
enabled: true
62+
apiService:
63+
create: true
64+
prometheus:
65+
enabled: true
66+
alertmanager:
67+
enabled: false
68+
prometheus-pushgateway:
69+
enabled: false
70+
kube-state-metrics:
71+
enabled: true
72+
prometheus-node-exporter:
73+
enabled: true
74+
resources: {{- include "eoapi.resources.small" . | nindent 6 }}
75+
server:
76+
service:
77+
type: ClusterIP
78+
persistentVolume:
79+
enabled: false
80+
{{- end -}}

0 commit comments

Comments
 (0)