{"id":13819336,"url":"https://github.com/cloudnative-pg/postgres-containers","last_synced_at":"2025-04-14T00:25:31.714Z","repository":{"id":38018990,"uuid":"470518393","full_name":"cloudnative-pg/postgres-containers","owner":"cloudnative-pg","description":"Operand images for CloudNativePG containing all community supported version PostgreSQL","archived":false,"fork":false,"pushed_at":"2024-04-20T00:15:52.000Z","size":959,"stargazers_count":35,"open_issues_count":12,"forks_count":22,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-04-21T15:19:49.113Z","etag":null,"topics":["cloudnativepg","container-images","postgres","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudnative-pg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null}},"created_at":"2022-03-16T09:41:14.000Z","updated_at":"2024-04-23T01:35:07.298Z","dependencies_parsed_at":"2023-02-15T13:31:48.347Z","dependency_job_id":"74992a78-4ab1-4029-a721-b99c92067056","html_url":"https://github.com/cloudnative-pg/postgres-containers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnative-pg%2Fpostgres-containers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnative-pg%2Fpostgres-containers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnative-pg%2Fpostgres-containers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudnative-pg%2Fpostgres-containers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudnative-pg","download_url":"https://codeload.github.com/cloudnative-pg/postgres-containers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248800104,"owners_count":21163404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudnativepg","container-images","postgres","postgresql"],"created_at":"2024-08-04T08:00:45.389Z","updated_at":"2025-04-14T00:25:31.704Z","avatar_url":"https://github.com/cloudnative-pg.png","language":"Dockerfile","funding_links":[],"categories":["postgresql","HCL"],"sub_categories":[],"readme":"\u003e **IMPORTANT:** As of January 2025, we have transitioned to a new image build\n\u003e process (see issue [#132](https://github.com/cloudnative-pg/postgres-containers/issues/132)\n\u003e for details). Previously, the images were based on the\n\u003e [Official Postgres image](https://hub.docker.com/_/postgres), maintained by the\n\u003e [PostgreSQL Docker Community](https://github.com/docker-library/postgres),\n\u003e and included Barman Cloud built from source.\n\u003e This legacy approach, referred to as `system` images, will remain available\n\u003e for backward compatibility but is planned for a future deprecation.\n\n---\n\n# CNPG PostgreSQL Container Images\n\nThis repository provides maintenance scripts for generating immutable\napplication containers for all supported PostgreSQL versions (13 to 17).\nThese containers are designed to serve as operands for the\n[CloudNativePG (CNPG) operator](https://cloudnative-pg.io) in Kubernetes\nenvironments.\n\n## Key Features\n\nThe CNPG PostgreSQL Container Images:\n\n- Are based on Debian Linux `stable` and `oldstable`\n- Support **multi-architecture builds**, including `linux/amd64` and\n  `linux/arm64`.\n- Include **build attestations**, such as Software Bills of Materials (SBOMs)\n  and provenance metadata.\n- Are published on the\n  [CloudNativePG GitHub Container Registry](https://github.com/cloudnative-pg/postgres-containers/pkgs/container/postgresql).\n- Are **automatically rebuilt weekly** (every Monday) to ensure they remain\n  up-to-date.\n\n## Image Types\n\nWe currently build and support two primary types of PostgreSQL images:\n\n- [`minimal`](#minimal-images)\n- [`standard`](#standard-images)\n\nBoth `minimal` and `standard` images are intended to be used with backup\nplugins, such as [Barman Cloud](https://github.com/cloudnative-pg/plugin-barman-cloud).\n\n\u003e **Note:** for backward compatibility, we also maintain the\n\u003e [`system`](#system-images) image type. Switching from `system` images to\n\u003e `minimal` or `standard` images on an existing cluster is not supported.\n\n### Minimal Images\n\nMinimal images are lightweight and built on top of the\n[official Debian images](https://hub.docker.com/_/debian).\nThey use the [APT PostgreSQL packages](https://wiki.postgresql.org/wiki/Apt)\nmaintained by the PostgreSQL Global Development Group (PGDG).\n\nThese images are identified by the inclusion of `minimal` in their tag names,\nfor example: `17.2-minimal-bookworm`.\n\n### Standard Images\n\nStandard images are an extension of the `minimal` images, enhanced with the\nfollowing additional features:\n\n- PGAudit\n- Postgres Failover Slots\n- pgvector\n- All Locales\n\nStandard images are identifiable by the `standard` tag in their names, such as:\n`17.2-standard-bookworm`.\n\n\u003e **Note:** Standard images are designed to offer functionality equivalent to\n\u003e the legacy `system` images when used with CloudNativePG. To achieve parity,\n\u003e you must use the [Barman Cloud Plugin](https://github.com/cloudnative-pg/plugin-barman-cloud)\n\u003e as a replacement for the native Barman Cloud support in `system` images.\n\n### System Images\n\nSystem images are based on the [Official Postgres image](https://hub.docker.com/_/postgres),\nmaintained by the\n[PostgreSQL Docker Community](https://github.com/docker-library/postgres).\nThese images include additional software to extend PostgreSQL functionality:\n\n- Barman Cloud\n- PGAudit\n- Postgres Failover Slots\n- pgvector\n\nThe [`Debian`](Debian) folder contains image catalogs, which can be used as:\n- [`ClusterImageCatalog`](https://cloudnative-pg.io/documentation/current/image_catalog/)\n- [`ImageCatalog`](https://cloudnative-pg.io/documentation/current/image_catalog/)\n\n\u003e **Deprecation Notice:** System images and the associated Debian-based image\n\u003e catalogs will be deprecated in future releases of CloudNativePG and\n\u003e eventually removed. Users are encouraged to migrate to `minimal` or\n\u003e `standard` images for new clusters as soon as feasible.\n\n## Build Attestations\n\nCNPG PostgreSQL Container Images are built with the following attestations to\nensure transparency and traceability:\n\n- **[Software Bill of Materials\n  (SBOM)](https://docs.docker.com/build/metadata/attestations/sbom/):** A\n  comprehensive list of software artifacts included in the image or used during\n  its build process, formatted using the [in-toto SPDX predicate standard](https://github.com/in-toto/attestation/blob/main/spec/predicates/spdx.md).\n\n- **[Provenance](https://docs.docker.com/build/metadata/attestations/slsa-provenance/):**\n  Metadata detailing how the image was built, following the [SLSA Provenance](https://slsa.dev)\n  framework.\n\nFor example, you can retrieve the SBOM for a specific image using the following\ncommand:\n\n```bash\ndocker buildx imagetools inspect \u003cIMAGE\u003e --format \"{{ json .SBOM.SPDX }}\"\n```\n\nThis command outputs the SBOM in JSON format, providing a detailed view of the\nsoftware components and build dependencies.\n\n## Image Signatures\n\nCloudNativePG container images are securely signed using\n[cosign](https://github.com/sigstore/cosign), a tool within the\n[Sigstore](https://www.sigstore.dev/) ecosystem.\nThis signing process is automated via GitHub Actions and leverages\n[short-lived tokens issued through OpenID Connect](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect).\n\nThe token issuer is `https://token.actions.githubusercontent.com`, and the\nsigning identity corresponds to a GitHub workflow executed under the\n`cloudnative-pg/postgres-containers` repository. This workflow uses the\n[`cosign-installer` action](https://github.com/marketplace/actions/cosign-installer)\nto facilitate the signing process.\n\nTo verify the authenticity of an image using its digest, you can run the\nfollowing `cosign` command:\n\n```sh\ncosign verify IMAGE \\\n  --certificate-identity-regexp=\"^https://github.com/cloudnative-pg/postgres-containers/\" \\\n  --certificate-oidc-issuer=\"https://token.actions.githubusercontent.com\"\n```\n\n## Building Images\n\nFor detailed instructions on building PostgreSQL container images, refer to the\n[BUILD.md](BUILD.md) file.\n\n## License and copyright\n\nThis software is available under [Apache License 2.0](LICENSE).\n\nCopyright The CloudNativePG Contributors.\n\nBarman Cloud is distributed by EnterpriseDB under the\n[GNU GPL 3 License](https://github.com/EnterpriseDB/barman/blob/master/LICENSE).\n\nPGAudit is distributed under the\n[PostgreSQL License](https://github.com/pgaudit/pgaudit/blob/master/LICENSE).\n\nPostgres Failover Slots is distributed by EnterpriseDB under the\n[PostgreSQL License](https://github.com/EnterpriseDB/pg_failover_slots/blob/master/LICENSE).\n\npgvector is distributed under the\n[PostgreSQL License](https://github.com/pgvector/pgvector/blob/master/LICENSE).\n\n## Trademarks\n\n*[Postgres, PostgreSQL and the Slonik Logo](https://www.postgresql.org/about/policies/trademarks/)\nare trademarks or registered trademarks of the PostgreSQL Community Association\nof Canada, and used with their permission.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudnative-pg%2Fpostgres-containers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudnative-pg%2Fpostgres-containers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudnative-pg%2Fpostgres-containers/lists"}