Skip to content

Commit 99423a1

Browse files
committed
merge
2 parents b7ded2f + 6d1c07f commit 99423a1

65 files changed

Lines changed: 2286 additions & 1238 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ PG2_USER=postgres
4242
PG2_PASSWORD=postgres
4343
PG2_DATABASE=postgres
4444

45+
# Client certificate (mutual TLS) auth test, paths relative to repo root
46+
PG_MTLS_ROOT_CA_PATH=volumes/pg-tls/server.crt
47+
PG_MTLS_CLIENT_CERT_PATH=volumes/pg-tls/client.crt
48+
PG_MTLS_CLIENT_KEY_PATH=volumes/pg-tls/client.key
49+
4550
PEERDB_CATALOG_HOST=host.docker.internal
4651
PEERDB_CATALOG_PORT=9901
4752
PEERDB_CATALOG_USER=postgres
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Bug report
2+
description: Report a problem with PeerDB
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to file a bug report! Please fill out the fields below so we can reproduce and triage the issue.
10+
11+
- type: textarea
12+
id: description
13+
attributes:
14+
label: Description
15+
description: A clear and concise description of what the bug is, including the expected behavior and what actually happened.
16+
placeholder: When I run a CDC mirror to ..., I expected ... but instead ...
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: steps_to_reproduce
22+
attributes:
23+
label: Steps to reproduce
24+
description: Step-by-step instructions to reproduce the behavior.
25+
placeholder: |
26+
1. Create a peer with ...
27+
2. Create a mirror with ...
28+
3. Observe ...
29+
validations:
30+
required: true
31+
32+
- type: input
33+
id: version
34+
attributes:
35+
label: PeerDB version
36+
description: The PeerDB version (or Docker image tag / commit SHA) you are running.
37+
placeholder: e.g. v0.30.0 or stable-dev
38+
validations:
39+
required: true
40+
41+
- type: dropdown
42+
id: source_connector
43+
attributes:
44+
label: Source connector
45+
description: If this issue relates to a source connector, select it here. Leave blank if not applicable.
46+
options:
47+
- Postgres
48+
- MySQL
49+
- MongoDB
50+
- BigQuery
51+
- Other
52+
validations:
53+
required: false
54+
55+
- type: markdown
56+
attributes:
57+
value: |
58+
### ⚠️ Deprecated destination connectors
59+
60+
The following destination connectors are **deprecated**: **Snowflake**, **BigQuery**, **ElasticSearch**, **Kafka**, **Redpanda**, **Confluent**, **Azure Event Hubs**, **Google Pub/Sub**, and **S3**.
61+
62+
These destinations are no longer actively maintained, but remain functional. Bugs affecting only these destinations are unlikely to be prioritized. Note: BigQuery is deprecated **only as a destination** — it remains a supported source. See the [deprecated connectors documentation](https://github.com/PeerDB-io/peerdb/blob/main/docs/deprecated-connectors.md) for details and migration guidance.
63+
64+
- type: dropdown
65+
id: destination_connector
66+
attributes:
67+
label: Destination connector
68+
description: If this issue relates to a destination connector, select it here (see the deprecation notice above). Leave blank if not applicable.
69+
options:
70+
- ClickHouse
71+
- ClickHouse Cloud
72+
- Postgres
73+
- S3
74+
- Snowflake
75+
- BigQuery
76+
- ElasticSearch
77+
- Kafka
78+
- Redpanda
79+
- Confluent
80+
- Azure Event Hubs
81+
- Google Pub/Sub
82+
- Other
83+
validations:
84+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Feature request
2+
description: Suggest a feature or improvement for PeerDB
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for suggesting an improvement! Please describe the problem you are trying to solve and what you would like to happen.
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: Problem / motivation
15+
description: What problem are you trying to solve, and what is the use case?
16+
placeholder: When replicating ..., I need ... but currently ...
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: proposal
22+
attributes:
23+
label: Proposed solution
24+
description: Describe what you would like to happen.
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: alternatives
30+
attributes:
31+
label: Alternatives considered
32+
description: Any alternative solutions or workarounds you have considered.
33+
validations:
34+
required: false
35+
36+
- type: dropdown
37+
id: source_connector
38+
attributes:
39+
label: Source connector
40+
description: If this request relates to a source connector, select it here. Leave blank if not applicable.
41+
options:
42+
- Postgres
43+
- MySQL
44+
- MongoDB
45+
- BigQuery
46+
- Other
47+
validations:
48+
required: false
49+
50+
- type: markdown
51+
attributes:
52+
value: |
53+
### ⚠️ Deprecated destination connectors
54+
55+
The following destination connectors are **deprecated** and no longer actively maintained: **Snowflake**, **BigQuery**, **ElasticSearch**, **Kafka**, **Redpanda**, **Confluent**, **Azure Event Hubs**, **Google Pub/Sub**, and **S3**. New features for these destinations are unlikely to be prioritized. Note: BigQuery is deprecated **only as a destination** — it remains a supported source. See the [deprecated connectors documentation](https://github.com/PeerDB-io/peerdb/blob/main/docs/deprecated-connectors.md).
56+
57+
- type: dropdown
58+
id: destination_connector
59+
attributes:
60+
label: Destination connector
61+
description: If this request relates to a destination connector, select it here (see the deprecation notice above). Leave blank if not applicable.
62+
options:
63+
- ClickHouse
64+
- ClickHouse Cloud
65+
- Postgres
66+
- S3
67+
- Snowflake
68+
- BigQuery
69+
- ElasticSearch
70+
- Kafka
71+
- Redpanda
72+
- Confluent
73+
- Azure Event Hubs
74+
- Google Pub/Sub
75+
- Other
76+
validations:
77+
required: false

.github/labeler.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Configuration for actions/labeler@v5.
2+
# Applies the `deprecated` label to PRs that touch deprecated destination connectors:
3+
# Snowflake, BigQuery, ElasticSearch, Kafka (incl. Confluent/Redpanda), Azure Event Hubs, Google Pub/Sub, S3.
4+
# ClickHouse and Postgres (the actively-maintained destinations) are intentionally excluded.
5+
deprecated:
6+
- changed-files:
7+
- any-glob-to-any-file:
8+
# Destination-only connectors — the whole connector is deprecated.
9+
- flow/connectors/snowflake/**
10+
- flow/connectors/elasticsearch/**
11+
- flow/connectors/eventhub/**
12+
- flow/connectors/kafka/**
13+
- flow/connectors/pubsub/**
14+
- flow/connectors/s3/**
15+
# End-to-end tests
16+
- flow/e2e/snowflake*.go
17+
- flow/e2e/elasticsearch*.go
18+
- flow/e2e/eventhub*.go
19+
- flow/e2e/kafka*.go
20+
- flow/e2e/pubsub*.go
21+
- flow/e2e/s3_*.go
22+
# UI peer forms
23+
- ui/components/PeerForms/SnowflakeForm.tsx
24+
- ui/components/PeerForms/ElasticsearchConfigForm.tsx
25+
- ui/components/PeerForms/KafkaConfig.tsx
26+
- ui/components/PeerForms/PubSubConfig.tsx
27+
- ui/components/PeerForms/S3Form.tsx
28+
- ui/components/PeerForms/Eventhubs/**
29+
# UI peer-create helpers. The literal `[` in the [peerType] dynamic
30+
# route segment is escaped as `[[]` so minimatch treats it literally
31+
# rather than as a character class.
32+
- ui/app/peers/create/[[]peerType]/helpers/sf.ts
33+
- ui/app/peers/create/[[]peerType]/helpers/es.ts
34+
- ui/app/peers/create/[[]peerType]/helpers/eh.ts
35+
- ui/app/peers/create/[[]peerType]/helpers/ka.ts
36+
- ui/app/peers/create/[[]peerType]/helpers/ps.ts
37+
- ui/app/peers/create/[[]peerType]/helpers/s3.ts
38+
# BigQuery is dual-role: only its DESTINATION is deprecated, while its
39+
# source is actively maintained and lives in the same directory. List
40+
# the destination-specific files explicitly so BigQuery *source*
41+
# changes (source.go, source_schema.go, qrep_object_pull.go,
42+
# bigquery_source_test.go) are never auto-labeled as deprecated.
43+
# (A `!`-negation / `all-globs-to-all-files` block was tried first but
44+
# silently disables the whole labeler config in actions/labeler v5.)
45+
- flow/connectors/bigquery/bigquery.go
46+
- flow/connectors/bigquery/merge_stmt_generator.go
47+
- flow/connectors/bigquery/qrep.go
48+
- flow/connectors/bigquery/qrep_avro_sync.go
49+
- flow/connectors/bigquery/clustering.go
50+
- flow/e2e/bigquery_test.go
51+
- flow/e2e/bigquery_qrep_test.go
52+
- ui/components/PeerForms/BigqueryConfig.tsx
53+
- ui/app/peers/create/[[]peerType]/helpers/bq.ts

.github/workflows/auto-retry-flaky-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727

2828
- name: Detect flaky test failures
2929
id: detect
30-
uses: anthropics/claude-code-action@a92e7c70a4da9793dc164451d829089dc057a464 # main
30+
uses: anthropics/claude-code-action@f87768c6d25f92ae6efa7175e223ef77d4cbf97f # main
3131
with:
3232
allowed_bots: 'renovate'
3333
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

.github/workflows/claude-code-review-dependencies-updates.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525

2626
- name: Run Claude Code Review
2727
id: claude-review
28-
uses: anthropics/claude-code-action@a92e7c70a4da9793dc164451d829089dc057a464 # v1
28+
uses: anthropics/claude-code-action@f87768c6d25f92ae6efa7175e223ef77d4cbf97f # v1
2929
with:
3030
allowed_bots: 'renovate'
3131
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

.github/workflows/claude-code-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828

2929
- name: Run Claude Code Review
3030
id: claude-review
31-
uses: anthropics/claude-code-action@a92e7c70a4da9793dc164451d829089dc057a464 # v1
31+
uses: anthropics/claude-code-action@f87768c6d25f92ae6efa7175e223ef77d4cbf97f # v1
3232
with:
3333
allowed_bots: 'renovate'
3434
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

.github/workflows/claude.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040

4141
- name: Run Claude Code
4242
id: claude
43-
uses: anthropics/claude-code-action@a92e7c70a4da9793dc164451d829089dc057a464 # v1
43+
uses: anthropics/claude-code-action@f87768c6d25f92ae6efa7175e223ef77d4cbf97f # v1
4444
with:
4545
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
4646

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ jobs:
4747
4848
# Initializes the CodeQL tools for scanning.
4949
- name: Initialize CodeQL
50-
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
50+
uses: github/codeql-action/init@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4
5151
with:
5252
languages: ${{ matrix.language }}
5353
build-mode: ${{ matrix.build-mode }}
5454

5555
- name: Perform CodeQL Analysis
56-
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
56+
uses: github/codeql-action/analyze@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4
5757
with:
5858
category: "/language:${{matrix.language}}"

0 commit comments

Comments
 (0)