sclorg / postgresql-container

PostgreSQL container images based on Red Hat Software Collections and intended for OpenShift and general usage. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
http://softwarecollections.org
Apache License 2.0
162 stars 210 forks source link
centos container database docker dockerfile openshift postgresql rhel7

PostgreSQL Container Images

Build and push images to Quay.io registry

Images available on Quay.io are:

This repository provides Dockerfiles for PostgreSQL container images, optimized for use with OpenShift. These images are available in RHEL, Fedora, and CentOS-based variants.

For more information about using these images with OpenShift, please refer to the official OpenShift Documentation.

To contribute to this project, please review the Contribution Guidelines. For learning more information about concepts used in these container images, see the Landing page.

Versions

PostgreSQL versions currently supported are:

RHEL versions currently supported are:

CentOS versions currently supported are:

Installation

Choose either the CentOS Stream 9 or RHEL9-based image:

Note: While the installation steps utilize podman, you can substitute these calls with docker with the same arguments.

Warning: By omitting the VERSIONS parameter, the build/test action will be executed on all provided versions of PostgreSQL.

Contributing Guidelines

This repository utilizes distgen for generating image source files. If you are interested in updating a Dockerfile, please modify the relevant sections in the specs/multispec.yml file and/or the Dockerfile.template (or other distgen files), and then execute make generate.

Before you begin, ensure that you have distgen installed by running dg --version. If distgen is not installed on your system, follow the installation guide available at distgen's GitHub repository. Additionally, for testing purposes, install go-md2man from this repository go-md2man or via dnf install go-md2man.

To contribute, please follow these steps:

  1. Fork the repository
  2. Run git submodule update --init to download the common submodule containing the common/common.mk makefile.
  3. Implement a new feature or bug fix in the templates (found in the src directory) or update values in the specs/multispec.yml file.
    • Note: If no changes are made to these directories, file regeneration is not necessary.
  4. Regenerate all files by executing make generate.
  5. Consider running CI tests, as described in the Test section below.
  6. Commit the files and generated files in two separated commits with a conventional commit message for each.
  7. Open a pull request for review!

Usage

For detailed information on the usage of specific PostgreSQL Dockerfiles, please refer to the corresponding usage documentation:

For unsupported versions, you may refer to:

Test

This repository includes a testing framework that verifies the basic functionality of the PostgreSQL image. Users can choose to test the image based on RHEL or CentOS Stream.

Note: By omitting the VERSIONS parameter, the build/test action will be performed on all provided versions of PostgreSQL.

The test command is utilized from the common submodule. While it is possible to run make test-openshift-4, it is typically not necessary. All commands for the Makefile can be found in common/Makefile. The make test command will execute all tests required by the CI.

Enabling SSL/TLS for PostgreSQL container

For comprehensive information and instructions on enabling SSL/TLS, please refer to the examples/enable-ssl/README.md.