{"id":15013818,"url":"https://github.com/sa-mw-dach/bobbycar","last_synced_at":"2025-07-10T17:06:32.179Z","repository":{"id":38460515,"uuid":"263635143","full_name":"sa-mw-dach/bobbycar","owner":"sa-mw-dach","description":"IoT Transportation demo using Red Hat OpenShift and Middleware technologies ","archived":false,"fork":false,"pushed_at":"2023-11-24T15:17:18.000Z","size":10431,"stargazers_count":44,"open_issues_count":1,"forks_count":28,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-06-21T10:43:31.142Z","etag":null,"topics":["amq","angular","api-gateway","camel-k","codeready-workspaces","datagrid","demo","google-maps","grafana","ionic","iot-context","kafka","middleware","mqtt","openshift","openshift-v4","prometheus","quarkus","tekton-pipelines"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sa-mw-dach.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-05-13T13:17:49.000Z","updated_at":"2024-12-25T09:57:50.000Z","dependencies_parsed_at":"2023-11-24T16:36:29.235Z","dependency_job_id":null,"html_url":"https://github.com/sa-mw-dach/bobbycar","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/sa-mw-dach/bobbycar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa-mw-dach%2Fbobbycar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa-mw-dach%2Fbobbycar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa-mw-dach%2Fbobbycar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa-mw-dach%2Fbobbycar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sa-mw-dach","download_url":"https://codeload.github.com/sa-mw-dach/bobbycar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sa-mw-dach%2Fbobbycar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264614733,"owners_count":23637641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amq","angular","api-gateway","camel-k","codeready-workspaces","datagrid","demo","google-maps","grafana","ionic","iot-context","kafka","middleware","mqtt","openshift","openshift-v4","prometheus","quarkus","tekton-pipelines"],"created_at":"2024-09-24T19:44:49.130Z","updated_at":"2025-07-10T17:06:32.155Z","avatar_url":"https://github.com/sa-mw-dach.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About Bobbycar - The Red Hat Connected Vehicle Architecture\n\nBobbycar is a **Red Hat solution pattern** that implements key aspects of a modern IoT/Edge architecture in an exemplary manner.\nIt uses [Red Hat OpenShift Container Platform]( https://docs.openshift.com/container-platform/4.12/welcome/index.html) and various middleware components optimized for a cloud-native usage.\n\nThis 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.\n\nBobbycar 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.\n\n## Purpose / Objectives\n\n+ How to use Red Hat technologies to build a cloud-native Hybrid Cloud environment supporting automotive use-cases.\n\n+ Accelerate building IoT solutions faster with Red Hat technologies.\n\n+ Bobbycar aims to showcase the COMPLETE Red Hat Middleware stack on OpenShift in a real world IoT context.\n\n+ Getting a more realistic hands-on experience with cloud-native development and OpenShift\n\n## Getting Started - The Installation\n\nYou can use the `install.sh` script to install this Solution Pattern.\n\n### Prerequisites\n\nBefore executing the `install.sh` script, make sure you have the following ready:\n\n+ A running OpenShift cluster environment (OCP on-premise, ROSA, OCP on IBM Cloud, ARO, OCP Dedicated) or [OpenShift Local](https://developers.redhat.com/products/openshift-local/overview)\n+ You have `cluster-admin` privileges for the OpenShift cluster\n+ [OpenShift CLI (oc)](https://docs.openshift.com/container-platform/4.12/cli_reference/openshift_cli/getting-started-cli.html#installing-openshift-cli)\n+ [Helm CLI](https://helm.sh/docs/intro/install/)\n+ A valid [Google Maps API Key](https://developers.google.com/maps/documentation/javascript/get-api-key)\n+ Gather the API and App domain of your OpenShift Cluster:\n  + App domain example: `apps.cluster-zxf6m.zxf6m.sandbox1856.opentlc.com`\n  + API domain example: `api.cluster-zxf6m.zxf6m.sandbox1856.opentlc.com`\n+ [A clone of this Git repository](https://github.com/sa-mw-dach/bobbycar)\n\n### Running the installation\n\n1. Provide the properties in `install_cleanup_vars.sh`, i.e.:\n\n```shell\n# The namespace to deploy the solution pattern in\nNAMESPACE=bobbycar\n# The clusters app domain without port\nAPP_DOMAIN=apps.cluster-pnc6l.pnc6l.sandbox52.opentlc.com\n# The clusters api domain without port\nAPI_DOMAIN=api.cluster-pnc6l.pnc6l.sandbox52.opentlc.com\n\n# Google Maps API key - https://developers.google.com/maps/documentation/javascript/get-api-key\nGOOGLE_API_KEY=\u003cMyGoogleMapsApiKey\u003e\n# OpenWeatherMap API Key - https://openweathermap.org/api\nOWM_WEATHER_API_KEY=\u003cMyApiKey\u003e\n# https://www.ibm.com/products/environmental-intelligence-suite/data-packages\nIBM_WEATHER_API_KEY=\u003cMyApiKey\u003e\n\n# Installs OpenShift Serverless in the cluster\nINSTALL_KNATIVE=true\n# Installs the required namespaced operators: AMQ Streams, AMQ Broker, Datagrid, Camel-K\nINSTALL_OPERATORS=true\n# Deletes the BobbycarZone CRD when executing ./cleanup.sh\nDELETE_CRD=true\n\n# Helm Release names\nHELM_INFRA_RELEASE_NAME=infra\nHELM_APP_RELEASE_NAME=apps\nHELM_SERVERLESS_RELEASE_NAME=serverless\n ```\n\nMandatory fields are:\n\n+ NAMESPACE\n+ APP_DOMAIN\n+ API_DOMAIN\n+ GOOGLE_API_KEY\n\nThe `weather-api` fields are optional:\n\n+ OWM_WEATHER_API_KEY and/or\n+ IBM_WEATHER_API_KEY\n\nIf you haven't installed OpenShift Serverless in your cluster, you can set `INSTALL_KNATIVE=true`, this will install OpenShift Serverless.\n\n`INSTALL_OPERATORS=true` will install the\n\n+ AMQ Streams\n+ AMQ Broker\n+ Camel-K\n+ Datagrid\n\noperators in the local namespace you'll deploy this solution pattern into.\n\nWhen using [OpenShift Local](https://developers.redhat.com/products/openshift-local/overview),\nyou can use the following values:\n\n```shell\nNAMESPACE=bobbycar\nAPP_DOMAIN=apps-crc.testing\nAPI_DOMAIN=api-crc-testing\n```\n\n1. Running the `install.sh` script\n\n  ```shell\n  ./install.sh \n  ```\n\nIf you want to manually install Bobbycar in your own environment (step-by-step), please follow these [installation instructions!](https://github.com/sa-mw-dach/bobbycar/tree/master/helm)\n\n### Clean up the installation\n\n1. Run the `cleanup.sh` script to uninstall the solution pattern\n\nIf you also want to remove the `BobbycarZone CRD`, set `DELETE_CRD=true` in the `install_cleanup_vars.sh` script.\n\n  ```shell\n  ./cleanup.sh \n  ```\n\n## Technologies used in this Solution Pattern\n\n+ RH OpenShift, Enterprise Kubernetes\n+ RH OpenShift Serverless, based on Knative  \n+ RH Runtimes, Quarkus\n+ RH AMQ Broker, MQTT\n+ RH AMQ Streams, Apache Kafka\n+ RH Fuse, Apache Camel-K\n+ RH Datagrid, Distributed Caching\n+ RH OpenShift Pipelines\n+ RH CodeReady Workspaces\n+ RH OpenJDK\n+ Angular, Ionic\n+ Gogs, Nexus, Sonarqube\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsa-mw-dach%2Fbobbycar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsa-mw-dach%2Fbobbycar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsa-mw-dach%2Fbobbycar/lists"}