Skip to content
This repository has been archived by the owner on Aug 13, 2024. It is now read-only.

Commit

Permalink
chore(project): update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
evoxmusic committed Apr 10, 2024
1 parent 11c0b48 commit c279cdb
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 40 deletions.
88 changes: 50 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,39 +15,6 @@ That's it!

> ⚠️ Torii is in active development and not ready for production yet.
## Concepts

### Catalogs Service

The Catalogs Service is the core of Torii. It allows Platform Engineers to define a catalog of tools and services that developers can
use to build, deploy, and manage their applications.

The Catalogs Service is a simple YAML file that contains the list of tools and services available to developers. It also contains the list
of
scripts to run to validate and submit the form.

### Scorecard Service

The Scorecard Service is a simple service that allows Platform Engineers to define a scorecard for each tool and service available in the
Catalogs Service. The scorecard is a simple YAML file that contains the list of criteria and the score for each criterion.

### Workflow Service

The Workflow Service is a simple service that allows Platform Engineers to define a workflow for each tool and service available in the
Catalogs Service. The workflow is a simple YAML file that contains the list of steps and the order of each step.

## Features

| Feature | Status |
|-------------------|---------------------|
| Catalogs Service | WIP |
| Scorecard Service | Not implemented yet |
| Workflow Service | Not implemented yet |
| Authentication | Not implemented yet |
| Authorization | Not implemented yet |
| Audit | Not implemented yet |
| Logging | Not implemented yet |

## Getting Started

### Prerequisites
Expand Down Expand Up @@ -75,7 +42,6 @@ make docker_build_backend
make docker_build_frontend
```


## Usage

To start Torii, run the following command:
Expand Down Expand Up @@ -208,24 +174,70 @@ set -e # exit on error
exit 0
```

## Features

| Feature | Status |
|------------------|---------------------|
| Catalogs Service | WIP |
| Authentication | Not implemented yet |
| Authorization | Not implemented yet |
| Audit | Not implemented yet |

### Catalogs Service

The Catalogs Service is the core of Torii. It allows Platform Engineers to define a catalog of tools and services that developers can
use to build, deploy, and manage their applications.

The Catalogs Service is a simple YAML file that contains the list of tools and services available to developers. It also contains the list
of scripts to run to validate and submit the form.

## How Torii works

Torii works with 2 main components:

- Backend: The backend is a Rust application that exposes a REST API to interact with the frontend. It's configured with a YAML file that
contains the catalog of tools and services available to developers.
- Frontend: The frontend is a React application that interacts with the backend to display the catalog of tools and services available to
developers.

![Torii Architecture](./assets/diagram1.png)

Once the backend is started, it loads the configuration file, checks the syntax, and starts the REST API. Then, the frontend can be started
and it will interact with the backend to display the catalog of tools and services available to developers.

When a developer wants to use a tool or service, the frontend sends a request to the backend to get the form to fill. The backend sends the
form to the frontend, the developer fills it, and sends it back to the backend. The backend runs the validation scripts, the post-validation
scripts, and updates the model with the values returned by the post-validation scripts.

![Torii Sequence Diagram](./assets/diagram2.png)

As a Platform Engineer, you can easily define a catalog of tools and services available to developers.

## Contributing

Torii is still in early development. If you want to contribute, please open an issue or a pull request. We will improve the
contribution guidelines as soon as possible.

## Motivation

Today you have the choice between two options to build your Internal Developer Portal:
Today you have the choice between three options to build your Internal Developer Portal:

1. Painful: Build it yourself with a framework like [Backstage](https://backstage.io/)
2. Easy: Use a convenient but proprietary SaaS solution like Port, Cortex, OpsLevel, etc.
1. Use [Backstage](https://backstage.io) from Spotify. It's a great solution but it's hard to extend and customize. You need to be a
TypeScript/React expert to extend it.
2. Use a proprietary SaaS solution like Port, Cortex, OpsLevel, etc. It's a great solution but it's expensive and you don't have control
over the codebase.
3. Build your own solution from scratch. It's a great solution but it's hard to maintain and scale. You need to be a full-stack developer to
build it.

**We want to bring a third option** that takes the best of both worlds: an open-source solution that is easy to use and easy to extend.
Torii is a simple, powerful, and extensible open-source Internal Developer Portal that aims to be the best of all worlds. It's easy to
extend and customize, it's free, and you have control over the codebase.

## FAQ

### What's the difference between Torii and Qovery?

The Qovery and Torii projects are two different projects with different goals:

- [Qovery](https://www.qovery.com) is an Internal Developer **Platform** focusing on the Software Development Lifecycle (build, deploy, run).
- Torii is an Internal Developer **Portal** focusing on unifying the experience of all engineering tools.

Expand Down
Binary file added assets/diagram1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/diagram2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions backend/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "backend"
name = "torii"
version = "0.1.0"
edition = "2021"

Expand All @@ -17,7 +17,7 @@ serde_yaml = "0.9"
serde_json = "1.0"
clap = { version = "4.4", features = ["derive"] }
chrono = "0.4"
which = "5.0.0"
which = "6.0.1"
uuid = { version = "1.4.1", features = ["v4"] }

# [dev-dependencies]
Expand Down

0 comments on commit c279cdb

Please sign in to comment.