Compare commits
No commits in common. "33f055c8299168563c951a51fc8e23e93b31bf98" and "505e6474858a3d84c80d4cbd206436824c3ddc01" have entirely different histories.
33f055c829
...
505e647485
20
LIESMICH.md
20
LIESMICH.md
|
|
@ -1,4 +1,4 @@
|
||||||
<p style="text-align: center;">
|
<p align="center">
|
||||||
<img src="docs/img/masterplan.png" width="300" alt="Masterplan Nahmobilität" />
|
<img src="docs/img/masterplan.png" width="300" alt="Masterplan Nahmobilität" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
@ -40,13 +40,13 @@ cd DamageDetector
|
||||||
bash ./scripts/local_deploy.sh
|
bash ./scripts/local_deploy.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
3. **Warten Sie, bis der Stack fertig ist.**
|
3. **Warten Sie, bis der Stapel fertig ist.**
|
||||||
|
|
||||||
```
|
```
|
||||||
docker stack ps DamageDetector
|
docker stack ps DamageDetector
|
||||||
```
|
```
|
||||||
|
|
||||||
Nach ein paar Minuten sollten Sie das sehen:
|
Nach ein paar Minuten sollten Sie es sehen:
|
||||||
|
|
||||||
```
|
```
|
||||||
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
|
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
|
||||||
|
|
@ -54,28 +54,30 @@ xy5n7qwqrhp6 DamageDetector_mongo.1 mongo:5.0 .3 localhost
|
||||||
x8inapxrfsc7 DamageDetector_frontend.1 frontend:latest localhost Running Running 1 minute ago
|
x8inapxrfsc7 DamageDetector_frontend.1 frontend:latest localhost Running Running 1 minute ago
|
||||||
```
|
```
|
||||||
|
|
||||||
5. **Zugriff auf das Web-Frontend in einem Browser** über die `EXTERNAL_IP` des Frontends.
|
5. **Zugriff auf das Web-Frontend in einem Browser** über das Frontend `EXTERNAL_IP`.
|
||||||
|
|
||||||
```
|
```
|
||||||
http://localhost:8080/ui
|
http://localhost:8080/ui
|
||||||
```
|
```
|
||||||
|
|
||||||
## Andere Deployment Optionen
|
## Andere Deployment Options
|
||||||
|
|
||||||
- **Istio**: [See these instructions.](docs/service-mesh.md)
|
- **Istio**: [See these instructions.](docs/service-mesh.md)
|
||||||
- **Minikube**: Siehe den [Development Guide](/docs/development-guide.md)
|
- **Minikube**: Siehe den [Development Guide](/docs/development-guide.md)
|
||||||
|
|
||||||
## Architektur
|
## Architektur
|
||||||
|
|
||||||
**DamageDetector** besteht aus 2 Microservices, die in verschiedenen
|
**DamageDetector** besteht aus 2 Microservices, die in verschiedenen Sprachen
|
||||||
Sprachen geschrieben sind und miteinander kommunizieren.
|
Sprachen geschrieben sind und miteinander kommunizieren.
|
||||||
|
|
||||||

|
[](./docs/img/architecture-diagram.png)
|
||||||
|
|
||||||
|
|
||||||
Die hier gezeigte Cloud-Architektur stellt eine beispielhafte Netzinfrastruktur dar, die vom Betreiber nach Belieben angepasst werden kann. Sie erhebt keinen Anspruch auf Vollständigkeit oder Korrektheit.
|
Die hier gezeigte Cloud-Architektur stellt eine beispielhafte Netzinfrastruktur dar, die vom Betreiber nach Belieben angepasst werden kann. Sie erhebt keinen Anspruch auf Vollständigkeit oder Korrektheit.
|
||||||
|
|
||||||

