Skip to content

Commit

Permalink
ParadeDB Support (#1)
Browse files Browse the repository at this point in the history
Signed-off-by: Philippe Noël <[email protected]>
Co-authored-by: Philippe Noël <[email protected]>

ci: AWS EKS LocalStack Tests (#14)

Co-authored-by: Itay Grudev <[email protected]>
Co-authored-by: Itay Grudev <[email protected]>

Updated documentation workflows and cleanup (#18)

Revert "Add postgresql default to tests"

This reverts commit a9f340d.

Add repository_dispatch

Signed-off-by: Philippe Noël <[email protected]>

chore: Configure repository for ParadeDB (#15)

Co-authored-by: Itay Grudev <[email protected]>

chore: Create artifacthub-repo.yml (#20)

Signed-off-by: Philippe Noël <[email protected]>

Put artifacthub-repo.yml in the right location

Bug Fix: Tests (#21)

Renamed chart to `paradedb-cluster` (#22)

Co-authored-by: Philippe Noël <[email protected]>

Rm .DS_Store

Remove extra HTML tag

Signed-off-by: Philippe Noël <[email protected]>

Remove repository_dispatch

Signed-off-by: Philippe Noël <[email protected]>

chore: Rename paradedb-cluster to paradedb (#28)

chore: Try with adding missing -cluster (#33)

chore: Final Cleanup (#34)

chore: Remove PostGIS and Timescale (#35)

Using the default UID/GID 999 from the postgres docker image (#26)

Co-authored-by: Philippe Noël <[email protected]>

chore: Update README and Schema (#37)

Signed-off-by: Philippe Noël <[email protected]>

chore(deps): pin sigstore/cosign-installer action to 4959ce0 (cloudnative-pg#403)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Rm pgvectorscale (#39)

Signed-off-by: Philippe Noël <[email protected]>

feat: Add GitHub Actions Workflow to check for typos (#40)

Signed-off-by: Philippe Noël <[email protected]>
Co-authored-by: Philippe Noël <[email protected]>

chore(deps): update kyverno/action-install-chainsaw action to v0.2.11 (cloudnative-pg#410)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Rename the default database from app to paradedb (#41)

Co-authored-by: Philippe Noël <[email protected]>

docs: Clarify the docs (#42)

Update Depot

Revert "Update Depot"

This reverts commit cb85b81.

feat: Add `pg_cron` and Postgis (#44)

Signed-off-by: Philippe Noël <[email protected]>

chore: Use the new 0.11.0 release (#47)

feat: Enable monitoring via Prometheus and Grafana (rebased) (#48)

Rm extra files

Remove duplicate block in README
  • Loading branch information
itay-grudev authored and philippemnoel committed Jan 1, 2025
1 parent 95a15cc commit 357c46f
Show file tree
Hide file tree
Showing 8 changed files with 149 additions and 3 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/tests-cluster-chainsaw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,29 @@ jobs:
echo "Chart.yaml:"
cat Chart.yaml
# Added by ParadeDB: Authenticate to Docker Hub to avoid rate limits
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}

# Added by ParadeDB: Always pull the latest version of paradedb/paradedb
- name: Set ParadeDB Version to Latest
working-directory: charts/paradedb/
env:
GH_TOKEN: ${{ secrets.GHA_CREATE_RELEASE_PAT }}
run: |
LATEST_TAG=$(curl -s https://api.github.com/repos/paradedb/paradedb/tags | jq -r '.[0].name')
APP_VERSION=${LATEST_TAG#v}
sed -i "s/^[[:space:]]*paradedb: .*/ paradedb: \"$APP_VERSION\"/" values.yaml
sed -i "s/^version: .*/version: ${{ vars.CHART_VERSION_MAJOR }}.${{ vars.CHART_VERSION_MINOR }}.${{ vars.CHART_VERSION_PATCH }}/" Chart.yaml
echo "values.yaml:"
cat values.yaml
echo "----------------------------------------"
echo "Chart.yaml:"
cat Chart.yaml
- name: Setup kind
uses: ./.github/actions/setup-kind

Expand Down
4 changes: 2 additions & 2 deletions charts/paradedb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,15 +210,15 @@ refer to the [CloudNativePG Documentation](https://cloudnative-pg.io/documentat
| cluster.monitoring.customQueries | list | `[]` | Custom Prometheus metrics Will be stored in the ConfigMap |
| cluster.monitoring.customQueriesSecret | list | `[]` | The list of secrets containing the custom queries |
| cluster.monitoring.disableDefaultQueries | bool | `false` | Whether the default queries should be injected. Set it to true if you don't want to inject default queries into the cluster. |
| cluster.monitoring.enabled | bool | `false` | Whether to enable monitoring |
| cluster.monitoring.enabled | bool | `true` | Whether to enable monitoring |
| cluster.monitoring.podMonitor.enabled | bool | `true` | Whether to enable the PodMonitor |
| cluster.monitoring.podMonitor.metricRelabelings | list | `[]` | The list of metric relabelings for the PodMonitor. Applied to samples before ingestion. |
| cluster.monitoring.podMonitor.relabelings | list | `[]` | The list of relabelings for the PodMonitor. Applied to samples before scraping. |
| cluster.monitoring.prometheusRule.enabled | bool | `true` | Whether to enable the PrometheusRule automated alerts |
| cluster.monitoring.prometheusRule.excludeRules | list | `[]` | Exclude specified rules |
| cluster.postgresGID | int | `-1` | The GID of the postgres user inside the image, defaults to 26 |
| cluster.postgresUID | int | `-1` | The UID of the postgres user inside the image, defaults to 26 |
| cluster.postgresql.parameters | object | `{}` | PostgreSQL configuration options (postgresql.conf) |
| cluster.postgresql.parameters | object | `{"cron.database_name":"postgres"}` | PostgreSQL configuration options (postgresql.conf) |
| cluster.postgresql.pg_hba | list | `[]` | PostgreSQL Host Based Authentication rules (lines to be appended to the pg_hba.conf file) |
| cluster.postgresql.pg_ident | list | `[]` | PostgreSQL User Name Maps rules (lines to be appended to the pg_ident.conf file) |
| cluster.postgresql.shared_preload_libraries | list | `[]` | Lists of shared preload libraries to add to the default ones |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: batch/v1
kind: Job
metadata:
name: paradedb-test
status:
succeeded: 1
16 changes: 16 additions & 0 deletions charts/paradedb/test/scheduledbackups/00-minio_cleanup.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: batch/v1
kind: Job
metadata:
name: minio-cleanup
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: minio-cleanup
image: minio/mc
command: ['sh', '-c']
args:
- |
mc alias set myminio https://minio.minio.svc.cluster.local minio minio123
mc rm --recursive --force myminio/mybucket/scheduledbackups
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: scheduledbackups-cluster
status:
readyInstances: 1
---
apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup
metadata:
name: scheduledbackups-cluster-daily-backup
spec:
immediate: true
schedule: "0 0 0 * * *"
method: barmanObjectStore
backupOwnerReference: self
cluster:
name: scheduledbackups-cluster
---
apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup
metadata:
name: scheduledbackups-cluster-weekly-backup
spec:
immediate: true
schedule: "0 0 0 * * 1"
method: barmanObjectStore
backupOwnerReference: self
cluster:
name: scheduledbackups-cluster
---
apiVersion: postgresql.cnpg.io/v1
kind: Backup
spec:
method: barmanObjectStore
cluster:
name: scheduledbackups-cluster
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
type: postgresql
mode: standalone

cluster:
instances: 1
storage:
size: 256Mi

backups:
enabled: true
provider: s3
endpointURL: "https://minio.minio.svc.cluster.local"
endpointCA:
name: kube-root-ca.crt
key: ca.crt
wal:
encryption: ""
data:
encryption: ""
s3:
bucket: "mybucket"
path: "/scheduledbackups/v1"
accessKey: "minio"
secretKey: "minio123"
region: "local"
retentionPolicy: "30d"
scheduledBackups:
- name: daily-backup
schedule: "0 0 0 * * *"
backupOwnerReference: self
method: barmanObjectStore
- name: weekly-backup
schedule: "0 0 0 * * 1"
backupOwnerReference: self
method: barmanObjectStore
27 changes: 27 additions & 0 deletions charts/paradedb/test/scheduledbackups/chainsaw-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: scheduledbackups
spec:
timeouts:
apply: 1s
assert: 1m
cleanup: 1m
steps:
- name: Install a cluster with ScheduledBackups
try:
- script:
content: |
helm upgrade \
--install \
--namespace $NAMESPACE \
--values ./01-scheduledbackups_cluster.yaml \
--wait \
scheduledbackups ../../
- assert:
file: ./01-scheduledbackups_cluster-assert.yaml
- name: Cleanup
try:
- script:
content: |
helm uninstall --namespace $NAMESPACE scheduledbackups
4 changes: 3 additions & 1 deletion charts/paradedb/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,9 @@ cluster:

postgresql:
# -- PostgreSQL configuration options (postgresql.conf)
parameters: {}
parameters:
# Required by pg_cron
cron.database_name: postgres
# max_connections: 300
# -- Quorum-based Synchronous Replication
synchronous: {}
Expand Down

0 comments on commit 357c46f

Please sign in to comment.