Skip to content

Repository files navigation

Flotilla

Backend Frontend Codacy Badge

Flotilla is the main point of access for operators to interact with multiple robots in multiple facilities.
The application consists of a frontend in React, a backend in ASP.NET, and a Mosquitto MQTT Broker.

Deployments

We currently have 3 environments (Development, Staging, and Production) deployed to Aurora.

Environment Deployment Status
Development Frontend
Backend
Dev
Staging Frontend
Backend
Staging
Production Frontend
Backend
Production

Setup

For development, please fork the repository. Then, clone the repository:

git clone https://github.com/equinor/flotilla

Please see separate installation guides for the frontend, backend, and Broker. For the environment setup, either run the script as described below or set it up manually as described in each component's guide.

Automatic environment setup

Run the setup.sh to automatically set up your dev environment for the components. This script will ask you for the Client Secret for the backend and the MQTT broker server key for the MQTT broker.

Run with make

Common commands for the project are in Makefiles. See frontend makefile, backend makefile and root makefile. This requires the CLI program make.

Usage:

make <command-in-makefile> # for example: make run
Installation MacOS
brew install make
Installation Windows
choco install make

Run with Docker

Install Docker and Docker Compose.

Build the Docker container:

docker compose build

Set up a .env file in the backend directory with the following environment variables:

ASPNETCORE_ENVIRONMENT=Local
Local__DevUserId=
SARA__BaseUrl=https://localhost:8100/
SARA__Scopes__0=

Start Flotilla by running:

docker compose up

or

docker compose up --build

Using the aspire dashboard

The docker-compose contains a container for the aspire dashboard to show telemetry and a opentelemetry collector to filter telemetry. The aspire dashboard is available at http://localhost:18888 when run via docker compose.

To spin up only the broker, collector and aspire dashboard use

docker compose up broker aspire-dashboard otel-collector

Connecting to the development database instead of initDb

Write in backend/api/.env:

Database__UseInMemoryDatabase=false
Database__PostgreSqlConnectionString=...

The database connection string can be found in the keyvault in the development resource group in Azure. Remember to add your IP address to the accepted IPs for cennecting to the database.

Contributions

Equinor welcomes all kinds of contributions, including code, bug reports, issues, feature requests, and documentation. Please initiate your contribution by creating an issue or by forking the project and making a pull request. Commit messages shall be written according to this guide.

About

Flotilla is the main point of access for operators to interact with multiple robots in a facility.

Resources

Security policy

Stars

19 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages