Compare commits

..

No commits in common. "33f055c8299168563c951a51fc8e23e93b31bf98" and "505e6474858a3d84c80d4cbd206436824c3ddc01" have entirely different histories.

3 changed files with 43 additions and 45 deletions

View File

@ -1,4 +1,4 @@
<p style="text-align: center;">
<p align="center">
<img src="docs/img/masterplan.png" width="300" alt="Masterplan Nahmobilität" />
</p>
@ -40,13 +40,13 @@ cd DamageDetector
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
```
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
@ -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
```
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
```
## Andere Deployment Optionen
## Andere Deployment Options
- **Istio**: [See these instructions.](docs/service-mesh.md)
- **Minikube**: Siehe den [Development Guide](/docs/development-guide.md)
## Architektur
**DamageDetector** besteht aus 2 Microservices, die in verschiedenen
**DamageDetector** besteht aus 2 Microservices, die in verschiedenen Sprachen
Sprachen geschrieben sind und miteinander kommunizieren.
![Architecture of docker microservices](./docs/img/DemageDetector_Docker_Architecture.png)
[![Architecture of docker
microservices](./docs/img/DemageDetector_Docker_Architecture.png)](./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.
![Architecture of cloud microservices](./docs/img/DemageDetector_Cloud_Architecture.png)
[![Architecture of cloud
microservices](./docs/img/DemageDetector_Cloud_Architecture.png)](./docs/img/architecture-diagram.png)
| Service | Language | Description |
| ---------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------- |
@ -84,7 +86,7 @@ Die hier gezeigte Cloud-Architektur stellt eine beispielhafte Netzinfrastruktur
## 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):**
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.

View File

@ -1,19 +1,19 @@
<p style="text-align: center;">
<img src="./docs/img/masterplan.png" width="300" alt="Masterplan Nahmobilität" />
<p align="center">
<img src="docs/img/masterplan.png" width="300" alt="Masterplan Nahmobilität" />
</p>
<details>
<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
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. 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.
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.
@ -21,20 +21,14 @@ If youre using this application, please **★Star** this repository to show y
Collaboration on this repo is expressly encouraged.
## 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
To install Docker Engine, follow the instructions within one of the guides below:
- [Installing and Using Docker Engine](https://docs.docker.com/engine/install/)
### Install Docker Compose
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/)
## Quickstart (Docker)
@ -49,8 +43,7 @@ cd DamageDetector
2. **Deploy the app to your local cluster.**
```
cd scripts
bash local_deploy.sh
bash ./scripts/local_deploy.sh
```
3. **Wait for the stack to be ready.**
@ -75,34 +68,37 @@ http://localhost:8080/ui
## Other Deployment Options
- **Istio**: [See these instructions.](./docs/service-mesh.md)
- **Minikube**: see the [Development Guide](./docs/development-guide.md)
- **Istio**: [See these instructions.](docs/service-mesh.md)
- **Minikube**: see the [Development Guide](docs/development-guide.md)
## 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.
![Architecture of docker microservices](./docs/img/DemageDetector_Docker_Architecture.png)
[![Architecture of docker
microservices](./docs/img/DemageDetector_Docker_Architecture.png)](./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.
![Architecture of cloud microservices](./docs/img/DemageDetector_Cloud_Architecture.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.
[![Architecture of cloud
microservices](./docs/img/DemageDetector_Cloud_Architecture.png)](./docs/img/architecture-diagram.png)
| 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 |
| [mongodb](./source/mongodb) | C++ | Stores damage notifications from users. |
| [mongodb](./source/mongodb) | C++ | Stores demage notifications from user's. |
## Features
- **[CNCF - Cloud Native Computing Foundation](https://www.cncf.io):** This application is developed according to the
recommendations of the CNCF.
- **[CNCF - Cloud Nativ Computing Foundation](https://www.cncf.io):** This application is developed according to the recommendations of the CNCF.
- **[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.
## Local Development
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.
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.

View File

@ -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:
- choose "Enable Kubernetes",
- choose “Enable Kubernetes”,
- 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