|
[](./docs/img/architecture-diagram.png)
|
||||||
|
|
||||||
| Service | Language | Description |
|
| Service | Language | Description |
|
||||||
| ---------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
| ---------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
|
@ -84,7 +86,7 @@ Die hier gezeigte Cloud-Architektur stellt eine beispielhafte Netzinfrastruktur
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- **[CNCF - Cloud Native Computing Foundation](https://www.cncf.io):** Diese Anwendung wurde gemäß den Empfehlungen der CNCF entwickelt.
|
- **[CNCF - Cloud Nativ Computing Foundation](https://www.cncf.io):** Diese Anwendung wurde gemäß den Empfehlungen der CNCF entwickelt.
|
||||||
- **[Kubernetes](https://kubernetes.io)/[Docker](https://www.docker.com):**
|
- **[Kubernetes](https://kubernetes.io)/[Docker](https://www.docker.com):**
|
||||||
Die App ist so konzipiert, dass sie auf Kubernetes läuft (sowohl lokal auf "Docker for Desktop", als auch in der Cloud).
|
Die App ist so konzipiert, dass sie auf Kubernetes läuft (sowohl lokal auf "Docker for Desktop", als auch in der Cloud).
|
||||||
- **[Istio](https://istio.io):** Die Anwendung funktioniert auf dem Istio service mesh.
|
- **[Istio](https://istio.io):** Die Anwendung funktioniert auf dem Istio service mesh.
|
||||||
|
|
|
||||||
60
README.md
60
README.md
|
|
@ -1,19 +1,19 @@
|
||||||
<p style="text-align: center;">
|
<p align="center">
|
||||||
<img src="./docs/img/masterplan.png" width="300" alt="Masterplan Nahmobilität" />
|
<img src="docs/img/masterplan.png" width="300" alt="Masterplan Nahmobilität" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Translations:</summary>
|
<summary>Translations:</summary>
|
||||||
|
|
||||||
- [German / Deutsch](./LIESMICH.md)
|
- [German / Deutsch](LIESMICH.md)
|
||||||
|
</details></br>
|
||||||
|
|
||||||
</details>
|
**Bike Defect Notifier** is a cloud-native microservices application for people who like to share defects in local bike infrastructure.
|
||||||
|
Bike Defect Notifier consists of a 2-tier microservices application. The application is a
|
||||||
|
web-based OpenAPI where users can report faults on public infrastructure.
|
||||||
|
|
||||||
**Bike Defect Notifier** is a cloud-native microservices application for people who like to share defects in local bike
|
With this application we would like to demonstrate the use of **microservices** in a cloud world **without** vendor lock-in.
|
||||||
infrastructure. Bike Defect Notifier consists of a 2-tier microservices application. The application is a web-based
|
This application works on all **Docker** hosts, but can also be rolled out on standard **Kubernetes** clusters.
|
||||||
OpenAPI where users can report faults on public infrastructure. With this application we would like to demonstrate the
|
|
||||||
use of **microservices** in a cloud world **without** vendor lock-in. This application works on all **Docker** hosts,
|
|
||||||
but can also be rolled out on standard **Kubernetes** clusters.
|
|
||||||
|
|
||||||
> Please note that in this project there is no explicit protection of the target system in terms of cyber security. The protection of the work node on which the application is executed is the responsibility of the system operator.
|
> Please note that in this project there is no explicit protection of the target system in terms of cyber security. The protection of the work node on which the application is executed is the responsibility of the system operator.
|
||||||
|
|
||||||
|
|
@ -21,20 +21,14 @@ If you’re using this application, please **★Star** this repository to show y
|
||||||
Collaboration on this repo is expressly encouraged.
|
Collaboration on this repo is expressly encouraged.
|
||||||
|
|
||||||
## Before You Begin
|
## Before You Begin
|
||||||
|
To successfully deploy this microservice to your target system, please ensure that you have successfully completed the installation of Docker.
|
||||||
To successfully deploy this microservice to your target system, please ensure that you have successfully completed the
|
|
||||||
installation of Docker.
|
|
||||||
|
|
||||||
### Install Docker
|
### Install Docker
|
||||||
|
|
||||||
To install Docker Engine, follow the instructions within one of the guides below:
|
To install Docker Engine, follow the instructions within one of the guides below:
|
||||||
|
|
||||||
- [Installing and Using Docker Engine](https://docs.docker.com/engine/install/)
|
- [Installing and Using Docker Engine](https://docs.docker.com/engine/install/)
|
||||||
|
|
||||||
### Install Docker Compose
|
### Install Docker Compose
|
||||||
|
|
||||||
In addition to the Docker Engine, Docker Compose must also be installed on the target system.
|
In addition to the Docker Engine, Docker Compose must also be installed on the target system.
|
||||||
|
|
||||||
- [Installing and Using Docker Compose](https://docs.docker.com/compose/install/)
|
- [Installing and Using Docker Compose](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
## Quickstart (Docker)
|
## Quickstart (Docker)
|
||||||
|
|
@ -49,8 +43,7 @@ cd DamageDetector
|
||||||
2. **Deploy the app to your local cluster.**
|
2. **Deploy the app to your local cluster.**
|
||||||
|
|
||||||
```
|
```
|
||||||
cd scripts
|
bash ./scripts/local_deploy.sh
|
||||||
bash local_deploy.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
3. **Wait for the stack to be ready.**
|
3. **Wait for the stack to be ready.**
|
||||||
|
|
@ -75,34 +68,37 @@ http://localhost:8080/ui
|
||||||
|
|
||||||
## Other Deployment Options
|
## Other Deployment Options
|
||||||
|
|
||||||
- **Istio**: [See these instructions.](./docs/service-mesh.md)
|
- **Istio**: [See these instructions.](docs/service-mesh.md)
|
||||||
- **Minikube**: see the [Development Guide](./docs/development-guide.md)
|
- **Minikube**: see the [Development Guide](docs/development-guide.md)
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
**DamageDetector** is composed of 2 microservices written in different languages that talk to each other.
|
**DamageDetector** is composed of 2 microservices written in different
|
||||||
|
languages that talk to each other.
|
||||||
|
|
||||||

|
[](./docs/img/architecture-diagram.png)
|
||||||
|
|
||||||
The cloud architecture shown here represents an exemplary network infrastructure that can be adapted by the operator as
|
|
||||||
desired. It makes no claim to completeness or correctness.
|
|
||||||
|
|
||||||

|
The cloud architecture shown here represents an exemplary network infrastructure that can be adapted by the operator as desired. It makes no claim to completeness or correctness.
|
||||||
|
|
||||||
|
[](./docs/img/architecture-diagram.png)
|
||||||
|
|
||||||
| Service | Language | Description |
|
| Service | Language | Description |
|
||||||
| -------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------- |
|
| ---------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| [frontend](./source/frontend) | Python | Exposes an HTTP server to serve the website. Does require basicAuth signup/login to interact with the API |
|
| [frontend](./source/frontend) | Python | Exposes an HTTP server to serve the website. Does require basicAuth signup/login to interact with the API |
|
||||||
| [mongodb](./source/mongodb) | C++ | Stores damage notifications from users. |
|
| [mongodb](./source/mongodb) | C++ | Stores demage notifications from user's. |
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- **[CNCF - Cloud Native Computing Foundation](https://www.cncf.io):** This application is developed according to the
|
- **[CNCF - Cloud Nativ Computing Foundation](https://www.cncf.io):** This application is developed according to the recommendations of the CNCF.
|
||||||
recommendations of the CNCF.
|
|
||||||
- **[Kubernetes](https://kubernetes.io)/[Docker](https://www.docker.com):**
|
- **[Kubernetes](https://kubernetes.io)/[Docker](https://www.docker.com):**
|
||||||
The app is designed to run on Kubernetes (both locally on "Docker for Desktop" and on the cloud).
|
The app is designed to run on Kubernetes (both locally on "Docker for
|
||||||
|
Desktop", as well as on the cloud).
|
||||||
- **[Istio](https://istio.io):** Application works on Istio service mesh.
|
- **[Istio](https://istio.io):** Application works on Istio service mesh.
|
||||||
|
|
||||||
|
|
||||||
## Local Development
|
## Local Development
|
||||||
|
|
||||||
If you would like to contribute features or fixes to this app, see the [Development Guide](./docs/development-guide.md)
|
If you would like to contribute features or fixes to this app, see the [Development Guide](./docs/development-guide.md) on how to build this demo locally.
|
||||||
on how to build this demo locally.
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ This doc explains how to build and run the DamageDetector source code locally.
|
||||||
```
|
```
|
||||||
|
|
||||||
- To launch **Docker for Desktop** (tested with Mac/Windows/Linux). Go to Preferences:
|
- To launch **Docker for Desktop** (tested with Mac/Windows/Linux). Go to Preferences:
|
||||||
- choose "Enable Kubernetes",
|
- choose “Enable Kubernetes”,
|
||||||
- set CPUs to at least 3, and Memory to at least 6.0 GiB
|
- set CPUs to at least 3, and Memory to at least 6.0 GiB
|
||||||
- on the "Disk" tab, set at least 32 GB disk space
|
- on the "Disk" tab, set at least 32 GB disk space
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue