OpenShift Console
Warning
This page is now hosted on https://odp.finos.org/docs/development-infrastructure/continuous-delivery/#openshift-console
The Open Developer Platform provides access to a FINOS OpenShift Container Platform instance (also called FINOS OpenShift Console), the leading enterprise Kubernetes distribution, so that developers can try out integrations with other containers, build and test containerised architectures and enable continuously deployed code build pipelines.
Access is granted (free of charge) to all FINOS Contributors (see below); in this page we guide contributors to request access, understand the OpenShift FINOS setup and execute the first tests.
If you want to use OpenShift to power code build pipelines, check out the Continuous Delivery documentation page.
How to get access
In order to access the FINOS OpenShift Console, it is necessary to comply with the following requirements:
You must be a contributor of a FINOS project
You must have an account on developers.redhat.com; you can also sign up with your GitHub credentials
To request access, send an email to help@finos.org, with the following info:
Name, surname and company
Corporate email address
GitHub ID
Red Hat Login ID (when logged into Red Hat Developers portal, go to the account page)
FINOS Projects and Working Groups
The FINOS Infra team will create a project for your project, grant permissions to your Red Hat user and notify you via email the link to access the FINOS OpenShift Console.
Glossary
Before getting into more details, please read below the terms inherited by OpenShift (and related) technologies.
OpenShift V3 - A layered system designed to expose underlying Docker-formatted container image and Kubernetes concepts
Kubernetes - The industry leading open source container orchestration framework
Projects - A Kubernetes Namespace that contains (and isolates) resources
Images - A binary that includes all of the requirements for running a single container
Image Streams - Resource that can be used to automatically perform an action when new images are created
Containers - The basic units of OpenShift Origin applications
Pods - One or more containers deployed together on one host, and the smallest compute unit that can be defined, deployed, and managed
Services - Internal load balancer that identifies a set of replicated pods and proxies the connections it receives to them
Secrets - Provide a mechanism to hold sensitive information, such as passwords, to decouple sensitive content from the pods
Builds - Process of transforming input parameters into a resulting object; OpenShift Online supports Source to Image (S2I) and Pipeline types; although the Foundation have successfully tested both strategies, the S2I seems to be more flexible
Deployment (Config) - Resource that accepts triggers (ie Image Streams) and deploys pods
Templates - Describes a set of objects that can be parameterized and processed to produce a list of objects for creation by OpenShift Origin
Interacting with FINOS OpenShift
There 2 main ways to interact with OpenShift:
Web Console on manage.openshift.com ; not all operations are available across all resources, but it's very handy to review the service status, check logs, force restarts and other administrative tasks
OpenShift CLI (oc) ; everything can be done via CLI; this is normally used to initially setup a project, run local tests and integrate OpenShift in build pipelines. You will need a session token to authenticate via the CLI, that you can copy from the Command Line Tools page in the Web Console (you must be logged in)
Initial commands
Below are some initial commands to get started with the OpenShift CLI, also including some we found useful in the past.
# Login on FINOS OpenShift - copy from https://console.pro-us-east-1.openshift.com/console/command-line
export OC_TOKEN=...
oc login https://api.pro-us-east-1.openshift.com --token=$OC_TOKEN
# List of projects
oc projects
# Select a specific project; all next commands will refer to that project
oc project my_bot
# Show list of services, builds, pods and deployments for the current project
oc status
# Import an image from Docker Hub
oc import-image maoo/s2i-java-binary --all --confirm
# Processes an OpenShift template definition and passes parameter values
oc process -f bot_template.yaml -p BOT_NAME=my_botname | oc create -f -
# Start an OpenShift build, passing an archive or a folder
oc start-build my_botname --from-archive=./target/archive.zip --wait=true
oc start-build my_botname --from-dir=./target/my_botname --wait=true
# Deletes all resources with label 'app' equals to 'my_botname'
oc delete all -l app=my_botname