Skip to content

outscale/osc-ricochet-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

276 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

osc-ricochet-2

Project Sandbox

osc-ricochet-2 logo


๐ŸŒ Links


๐Ÿ“„ Table of Contents


๐Ÿงญ Overview

osc-ricochet-2 is a lightweight โ€œricochetโ€ service that accepts API-like requests and can send results back โ€œfrom where they came,โ€ enabling quick local testing, mocking, or demo scenarios without hitting the real OUTSCALE API.

โš ๏ธ Expecting results identical to the OUTSCALE API may have unforeseen consequences. Use at your own risk.


โœ… Requirements

  • Rust & Cargo (stable toolchain recommended)
  • Git
  • (Optional) OUTSCALE credentials if you plan to mirror real-like identities

โš™ Installation

Option 1: Download from Releases

Download the latest binary from the Releases page.

Option 2: Install from source

git clone https://github.com/outscale/osc-ricochet-2.git
cd osc-ricochet-2
cargo build --release

๐Ÿ›  Configuration

The first argument to ricochet is the path to the configuration file.

Minimal example

{
  "auth_type": "mix",
  "tls": false,
  "in_convertion": true,
  "password_as_ak": true,
  "users": [
    {
      "access_key": "11112211111110000000",
      "secret_key": "0000001111112222223333334444445555555666",
      "login": "joe",
      "pass": "ashita wa dochida"
    }
  ],
  "log": {
    "scope": ["nets", "vms"],
    "dir": "all"
  }
}

Auth modes

  • none: no authentication.
  • exist: verify user exists, skip deeper checks.
  • mix: check password but skip V4 signature.
  • full: full auth (experimental/buggy).

Logging

  • "scope": which resources to log (e.g., ["nets"], ["vms"], or both).
  • "dir": which direction(s) to log โ€” "in", "out", or "all".

๐Ÿš€ Usage

Build and run with your config:

cargo run -- CONFIG.json

๐Ÿ’ก Examples

Adjust logs via API

curl 127.0.0.1:3000/SetLog_ -d '{"log": {"scope": ["vms"], "dir": "out"}}'

โ€œRicochetโ€ flow (ASCII)

[oapi-cli]
    |
    V
(createVms)    ->    [ricochet-2]
                           |
                           V
                     (create a VM)
                           |
                           V
[oapi-cli]    <----   (Send return)
    |
    V
(Print Result)
------- Some time later with a different client ----
 [curl]
    |
    V
(ReadVms)      ->    [ricochet-2]
                         |
                         V
 [curl]     <- (Send earlier created VM)
    |
    V
(print result)

๐Ÿ“œ License

osc-ricochet-2 is released under the BSD 3-Clause license.

ยฉ 2025 Outscale SAS

See LICENSE for full details.


๐Ÿค Contributing

We welcome contributions!

Please read our Contributing Guidelines and Code of Conduct before submitting a pull request.

About

A incomplete local Outscale cloud stack. Develop and test your cloud apps offline

Topics

Resources

License

Code of conduct

Contributing

Stars

0 stars

Watchers

4 watching

Forks

Contributors