generated from cloudnative-pg/cnpg-template
-
Notifications
You must be signed in to change notification settings - Fork 19
Add TimescaleDB PostgreSQL extension #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
2899dfd
feat: add `pgvector` extension and project scaffolding (#3)
NiccoloFei 85e3abb
feat: introduce PostGIS extension container image (#5)
NiccoloFei 9e789ab
chore: improve Makefile (#12)
mnencia 6171ab5
feat: add TimescaleDB to workflow options and update filters
shusaan e42d335
fix: remove redundant postgresql section in README.md
shusaan dc1e2b2
chore: all the GitHub actions update into one PR (#33)
sxd 4d5f6b5
chore(deps): update all github action (#34)
renovate[bot] fda41c0
chore(deps): update actions/checkout action to v6 (#35)
renovate[bot] 5802cc4
feat: add `pgaudit` extension (#1)
shusaan c33b825
docs: licensing and governance policies (#38)
gbartolini 008a6d3
feat: add `pgmajor` and `os` labels and annotations (#43)
NiccoloFei e35b464
ci: properly handle an empty strategy matrix (#44)
NiccoloFei 921d1c9
ci: automate the update of OS libraries (#45)
GabriFedi97 b8befcf
chore(deps): update actions/checkout action to v6 (#50)
renovate[bot] 57433fb
chore(deps): update all github action (#37)
renovate[bot] 0c06c57
chore(deps): update peter-evans/create-pull-request action to v8 (#52)
renovate[bot] f66c935
docs: add image labels and annotations documentation (#46)
mnencia 58c6ff4
ci: allow creating PRs for OS libraries changes (#51)
NiccoloFei 134f6a1
chore(github): implement 'New Extension Proposal' issue template (#48)
gbartolini 5f29601
chore: update postgis OS libraries (#57)
cnpg-bot c5da619
add timescaledb in README
shusaan 311f099
feat: automate generation of chainsaw testing values (#56)
NiccoloFei a0d99ad
fix: restore *shared to postgis
shusaan c0a7847
feat(timescaledb): switch to Apache 2.0 licensed OSS edition
shusaan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| blank_issues_enabled: true | ||
| - name: Slack chat | ||
| url: https://github.com/cloudnative-pg/cloudnative-pg?tab=readme-ov-file#communications | ||
| about: Please join the slack channel and interact with our community |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,120 @@ | ||
| name: New Extension Proposal | ||
| description: Propose a new PostgreSQL extension to be included in the containers and commit to its maintenance. | ||
| title: "[New Extension]: " | ||
| labels: ["triage", "new-extension"] | ||
| projects: ["cloudnative-pg/postgres-extensions-containers"] | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| Thanks for proposing a new extension for the PostgreSQL Extensions Containers project! | ||
|
|
||
| The submission process requires the proposer to commit to becoming the **Component Owner** and taking on the long-term maintenance of the extension image. Please review the [governance document for the submission process](https://github.com/cloudnative-pg/postgres-extensions-containers?tab=readme-ov-file#submission-process). | ||
|
|
||
| - type: checkboxes | ||
| id: search | ||
| attributes: | ||
| label: Is there an existing issue for this extension request? | ||
| description: Before you submit a request, please **search existing issues** to ensure this extension hasn't already been proposed. | ||
| options: | ||
| - label: I have searched for an existing issue, and could not find a duplicate request. | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: extension-name | ||
| attributes: | ||
| label: Extension Name | ||
| description: What is the official name of the PostgreSQL extension? | ||
| placeholder: ex. pgvector | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: project-url | ||
| attributes: | ||
| label: Project Repository URL | ||
| description: The URL of the main source code repository (e.g., GitHub, GitLab). | ||
| placeholder: ex. https://github.com/pgvector/pgvector | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: website-url | ||
| attributes: | ||
| label: Extension Website URL (Optional) | ||
| description: The URL of the official website or main documentation page. | ||
| placeholder: ex. https://pgvector.io/ | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: textarea | ||
| id: description | ||
| attributes: | ||
| label: Short Description | ||
| description: A brief description of the extension and its primary use case. | ||
| placeholder: ex. The pgvector extension provides vector similarity search capabilities for PostgreSQL. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: license-url | ||
| attributes: | ||
| label: Main LICENSE Link | ||
| description: A direct link to the main license file in the repository (e.g., a link to the raw LICENSE file). | ||
| placeholder: ex. https://github.com/pgvector/pgvector/blob/master/LICENSE | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: license-check | ||
| attributes: | ||
| label: License Compliance | ||
| description: Please confirm the license of the extension complies with the **allowed licenses** for this project. | ||
| options: | ||
| - label: The extension's license (linked above) complies with the list of allowed licenses. | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: dependent-extensions | ||
| attributes: | ||
| label: Known Dependent Extensions | ||
| description: List any other PostgreSQL extensions that MUST be installed before or alongside this extension (e.g., if this extension requires 'plpgsql' or 'postgis' to be present). If none, please state "None". | ||
| placeholder: ex. postgis | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: maintenance-commitment | ||
| attributes: | ||
| label: Component Owner and Maintenance Commitment | ||
| description: By checking this box, you confirm your commitment to the long-term maintenance of the extension image. This includes providing updates for new upstream versions, responding to security issues, and ensuring compatibility with new PostgreSQL/OS versions. | ||
| options: | ||
| - label: I/My organization commit to becoming the Component Owner and maintaining the extension image in the future. | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: additional-notes | ||
| attributes: | ||
| label: Additional Notes (Optional) | ||
| description: Any other relevant information, required dependencies (like OS packages), or context that might be useful for packaging. | ||
| placeholder: ex. This extension requires the 'openssl' library (OS package) to be installed. | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: input | ||
| id: github-handles | ||
| attributes: | ||
| label: GitHub Handles of Component Owners | ||
| description: List the GitHub handles (e.g., `@user1`, `@org/team`) that will be responsible for maintaining the extension and should be added to the `CODEOWNERS` file. | ||
| placeholder: ex. @user1 | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: terms | ||
| attributes: | ||
| label: Code of Conduct | ||
| description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/cloudnative-pg/governance/blob/main/CODE_OF_CONDUCT.md) | ||
| options: | ||
| - label: I agree to follow this project's Code of Conduct | ||
| required: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| name: Build, test and publish extensions | ||
|
|
||
| on: | ||
| push: | ||
| workflow_dispatch: | ||
| inputs: | ||
| extension_name: | ||
| description: "The PostgreSQL extension to build (directory name)" | ||
| required: true | ||
| type: choice | ||
| options: | ||
| - pgvector | ||
| - postgis | ||
| - pgaudit | ||
|
|
||
| defaults: | ||
| run: | ||
| shell: 'bash -Eeuo pipefail -x {0}' | ||
|
|
||
| permissions: {} | ||
|
|
||
| jobs: | ||
| # Gather extensions that have been modified | ||
| change-triage: | ||
| name: Check changed files | ||
| runs-on: ubuntu-24.04 | ||
| outputs: | ||
| matrix: ${{ steps.get-matrix.outputs.matrix}} | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
| - name: Check for changes | ||
| uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 | ||
| id: filter | ||
| with: | ||
| filters: | | ||
| _shared: &shared | ||
| - 'docker-bake.hcl' | ||
| - 'Makefile' | ||
| - 'kind-config.yaml' | ||
| - 'test/**' | ||
| - '.github/workflows/bake*.yml' | ||
| pgvector: | ||
| - 'pgvector/**' | ||
| - *shared | ||
| postgis: | ||
| - 'postgis/**' | ||
| - *shared | ||
| timescaledb: | ||
| - 'timescaledb/**' | ||
| - *shared | ||
| pgaudit: | ||
| - 'pgaudit/**' | ||
| - *shared | ||
|
|
||
| # Compute a matrix containing the list of all extensions that have been modified | ||
| - name: Compute matrix | ||
| id: get-matrix | ||
| env: | ||
| # JSON array containing the extensions that have been changed | ||
| CHANGES: ${{ steps.filter.outputs.changes }} | ||
| # Input Extension name | ||
| INPUT_EXTENSION_NAME: ${{ github.event.inputs.extension_name }} | ||
| run: | | ||
| if [[ "${{ github.event_name }}" == 'workflow_dispatch' ]]; then | ||
| CHANGES="[\"$INPUT_EXTENSION_NAME\"]" | ||
| fi | ||
|
|
||
| # Filter away the shared filter | ||
| EXTENSIONS_CHANGED=$(echo "$CHANGES" | jq -c 'map(select(. != "_shared"))') | ||
|
|
||
| echo "matrix=$EXTENSIONS_CHANGED" >> "$GITHUB_OUTPUT" | ||
|
|
||
| Bake: | ||
| name: Bake | ||
| needs: change-triage | ||
| permissions: | ||
| packages: write | ||
| contents: read | ||
| id-token: write | ||
| security-events: write | ||
| if: ${{ join(fromJSON(needs.change-triage.outputs.matrix)) != '' }} | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| extension: ${{ fromJSON(needs.change-triage.outputs.matrix) }} | ||
| uses: ./.github/workflows/bake_targets.yml | ||
| with: | ||
| extension_name: ${{ matrix.extension }} | ||
| secrets: | ||
| SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.