Kubernetes helm chart for deploying the PostgresAI monitoring stack, including PGWatch, VictoriaMetrics, Grafana, and automated reporting.
# Install with default values
helm install postgres-ai-monitoring ./postgres_ai_helm
# Install with custom values
helm install postgres-ai-monitoring ./postgres_ai_helm -f custom-values.yaml
# Upgrade existing installation
helm upgrade postgres-ai-monitoring ./postgres_ai_helm- INSTALLATION_GUIDE.md: Complete installation and configuration guide
- RELEASE.md: Release process and versioning guide
- values.yaml: Default configuration values
This helm chart deploys the following components:
- PGWatch: Monitors Postgres databases and collects metrics
- VictoriaMetrics: Time-series database for storing metrics
- Grafana: Visualization and dashboards
- Node exporter: System-level metrics
- cAdvisor: Container metrics
- Reporter: Automated health check reports
The chart can be customized via values.yaml. Key configuration options:
# Enable/disable components
grafana:
enabled: true
victoriametrics:
enabled: true
# Configure database targets
pgwatch:
databases:
- host: postgres.example.com
port: 5432
dbname: mydb
# Resource limits
resources:
limits:
cpu: 2000m
memory: 4GiSee values.yaml for all available options.
- Kubernetes 1.19+
- Helm 3.0+
- PersistentVolume provisioner (for VictoriaMetrics and Grafana storage)
Download a specific release from GitLab releases:
# Download the chart (replace <VERSION> with the desired release, e.g. 0.14.0)
curl -LO https://gitlab.com/postgres-ai/postgresai/-/releases/helm-v<VERSION>/downloads/postgres-ai-monitoring-chart.tgz
# Install
helm install postgres-ai-monitoring postgres-ai-monitoring-chart.tgz# Test release script logic (semver validation, sed injection, git operations)
./test-release-logic.sh
# Full helm chart validation (dependencies, linting, templates, packaging)
./test-release.sh
# Or test individual components:
# Update dependencies
helm dependency update
# Lint the chart
helm lint .
# Render templates
helm template test-release .
# Dry-run installation
helm install test-release . --dry-run --debugTo create a new release of the helm chart, see RELEASE.md.
Quick release:
./release.sh <VERSION> # e.g.: ./release.sh 0.14.0This will automatically:
- Update Chart.yaml
- Create a git tag
- Trigger the release workflow
- Package and publish the chart
The chart includes GitLab CI/CD pipelines for:
- validate-helm-chart: Runs
test-release-logic.shunit/integration tests then validates chart on merge requests - release-helm-chart: Automated releases when tags are pushed
- Issues: https://gitlab.com/postgres-ai/postgresai/-/issues
- Documentation: https://postgres.ai/docs
- Community: https://postgres.ai/community
See LICENSE file for details.