Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 23 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
clippy:
name: Clippy
runs-on: ubuntu-latest
timeout-minutes: 45
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
Expand All @@ -37,6 +37,7 @@ jobs:
fmt:
name: Rust fmt
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
Expand All @@ -47,14 +48,15 @@ jobs:

deny:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v2

doc:
name: Documentation
runs-on: ubuntu-latest
timeout-minutes: 45
timeout-minutes: 30
env:
RUSTDOCFLAGS: -Dwarnings
steps:
Expand All @@ -63,24 +65,39 @@ jobs:
with:
toolchain: stable
components: rustfmt
- run: cargo doc --color=always --verbose --no-deps
- run: cargo doc --all-features --color=always --verbose --workspace --no-deps

build:
runs-on: ubuntu-latest
timeout-minutes: 45
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustc-dev
- run: cargo check --benches --all-features --release
- run: cargo check --workspace --tests --all-features --release

doc_test:
name: Doc tests
needs: build
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
with:
components: llvm-tools, rustc-dev
- run: >
cargo test --doc
--verbose --color always
--workspace --no-fail-fast

test:
name: Tests
needs: build
runs-on: ubuntu-latest
timeout-minutes: 45
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
ProSA - **Pro**tocol **S**ervice **A**daptor
==============================

ProSA is a merge of multiple [Worldline](https://worldline.com/) internal product concepts caviarized to be released as a [Rust](https://www.rust-lang.org/) open-source.
[<img alt="github" src="https://img.shields.io/badge/github-46beaa?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/worldline/ProSA)
[<img alt="crates-io" src="https://img.shields.io/badge/crates.io-ffeb78?style=for-the-badge&labelColor=555555&logo=rust" height="20">](https://crates.io/crates/prosa)
[<img alt="docs-rs" src="https://img.shields.io/badge/docs.rs-41b4d2?style=for-the-badge&labelColor=555555&logo=docs.rs" height="20">](https://docs.rs/prosa)
[<img alt="mdbook" src="https://img.shields.io/badge/mdbook-005a8c?style=for-the-badge&labelColor=555555&logo=mdbook" height="20">](https://worldline.github.io/ProSA/)
[<img alt="build status" src="https://img.shields.io/github/actions/workflow/status/worldline/ProSA/ci.yml?branch%3Amain&style=for-the-badge" height="20">](https://github.com/worldline/ProSA/actions?query=branch%3Amain)
[<img alt="dependency status" src="https://img.shields.io/deps-rs/repo/github/worldline/ProSA?style=for-the-badge" height="20">](https://deps.rs/repo/github/worldline/ProSA)

ProSA is a merge of multiple [Worldline](https://worldline.com/) internal product concepts caviarized to be released as a [🦀 Rust](https://www.rust-lang.org/) open-source.
The library aimed at providing a simple and lightweight protocol service adaptor for service oriented architectures.
The goal of this project is to provide a flexible and scalable platform for developing and deploying microservices, allowing developers to focus on writing business logic while ProSA takes care of the underlying infrastructure concers.

A [ProSA mdBook](https://worldline.github.io/ProSA/) is available if you want to learn everything about ProSA.
A [📖 ProSA mdBook](https://worldline.github.io/ProSA/) is available if you want to learn everything about ProSA.

## Legend

Expand All @@ -16,7 +23,6 @@ ProSA components are illustrated:
- Settings: [<img alt="settings" src="https://raw.githubusercontent.com/worldline/ProSA/main/assets/settings.svg" width="26">](https://docs.rs/prosa/latest/prosa/core/settings/ "settings")
- Adaptor: [<img alt="adaptor" src="https://raw.githubusercontent.com/worldline/ProSA/main/assets/adaptor.svg" width="26">](https://docs.rs/prosa/latest/prosa/core/adaptor/ "adaptor")


## Service approach

ProSA is made to empower SOA (*S*ervice *O*riented *A*rchitecture).
Expand Down Expand Up @@ -47,7 +53,6 @@ flowchart LR
proc -- internal service message --> bus
```


## Getting Started

Everything you need to know about ProSA components is describe in the [Docs.rs](https://docs.rs/prosa/latest/prosa/) documentation.
Expand All @@ -72,7 +77,6 @@ flowchart LR
settings --> Processor
```


## Deploying

ProSA is not a full product that you can run.
Expand All @@ -81,7 +85,6 @@ It's intended to be a framework to run processors that offer/consume services.
So ProSA needs to be built with a set of processors (internal or external) to work.
To build one, please refer to [cargo-prosa](./cargo-prosa/README.md).


## Processor list

### Worldline
Expand Down
6 changes: 2 additions & 4 deletions prosa_book/book.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
[book]
authors = ["Jeremy HERGAULT <jeremy.hergault@worldline.com>", "Anthony THOMAS <anthony.thomas@worldline.com>", "Olivier SCHYNS <olivier.schyns@worldline.com>", "Rene-Louis EYMARD <rene-louis.eymard@worldline.com>"]
language = "en"
multilingual = false
src = "src"
title = "ProSA - Protocol Service Adaptor"
src = "src"
language = "en"

[preprocessor.mermaid]
command = "mdbook-mermaid"

[output.html]
additional-css = ["worldline.css"]
git-repository-url = "https://github.com/worldline/ProSA"
git-repository-icon = "fa-github"
additional-js = ["mermaid.min.js", "mermaid-init.js"]
2 changes: 1 addition & 1 deletion prosa_book/src/ch00-00-prosa.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ In fact, ProSA contains no direct references to Worldline's private properties.

## Version

This book is intended for version 0.3.0 of ProSA.
This book is intended for version 0.4.0 of ProSA.