Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
bf92957
Merge branch 'main' into 'enterprise'
aarthy-dk Jan 9, 2026
46d0c11
feat: add standard generation set
diogodk Jan 7, 2026
85be70f
Merge branch 'TG-967' into 'enterprise'
Jan 9, 2026
b2ecbc9
misc: move sql templates to yaml files
diogodk Jan 8, 2026
a2a47d0
fix(generation set): add dupe rows to standard
aarthy-dk Jan 9, 2026
e468f95
Merge branch 'TG-968' into 'enterprise'
Jan 9, 2026
4c92f14
feat(monitors): add volume trend and metric trend tests
aarthy-dk Dec 19, 2025
20d0c77
feat(monitors): add test threshold prediction
aarthy-dk Dec 31, 2025
4784f3e
Merge branch 'aarthy/monitor-tests' into 'enterprise'
Jan 12, 2026
ecbd0ea
feat(monitor): use the new table component for the monitor list
luis-dk Sep 10, 2025
9b4f797
feat: add table monitor dialog and enable monitor suite
luis-dk Oct 23, 2025
6d8b7b7
Merge branch 'table-monitor-visualizations' into 'enterprise'
Jan 13, 2026
70ab739
fix(monitors): miscellaneous fixes and enhancements
aarthy-dk Jan 13, 2026
75a0a16
Merge branch 'aarthy/monitors' into 'enterprise'
Jan 14, 2026
27c5c6c
feat(monitors): display volume trend chart
luis-dk Jan 15, 2026
25dd69e
Merge branch 'monitor-row-count' into 'enterprise'
Jan 15, 2026
caa52cd
feat(monitors): display schema anomalies by table
aarthy-dk Jan 15, 2026
0aa5417
Merge branch 'aarthy/schema-drift' into 'enterprise'
Jan 19, 2026
6ee5df8
refactor(schedules): reuse logic to sample cron expressions
luis-dk Jan 20, 2026
66be788
component(cron-input): add modes option
aarthy-dk Jan 20, 2026
aea7e71
fix(css): make toolbar styles consistent
aarthy-dk Jan 20, 2026
b9765e1
refactor(monitors): add job key for monitor suites
aarthy-dk Jan 20, 2026
3da24e6
feat(monitors): add settings and delete dialogs
aarthy-dk Jan 20, 2026
c3d3ced
fix(monitors): remove monitor schedules from test run schedules dialog
aarthy-dk Jan 20, 2026
46470c3
Merge branch 'aarthy/monitor-config' into 'enterprise'
Jan 20, 2026
a10a6b3
fix(monitors): bugs in cli, models and prediction
aarthy-dk Jan 21, 2026
c2584e8
feat(monitors): use SARIMAX to support excluding weekends and holidays
aarthy-dk Jan 21, 2026
cc8f4b6
Merge branch 'aarthy/sarimax' into 'enterprise'
Jan 21, 2026
cfd3b92
fix(monitors): update holiday codes and timezones
aarthy-dk Jan 21, 2026
8bdd594
Merge branch 'aarthy/fixes' into 'enterprise'
Jan 21, 2026
5cad913
feat(table groups): add standard and monitor suite wizard steps
luis-dk Jan 21, 2026
ab25af6
feat(connections): add standard and monitor suite steps to wizard
luis-dk Jan 21, 2026
26cc8e2
misc: work around Streamlit loading of v2 components
luis-dk Jan 22, 2026
1e87866
refactor(wizards): update summary step
aarthy-dk Jan 22, 2026
0bf92a0
Merge branch 'test-suite-step' into 'enterprise'
Jan 23, 2026
4b78b96
feat(monitors): display prediction in volume trend chart
luis-dk Jan 23, 2026
26e3081
fix(charts): offset schema chart lines when too short
luis-dk Jan 23, 2026
d0c12d0
misc(monitors): limit shown prediction points to <= lookback
luis-dk Jan 23, 2026
f2f81cf
misc: check changes in styling after st upgrade
luis-dk Jan 23, 2026
fafc74d
Merge branch 'volume-trend-predictions' into 'enterprise'
Jan 25, 2026
e87b017
fix(security): Fix Docker Scout vulnerabilities
rboni-dk Jan 22, 2026
da2ede1
Merge branch 'tg-971' into 'enterprise'
Jan 27, 2026
087befe
refactor(autogeneration): generate volume and schema tests without pr…
aarthy-dk Jan 23, 2026
92b5195
Merge branch 'aarthy/autogeneration' into 'enterprise'
Jan 27, 2026
edf41c1
feat(monitors): enable notification settings for monitors
luis-dk Jan 27, 2026
9d8a393
Merge branch 'monitor-notifications' into 'enterprise'
Jan 27, 2026
a1df201
feat(freshness): add new test - regenerate monitors when needed
aarthy-dk Jan 23, 2026
2208369
Merge branch 'aarthy/freshness' into 'enterprise'
Jan 28, 2026
b9dc4f2
refactor(table groups): display progress in creation wizard
luis-dk Jan 28, 2026
ea892f4
Merge branch 'wizard-progress-indicator' into 'enterprise'
Jan 29, 2026
de34c5e
refactor(notifications): reset form only on edit
luis-dk Jan 28, 2026
ae09a53
feat(notifications): warn users of duplicate notification deliveries
luis-dk Jan 28, 2026
ace6f79
refactor(notifications): sort alphabetically based on the scope
luis-dk Jan 28, 2026
ad0e72d
Merge branch 'extra-fixes-2' into 'enterprise'
Jan 29, 2026
12c38d9
feat(monitors): indicate training mode - display tables when no results
aarthy-dk Jan 28, 2026
7ed4b08
Merge branch 'aarthy/learning' into 'enterprise'
Jan 29, 2026
a210134
fix(quick-start): persist the SMTP settings
luis-dk Jan 29, 2026
d043cb5
fix(monitors): filter out undefined items in timestamps list
luis-dk Jan 29, 2026
c29a3f1
fix: parse dates from int or str properly
luis-dk Jan 29, 2026
c1b3cdb
fix(profiling): add missing column to CTE
luis-dk Jan 29, 2026
ac1d0e2
fix(monitors): sort the points to draw the volume chart path
luis-dk Jan 28, 2026
d1c23e8
Merge branch 'qa-fixes-71' into 'enterprise'
Jan 30, 2026
badb908
feat(monitors): configuration for regenerating freshness
aarthy-dk Jan 29, 2026
136db77
fix(monitors): freshness results used for prediction
aarthy-dk Jan 30, 2026
e24c61a
test: fix stuck/failing test on pipeline
aarthy-dk Jan 30, 2026
9e5cd3d
fix(monitors): misc display updates
aarthy-dk Jan 30, 2026
1870492
Merge branch 'aarthy/regeneration' into 'enterprise'
Jan 30, 2026
8cc2b04
feat(quick-start): Adding Monitoring features
rboni-dk Jan 28, 2026
d3f3936
fix(quick-start): update monitor iterations
aarthy-dk Jan 30, 2026
5570cee
feat(quick-start): Improving monitor data as QA feedback
rboni-dk Jan 30, 2026
059ba8f
Merge branch 'qs-monitors' into 'enterprise'
Jan 30, 2026
05897cb
refactor(monitors): open table monitor charts from anomaly tags
luis-dk Jan 30, 2026
91af3f4
refactor(monitors): display markers on volume chart
luis-dk Jan 30, 2026
69970a9
refactor(monitors): expand schema chart markers clickable area
luis-dk Jan 30, 2026
91f04aa
fix: rendering errors in a couple pages
luis-dk Jan 30, 2026
8e818ca
refactor(monitors): visual changes to the table trend charts
luis-dk Jan 30, 2026
648bb3e
Merge branch 'monitor-enhancements-901' into 'enterprise'
Jan 30, 2026
cea61bb
feat(monitors): add Table Monitors dialog + misc fixes
aarthy-dk Jan 30, 2026
37719ec
Merge branch 'aarthy/monitor-fixes' into 'enterprise'
Feb 2, 2026
753a7cc
feat(charts): Replacing the bitnami charts and images
rboni-dk Dec 29, 2025
2003708
Merge branch 'moving-out-bitnami' into 'enterprise'
Feb 2, 2026
5441dd6
refactor(monitors): use multi-barchart for schema changes
luis-dk Feb 2, 2026
35c540a
refactor(monitors): allow hiding changes columns
luis-dk Feb 3, 2026
f78c126
refactor(monitors): allow sorting by anomalies count
luis-dk Feb 3, 2026
7a04e44
refactor(monitors): dynamic tick width for trends chart
luis-dk Feb 3, 2026
c80afa0
Merge branch 'more-monitor-changes-3' into 'enterprise'
Feb 3, 2026
8ab8065
refactor(monitors): add legend to table trends charts
luis-dk Feb 3, 2026
a2642db
Merge branch 'monitor-charts-legend' into 'enterprise'
Feb 3, 2026
50319d4
feat(monitors): add metric monitors
aarthy-dk Feb 2, 2026
0a6cd4f
Merge branch 'aarthy/metrics' into 'enterprise'
Feb 3, 2026
e1a3455
feat(monitors): display predicted table freshness events
luis-dk Feb 3, 2026
51cc716
Merge branch 'charts-freshness-predictions' into 'enterprise'
Feb 4, 2026
3283d83
fix: Fix Observability export
rboni-dk Feb 3, 2026
9bbbb6c
Merge branch 'fix-obs-export' into 'enterprise'
Feb 4, 2026
74f0412
fix(monitors): improve tooltips in charts - fix state bug in threshol…
aarthy-dk Feb 3, 2026
a3aa991
Merge branch 'aarthy/monitor-fixes' into 'enterprise'
Feb 4, 2026
b5c75e3
fix(monitors): improve loading and form
aarthy-dk Feb 4, 2026
360f116
Merge branch 'aarthy/claude-docs' into 'enterprise'
Feb 5, 2026
3774dba
feat(monitors): display threshold lines for volume and metric charts
luis-dk Feb 4, 2026
3de5135
Merge branch 'monitoring-lines-tresholds' into 'enterprise'
Feb 5, 2026
d9a22a0
fix(monitors): fix charts height calculation
luis-dk Feb 5, 2026
5076182
Merge branch 'fix-height-calc-error' into 'enterprise'
Feb 6, 2026
fce03aa
fix(monitors): configuration and quick start improvements
aarthy-dk Feb 5, 2026
111fdca
fix(ui): improve loading performance
aarthy-dk Feb 6, 2026
7318a53
fix(monitors): update form states after saving
aarthy-dk Feb 6, 2026
a5f6203
fix(ui): lazy load plugin components
luis-dk Feb 6, 2026
4aa0662
Merge branch 'aarthy/performance' into 'enterprise'
Feb 6, 2026
fb96c0b
Merge branch 'lazy-loaded-plugins' into 'enterprise'
Feb 6, 2026
b975f6f
feat(ui): add starting at/on offset to cron schedule editor
luis-dk Feb 6, 2026
77b6ba3
Merge branch 'cron-starting-point' into 'enterprise'
Feb 6, 2026
ec9c26d
fix(test-types): update text strings to match docs
aarthy-dk Feb 6, 2026
904767c
fix(monitors): misc style and quick start updates
aarthy-dk Feb 6, 2026
af92632
Merge branch 'aarthy/text-fixes' into 'enterprise'
Feb 9, 2026
74a3655
fix(monitors): conditionally display ticks decimals
luis-dk Feb 9, 2026
751236b
fix(monitors): table trend chart x axis ticks overlap
luis-dk Feb 9, 2026
563bb16
Merge branch 'monitor-fixes-10' into 'enterprise'
Feb 10, 2026
883016f
fix(freshness): numeric overflow errors
aarthy-dk Feb 9, 2026
50955af
fix(test result): history graph broken when NaN values present
aarthy-dk Feb 9, 2026
50666bb
fix(emails): bugs in test run and monitor run templates
aarthy-dk Feb 9, 2026
beb6749
Merge branch 'aarthy/redshift-freshness' into 'enterprise'
Feb 10, 2026
507c4bb
fix: add email source to mixpanel events
aarthy-dk Feb 10, 2026
d2ac510
fix(monitors): handle errored monitors
aarthy-dk Feb 11, 2026
5270171
Merge branch 'aarthy/fixes' into 'enterprise'
Feb 12, 2026
48ad053
fix(tests): fix 28 broken unit tests and restructure test suite
rboni-dk Feb 10, 2026
6c731a7
test: add unit tests for utils, custom_types, clean_sql, date_service
rboni-dk Feb 11, 2026
9356e32
test: fill coverage gaps in existing unit tests
rboni-dk Feb 12, 2026
b930b69
Merge branch 'feat/TG-982-unit-test-improvements' into 'enterprise'
Feb 12, 2026
80d40e4
fix(monitors): handle dropped and re-added tables
aarthy-dk Feb 13, 2026
b2f0381
fix(ui): misc changes to hygiene issues and test results
aarthy-dk Feb 13, 2026
09f3319
fix(monitors): widen prediction thresholds
aarthy-dk Feb 13, 2026
75533ee
feat(monitors): allow filtering by anomaly types
aarthy-dk Feb 15, 2026
60ff579
feat(monitors): add toggle to show more history in dialog
aarthy-dk Feb 15, 2026
74f6a21
fix(docs): update help links on all pages
aarthy-dk Feb 16, 2026
efd188b
Merge branch 'aarthy/fixes' into 'enterprise'
Feb 16, 2026
9bc11bc
fix(monitors): reset pagination on filtering
aarthy-dk Feb 16, 2026
43e8156
fix(monitors): error on empty state
aarthy-dk Feb 17, 2026
3c27372
Merge branch 'aarthy/fixes' into 'enterprise'
Feb 17, 2026
74b4da1
fix(data-catalog): display new table/column names in bold
aarthy-dk Feb 19, 2026
8c707a0
feat(monitors): add deep-link to table trends dialog
aarthy-dk Feb 19, 2026
3add174
fix(monitors): tooltip position in dialog
aarthy-dk Feb 19, 2026
a501c4f
fix(tests): NULL condition for tolerances applies to 0 values
aarthy-dk Feb 20, 2026
92e065d
fix(monitors): match anomaly summary in email with UI
aarthy-dk Feb 22, 2026
7b98b84
feat(monitors): freshness monitor with gap-based thresholds and sched…
aarthy-dk Feb 18, 2026
225d268
fix(quick-start): update data for freshness anomaly
aarthy-dk Feb 23, 2026
064ad0c
fix(monitors): constrain volume lower bound for cumulative tables
aarthy-dk Feb 24, 2026
4a3b798
test(monitors): add scenarios for freshness monitor
aarthy-dk Feb 24, 2026
388129f
Merge branch 'aarthy/freshness' into 'enterprise'
Feb 24, 2026
b316116
Revert "fix(monitors): constrain volume lower bound for cumulative ta…
aarthy-dk Feb 24, 2026
5118316
fix(monitors): constrain prediction for volume monitor to be non-nega…
aarthy-dk Feb 24, 2026
67a1afb
fix(monitors): prevent overconfident prediction bounds
aarthy-dk Feb 24, 2026
47e4fe3
Merge branch 'aarthy/monitor' into 'enterprise'
Feb 24, 2026
075e557
fix: upgrade script missing schema
aarthy-dk Feb 24, 2026
b62ef0b
Merge branch 'aarthy/upgrade' into 'enterprise'
Feb 24, 2026
fe150aa
release: 4.39.2 -> 5.0.1
aarthy-dk Feb 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# DataOps Data Quality TestGen
![apache 2.0 license Badge](https://img.shields.io/badge/License%20-%20Apache%202.0%20-%20blue) ![PRs Badge](https://img.shields.io/badge/PRs%20-%20Welcome%20-%20green) [![Latest Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2Ftags%2F&query=results%5B0%5D.name&label=latest%20version&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Docker Pulls](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2F&query=pull_count&style=flat&label=docker%20pulls&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Documentation](https://img.shields.io/badge/docs-On%20datakitchen.io-06A04A?style=flat)](https://docs.datakitchen.io/articles/#!dataops-testgen-help/dataops-testgen-help) [![Static Badge](https://img.shields.io/badge/Slack-Join%20Discussion-blue?style=flat&logo=slack)](https://data-observability-slack.datakitchen.io/join)
![apache 2.0 license Badge](https://img.shields.io/badge/License%20-%20Apache%202.0%20-%20blue) ![PRs Badge](https://img.shields.io/badge/PRs%20-%20Welcome%20-%20green) [![Latest Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2Ftags%2F&query=results%5B0%5D.name&label=latest%20version&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Docker Pulls](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhub.docker.com%2Fv2%2Frepositories%2Fdatakitchen%2Fdataops-testgen%2F&query=pull_count&style=flat&label=docker%20pulls&color=06A04A)](https://hub.docker.com/r/datakitchen/dataops-testgen) [![Documentation](https://img.shields.io/badge/docs-On%20datakitchen.io-06A04A?style=flat)](https://docs.datakitchen.io/articles/dataops-testgen-help/dataops-testgen-help) [![Static Badge](https://img.shields.io/badge/Slack-Join%20Discussion-blue?style=flat&logo=slack)](https://data-observability-slack.datakitchen.io/join)

*<p style="text-align: center;">DataOps Data Quality TestGen, or "TestGen" for short, can help you find data issues so you can alert your users and notify your suppliers. It does this by delivering simple, fast data quality test generation and execution by data profiling, new dataset screening and hygiene review, algorithmic generation of data quality validation tests, ongoing production testing of new data refreshes, and continuous anomaly monitoring of datasets. TestGen is part of DataKitchen's Open Source Data Observability.</p>*

Expand Down Expand Up @@ -110,7 +110,7 @@ Within the virtual environment, install the TestGen package with pip.
pip install dataops-testgen
```

Verify that the [_testgen_ command line](https://docs.datakitchen.io/articles/#!dataops-testgen-help/testgen-commands-and-details) works.
Verify that the [_testgen_ command line](https://docs.datakitchen.io/articles/dataops-testgen-help/testgen-commands-and-details) works.
```shell
testgen --help
```
Expand Down Expand Up @@ -187,7 +187,7 @@ python3 dk-installer.py tg delete-demo

### Upgrade to latest version

New releases of TestGen are announced on the `#releases` channel on [Data Observability Slack](https://data-observability-slack.datakitchen.io/join), and release notes can be found on the [DataKitchen documentation portal](https://docs.datakitchen.io/articles/#!dataops-testgen-help/testgen-release-notes/a/h1_1691719522). Use the following command to upgrade to the latest released version.
New releases of TestGen are announced on the `#releases` channel on [Data Observability Slack](https://data-observability-slack.datakitchen.io/join), and release notes can be found on the [DataKitchen documentation portal](https://docs.datakitchen.io/articles/dataops-testgen-help/testgen-release-notes/a/h1_1691719522). Use the following command to upgrade to the latest released version.

```shell
python3 dk-installer.py tg upgrade
Expand All @@ -203,7 +203,7 @@ python3 dk-installer.py tg delete

### Access the _testgen_ CLI

The [_testgen_ command line](https://docs.datakitchen.io/articles/#!dataops-testgen-help/testgen-commands-and-details) can be accessed within the running container.
The [_testgen_ command line](https://docs.datakitchen.io/articles/dataops-testgen-help/testgen-commands-and-details) can be accessed within the running container.

```shell
docker compose exec engine bash
Expand Down Expand Up @@ -232,7 +232,7 @@ We recommend you start by going through the [Data Observability Overview Demo](h
For support requests, [join the Data Observability Slack](https://data-observability-slack.datakitchen.io/join) 👋 and post on the `#support` channel.

### Connect to your database
Follow [these instructions](https://docs.datakitchen.io/articles/#!dataops-testgen-help/connect-your-database) to improve the quality of data in your database.
Follow [these instructions](https://docs.datakitchen.io/articles/dataops-testgen-help/connect-your-database) to improve the quality of data in your database.

### Community
Talk and learn with other data practitioners who are building with DataKitchen. Share knowledge, get help, and contribute to our open-source project.
Expand Down
21 changes: 17 additions & 4 deletions deploy/charts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,14 @@ set can be easily used on the first install and future upgrades.

The following configuration is recommended for experimental installations, but
you're free to adjust it for your needs. The next installation steps assumes
that a file named tg-values.yaml exists with this configuration.
that a file named `tg-values.yaml` exists with this configuration.

```yaml
image:

# DataOps TestGen version to be installed / upgraded
tag: v4

testgen:

# Password that will be assigned to the 'admin' user during the database preparation
Expand All @@ -54,10 +59,18 @@ testgen:
# Whether to run the SSL certificate verifications when connecting to DataOps Observability
observabilityVerifySsl: false

image:
# (Optional) E-mail and SMTP configurations for enabling the email notifications
emailNotifications:

# DataOps TestGen version to be installed / upgraded
tag: v4.0
# The email address that notifications will be sent from
fromAddress:

# SMTP configuration for sending emails
smtp:
endpoint:
port:
username:
password:
```

# Installing
Expand Down
2 changes: 1 addition & 1 deletion deploy/charts/testgen-app/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.0.1
version: 1.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
12 changes: 12 additions & 0 deletions deploy/charts/testgen-app/templates/_environment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,18 @@
value: {{ .Values.testgen.trustTargetDatabaseCertificate | ternary "yes" "no" | quote }}
- name: TG_EXPORT_TO_OBSERVABILITY_VERIFY_SSL
value: {{ .Values.testgen.observabilityVerifySsl | ternary "yes" "no" | quote }}
{{- with .Values.testgen.emailNotifications }}
- name: TG_SMTP_ENDPOINT
value: {{ .smtp.endpoint | quote }}
- name: TG_SMTP_PORT
value: {{ .smtp.port | quote }}
- name: TG_SMTP_USERNAME
value: {{ .smtp.username | quote }}
- name: TG_SMTP_PASSWORD
value: {{ .smtp.password | quote }}
- name: TG_EMAIL_FROM_ADDRESS
value: {{ .fromAddress | quote }}
{{- end -}}
{{- end -}}

{{- define "testgen.hookEnvironment" -}}
Expand Down
11 changes: 9 additions & 2 deletions deploy/charts/testgen-app/values.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Default values for testgen.

testgen:
databaseHost: "postgresql"
databaseHost: "postgres"
databaseName: "datakitchen"
databaseSchema: "tgapp"
databaseUser: "postgres"
databasePasswordSecret:
name: "postgresql"
name: "services-secret"
key: "postgres-password"
authSecrets:
create: true
Expand All @@ -15,6 +15,13 @@ testgen:
uiPassword:
trustTargetDatabaseCertificate: false
observabilityVerifySsl: true
emailNotifications:
fromAddress:
smtp:
endpoint:
port:
username:
password:
labels:

cliHooks:
Expand Down
6 changes: 0 additions & 6 deletions deploy/charts/testgen-services/Chart.lock

This file was deleted.

9 changes: 2 additions & 7 deletions deploy/charts/testgen-services/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,13 @@ description: A Helm chart for Kubernetes
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

dependencies:
- name: postgresql
version: 16.3.0
repository: https://charts.bitnami.com/bitnami

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.1
version: 1.0.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"
appVersion: "4"
62 changes: 62 additions & 0 deletions deploy/charts/testgen-services/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "testgen-services.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 "testgen-services.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 "testgen-services.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Common labels
*/}}
{{- define "testgen-services.labels" -}}
helm.sh/chart: {{ include "testgen-services.chart" . }}
{{ include "testgen-services.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "testgen-services.selectorLabels" -}}
app.kubernetes.io/name: {{ include "testgen-services.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "testgen-services.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "testgen-services.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
9 changes: 9 additions & 0 deletions deploy/charts/testgen-services/templates/secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{- if .Values.secret.create }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Values.secret.name }}
type: Opaque
data:
{{ .Values.postgres.auth.passwordKey }}: {{ randAlphaNum 24 | b64enc }}
{{- end }}
15 changes: 15 additions & 0 deletions deploy/charts/testgen-services/templates/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "testgen-services.fullname" . }}
labels:
{{- include "testgen-services.labels" . | nindent 4 }}
spec:
type: {{ .Values.postgres.service.type }}
ports:
- port: {{ .Values.postgres.service.port }}
targetPort: 5432
protocol: TCP
name: postgres
selector:
{{- include "testgen-services.selectorLabels" . | nindent 4 }}
13 changes: 13 additions & 0 deletions deploy/charts/testgen-services/templates/serviceaccount.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "testgen-services.serviceAccountName" . }}
labels:
{{- include "testgen-services.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.serviceAccount.automount }}
{{- end }}
75 changes: 75 additions & 0 deletions deploy/charts/testgen-services/templates/statefulset.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ include "testgen-services.fullname" . }}
labels:
{{- include "testgen-services.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.postgres.replicaCount }}
selector:
matchLabels:
{{- include "testgen-services.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "testgen-services.labels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.postgres.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "testgen-services.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}-postgres
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.postgres.image.repository }}:{{ .Values.postgres.image.tag }}"
imagePullPolicy: {{ .Values.postgres.image.pullPolicy }}
ports:
- containerPort: 5432
name: postgres
env:
- name: POSTGRES_USER
value: {{ .Values.postgres.auth.user }}
- name: POSTGRES_DB
value: {{ .Values.postgres.auth.database }}
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.secret.name }}
key: {{ .Values.postgres.auth.passwordKey }}
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
readinessProbe:
exec:
command: ["pg_isready", "-U", "{{ .Values.postgres.auth.user }}"]
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
exec:
command: ["pg_isready", "-U", "{{ .Values.postgres.auth.user }}"]
initialDelaySeconds: 30
periodSeconds: 10
resources:
{{- toYaml .Values.postgres.resources | nindent 12 }}
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: {{ .Values.postgres.storage.size }}
{{- if .Values.postgres.storage.storageClass }}
storageClassName: "{{ .Values.postgres.storage.storageClass }}"
{{- end }}
Loading