Skip to main content
Status

YellowDraft 

Overview

This page is intended to provide a recommendation when developing custom applications on OpenShift

Hosting Options

When developing a custom application on the OpenShift Platform, we always recommend using the quick start OpenShift application (QSOS) . OCIO is currently creating a wizard from the QSOS to provide an easier onboarding experience. https://test.developer.gov.bc.ca/create

Private Cloud

The BC Government has invested heavily in the Red Hat OpenShift platform to provide self service private cloud capabilities.  Training is available through the exchange lab to get teams acquainted with the platform; a good primer ishere.

https://digital.gov.bc.ca/technology/cloud/private/support/openshift-101/

The landing page for the private cloud service is here:https://cloud.gov.bc.ca/private-cloud/

Namespace provisioning can be found here:https://registry.developer.gov.bc.ca/public-landing

Information on resource tuning for OpenShift Namespaces can be found here:https://beta-docs.developer.gov.bc.ca/application-resource-tuning/

TheRedHat learning portalis a great resource to learn more about the platform, and they also provide a sandbox to 'learn by doing'.

Some of the more important concepts to understand up front are:

  • Image streams, builds & tagging
  • Network policy settings to allow pods to communicate internally and to the web via routes,
  • How to get deployments to listen to tags and/or configuration changes (eventually on repo events like pull requests)
  • Tuning, health checks, resource allocation and tuning, and pod scaling

OpenShift QuickStart Application

Our friends and collaborators in Forestry Digital Services and the Architecture team have created an application template that includes pluggable API backends (Node/Nest, Python/FastAPI, Go/Fiber, Java/Quarkus) and frontend (React, Vite), with a deployment pipeline to the OpenShift platform with an option to include a PostgreSQL/PostGIS database and leveraging the backup container provided by the BC DevExchange.  This is a great resource to get product teams up and running.

QuickStart OpenShift

QuickStart OpenShift Emerald

OpenShift - Recommended Architecture

technologies

This repository has the recommend technologies within the repo. In general though we suggest using the below technologies. It is not recommended to deviate from the baseline technologies not in QSOS.

frontend - Vue.JS / React.JS

backend - Node.JS / Java

database - Postgres

References

https://github.com/bcgov/quickstart-openshift