Giter Site home page Giter Site logo

vgrme / bobbycar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sa-mw-dach/bobbycar

0.0 0.0 0.0 10.19 MB

IoT Transportation demo using Red Hat OpenShift and Middleware technologies

License: Apache License 2.0

Shell 1.02% JavaScript 0.18% Java 32.65% TypeScript 6.88% CSS 0.01% HTML 56.97% Smarty 0.37% Dockerfile 0.02% SCSS 1.90%

bobbycar's Introduction

About Bobbycar - The Red Hat Connected Vehicle Architecture

Bobbycar is a Red Hat solution pattern that implements key aspects of a modern IoT/Edge architecture in an exemplary manner. It uses Red Hat OpenShift Container Platform and various middleware components optimized for a cloud-native usage.

This enterprise architecture can serve as a foundation for an IoT/Edge Hybrid Cloud environment supporting various use cases like OTA deployments, Driver monitoring, AI/ML and others.

Bobbycar aims to showcase an end-to-end workflow, from connecting in-vehicle components to a cloud backend, processing telemetry data in batch or as stream, training AI/ML models and deploying containers through a DevSecOps pipeline and by leveraging GitOps to the edge.

Purpose / Objectives

  • How to use Red Hat technologies to build a cloud-native Hybrid Cloud environment supporting automotive use-cases.

  • Accelerate building IoT solutions faster with Red Hat technologies.

  • Bobbycar aims to showcase the COMPLETE Red Hat Middleware stack on OpenShift in a real world IoT context.

  • Getting a more realistic hands-on experience with cloud-native development and OpenShift

Getting Started - The Installation

You can use the install.sh script to install this Solution Pattern.

Prerequisites

Before executing the install.sh script, make sure you have the following ready:

  • A running OpenShift cluster environment (OCP on-premise, ROSA, OCP on IBM Cloud, ARO, OCP Dedicated) or OpenShift Local
  • You have cluster-admin privileges for the OpenShift cluster
  • OpenShift CLI (oc)
  • Helm CLI
  • A valid Google Maps API Key
  • Gather the API and App domain of your OpenShift Cluster:
    • App domain example: apps.cluster-zxf6m.zxf6m.sandbox1856.opentlc.com
    • API domain example: api.cluster-zxf6m.zxf6m.sandbox1856.opentlc.com
  • A clone of this Git repository

Running the installation

  1. Provide the properties in install_cleanup_vars.sh, i.e.:
# The namespace to deploy the solution pattern in
NAMESPACE=bobbycar
# The clusters app domain without port
APP_DOMAIN=apps.cluster-pnc6l.pnc6l.sandbox52.opentlc.com
# The clusters api domain without port
API_DOMAIN=api.cluster-pnc6l.pnc6l.sandbox52.opentlc.com

# Google Maps API key - https://developers.google.com/maps/documentation/javascript/get-api-key
GOOGLE_API_KEY=<MyGoogleMapsApiKey>
# OpenWeatherMap API Key - https://openweathermap.org/api
OWM_WEATHER_API_KEY=<MyApiKey>
# https://www.ibm.com/products/environmental-intelligence-suite/data-packages
IBM_WEATHER_API_KEY=<MyApiKey>

# Installs OpenShift Serverless in the cluster
INSTALL_KNATIVE=true
# Installs the required namespaced operators: AMQ Streams, AMQ Broker, Datagrid, Camel-K
INSTALL_OPERATORS=true
# Deletes the BobbycarZone CRD when executing ./cleanup.sh
DELETE_CRD=true

# Helm Release names
HELM_INFRA_RELEASE_NAME=infra
HELM_APP_RELEASE_NAME=apps
HELM_SERVERLESS_RELEASE_NAME=serverless

Mandatory fields are:

  • NAMESPACE
  • APP_DOMAIN
  • API_DOMAIN
  • GOOGLE_API_KEY

The weather-api fields are optional:

  • OWM_WEATHER_API_KEY and/or
  • IBM_WEATHER_API_KEY

If you haven't installed OpenShift Serverless in your cluster, you can set INSTALL_KNATIVE=true, this will install OpenShift Serverless.

INSTALL_OPERATORS=true will install the

  • AMQ Streams
  • AMQ Broker
  • Camel-K
  • Datagrid

operators in the local namespace you'll deploy this solution pattern into.

When using OpenShift Local, you can use the following values:

NAMESPACE=bobbycar
APP_DOMAIN=apps-crc.testing
API_DOMAIN=api-crc-testing
  1. Running the install.sh script
./install.sh 

If you want to manually install Bobbycar in your own environment (step-by-step), please follow these installation instructions!

Clean up the installation

  1. Run the cleanup.sh script to uninstall the solution pattern

If you also want to remove the BobbycarZone CRD, set DELETE_CRD=true in the install_cleanup_vars.sh script.

./cleanup.sh 

Technologies used in this Solution Pattern

  • RH OpenShift, Enterprise Kubernetes
  • RH OpenShift Serverless, based on Knative
  • RH Runtimes, Quarkus
  • RH AMQ Broker, MQTT
  • RH AMQ Streams, Apache Kafka
  • RH Fuse, Apache Camel-K
  • RH Datagrid, Distributed Caching
  • RH OpenShift Pipelines
  • RH CodeReady Workspaces
  • RH OpenJDK
  • Angular, Ionic
  • Gogs, Nexus, Sonarqube

bobbycar's People

Contributors

ortwinschneider avatar javatar81 avatar ctron avatar dependabot[bot] avatar manfredmuth avatar mbaldessari avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.