• Stars
    star
    260
  • Rank 157,161 (Top 4 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated 25 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running Python applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.

Python container images

Build and push container images to Quay.io registry

Images available on Quay are:

This repository contains the source for building various versions of the Python application as a reproducible container image using source-to-image. Users can choose between RHEL, Fedora and CentOS based builder images. The resulting image can be run using podman or docker.

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

For more information about concepts used in these container images, see the Landing page.

Note: while the examples in this README are calling podman, you can replace any such calls by docker with the same arguments

Contributing

In this repository distgen > 1.0 is used for generating directories for Python versions. Also make sure distgen imports the jinja2 package >= 2.10.

Files in directories for a specific Python version are generated from templates in the src directory with values from specs/multispec.yml.

A typical way how to contribute is:

  1. Add a feature or fix a bug in templates (src directory) or values (specs/multispec.yml file).
  2. Commit the changes.
  3. Regenerate all files via make generate-all.
  4. Commit generated files.
  5. Test changes via make test TARGET=fedora VERSIONS=3.9 which will build, tag and test an image in one step.
  6. Open a pull request!

For more information about contributing, see the Contribution Guidelines.

Versions

Python versions currently provided are:

RHEL versions currently supported are:

CentOS and CentOS Stream versions currently supported are:

Fedora versions currently supported are:

Download

To download one of the base Python images, follow the instructions you find in registries mentioned above.

For example, Centos image can be downloaded via:

$ podman pull quay.io/centos7/python-38-centos7

Build

To build a Python image from scratch run:

$ git clone https://github.com/sclorg/s2i-python-container.git
$ cd s2i-python-container
$ make build TARGET=centos7 VERSIONS=3.8

Where TARGET might be one of the supported platforms mentioned above.

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

Usage

For information about usage of S2I Python images, see the documentation for each version in its folder.

Test

This repository also provides a S2I test framework, which launches tests to check functionality of simple Python applications built on top of the s2i-python-container image.

$ cd s2i-python-container
$ make test TARGET=centos7 VERSIONS=3.8

Where TARGET might be one of the supported platforms mentioned above.

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

Repository organization

  • <python-version>

    • Dockerfile

      CentOS based Dockerfile.

    • Dockerfile.fedora

      Fedora based Dockerfile.

    • Dockerfile.rhel7 & Dockerfile.rhel8

      RHEL 7/8 based Dockerfile. In order to perform build or test actions on this Dockerfile you need to run the action on a properly subscribed RHEL machine.

    • s2i/bin/

      This folder contains scripts that are run by S2I:

      • assemble

        Used to install the sources into the location where the application will be run and prepare the application for deployment (eg. installing dependencies, etc.)

      • run

        This script is responsible for running the application by using the application web server.

      • usage*

        This script prints the usage of this image.

    • test/

      This folder contains a S2I test framework with multiple test aplications testing different approaches.

      • run

        Script that runs the S2I test framework.

More Repositories

1

django-ex

Django Example
HTML
247
star
2

s2i-nodejs-container

NodeJS images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running NodeJS applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Shell
165
star
3

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.
Shell
163
star
4

mysql-container

MySQL 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.
Shell
128
star
5

s2i-php-container

PHP container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running PHP applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Shell
108
star
6

nginx-container

Nginx high-performance HTTP server and reverse proxy 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.
Shell
91
star
7

s2i-base-container

OpenShift base images
Dockerfile
86
star
8

rhscl-dockerfiles

DEPRECATED AND NOT UPDATED set of dockerfiles for various Software Collection packages.
Shell
80
star
9

softwarecollections

Software Collections Management Website and Utils
Python
66
star
10

centos-release-scl

yum Configs and basic docs for Software Collections as delivered via the CentOS SCLo SIG.
Shell
62
star
11

cakephp-ex

CakePHP Example
PHP
60
star
12

s2i-ruby-container

Ruby container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running Ruby applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Shell
55
star
13

mongodb-container

MongoDB 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.
Shell
50
star
14

httpd-container

Apache HTTP 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.
Shell
47
star
15

devtoolset-container

Devtoolset container images based on Red Hat Software Collections, that provide a platform for building and running C and C++ applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Shell
44
star
16

golang-container

Golang container image sources
Shell
43
star
17

rails-ex

Ruby Rails Example
HTML
35
star
18

httpd-ex

An example application repository for the s2i httpd builder image
HTML
32
star
19

mariadb-container

MariaDB 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.
Shell
31
star
20

ruby-ex

Ruby
30
star
21

redis-container

Redis 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.
Shell
25
star
22

dancer-ex

Perl Dancer Example
Perl
23
star
23

nginx-ex

An example application repository for the s2i nginx builder image
HTML
23
star
24

container-common-scripts

Shell
20
star
25

welcome

Welcome page with basic overview around the sclorg organization, aka what all one can find here.
16
star
26

s2i-perl-container

Perl container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running Perl applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Shell
16
star
27

scl-utils

Tool to setup and run software from Software Collection environment
C
15
star
28

testing-farm-as-github-action

GitHub Action to execute tests by Testing Farm and update Pull Request status
TypeScript
13
star
29

scl-examples

Set of spec files following the best practices for Software Collections
Shell
8
star
30

varnish-container

Varnish HTTP Cache 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.
Shell
7
star
31

spec2scl

Python
7
star
32

golang-ex

A sample app that is built using the s2i golang builder
Go
7
star
33

cassandra-container

Cassandra container images based on Software Collections and intended for OpenShift and general usage. Currently only CentOS based image is available. The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance.
Shell
6
star
34

rhscl-rebuild-recipes

This repository is intended to gather recipes to rebuild Software Collections we have now in RHSCL.
5
star
35

ansible-tests

This repository contains ansible tests for rhscl containers
Shell
4
star
36

rpm-list-builder

RPM List Builder helps you to build a list of defined RPM packages including Software Collection from the recipe file
Python
4
star
37

passenger-container

Phusion Passenger 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.
Shell
4
star
38

ror-container

Container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running Ruby on Rails applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Shell
4
star
39

scltests

Simple tests designed to keep up with regressions in scl-utils
Python
3
star
40

llvm-container

LLVM container image sources
Shell
3
star
41

sclo-ci-tests

Scripts for testing SCLo builds from cbs.centos.org
Shell
2
star
42

postgresql

PostgreSQL packaged for software collections
Shell
2
star
43

s2i-light

This is a podman-compatible lightweight re-implementation of the original source-to-image.
Shell
2
star
44

rhscl2dockerfile

DEPRECATED: Simple script to generate Software collections Dockerfiles
Shell
2
star
45

buildpacks

Cloud Native Buildpacks and Builders based on Red Hat Universal Base Image
Shell
1
star
46

container-workflow-tool

Python
1
star
47

memcached

Container for memcached - high-performance, distributed memory object caching system
Python
1
star
48

container-ci-suite

This repos is used for testing RHSCL containers
Python
1
star
49

helm-charts

Python
1
star
50

betka-fedmsg

Bot for transfering fedmsg events to celery tasks.
Python
1
star
51

betka

Python
1
star
52

rust-container

Rust container image sources
Shell
1
star