This is an internal documentation. There is a good chance you’re looking for something else. See Disclaimer.

OpenShift Basics

Introduction to OpenShift

OpenShift provides a management tool to deploy Docker containers.

Here’s what’s important:

  • A single Docker Image is deployed via continuous delivery. It contains Nice, Java and all runtime dependencies. Thus, Nice can be run in any OpenShift/Docker environment.

  • OpenShift orchestrates the Docker images, service, routes, etc. and ensures they stay available.

Here are a few resources that help you understand the core concepts:

Have a look at the full OpenShift documentation and Docker documentation if you want to know all the details.

Projects

The following projects currently exist:

Project Name

Description

address-provider

Service to look up cities, zip codes and such.

See Address Provider

image-service

Service to minipulate images. Currently used to create thumbnails.

See Image service

nice-${INSTALLATION}

Nice and all its services for installation ${INSTALLATION}.

nice-documentation

Documentation of Nice.

shared-imagestreams

Contains imagestreams shared amongst different projects (e.g. Nginx).

serviceaccounts

Service accounts for Ansible, GitLab, TeamCity, etc.

Use oc projects to list projects and oc project ${PROJECT} to switch to one of them.

OpenShift Structure used for Nice Projects

Every project consists of the following OpenShift elements:

deployment config

nice

container

nice

nginx

image stream

nice

nginx 3

image stream tag

test or production 1

stable or latest 2

exposed port

tcp/8080

tcp/8081

service

nice (tcp/80 redirected to tcp/8081)

route

nice (https://${INSTALLATION}.tocco.ch)

persistent volume claim

Footnotes

1

Production systems use the production tag and test systems the test tag.

2

By default the stable tag is used. latest is the staging area and is only deployed on selected systems.

3

Image source is hosted on Gitlab and the latest tag is automatically built on Dockerhub.