- Documentation: https://docs.outscale.com/en/
- Project website: https://github.com/outscale/osc-ricochet-2
- Join our community on Discord
- Example configs:
ricochet.json,ricochet-headarches.json
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.
- Rust & Cargo (stable toolchain recommended)
- Git
- (Optional) OUTSCALE credentials if you plan to mirror real-like identities
Download the latest binary from the Releases page.
git clone https://github.com/outscale/osc-ricochet-2.git
cd osc-ricochet-2
cargo build --releaseThe first argument to ricochet is the path to the configuration file.
{
"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".
Build and run with your config:
cargo run -- CONFIG.jsoncurl 127.0.0.1:3000/SetLog_ -d '{"log": {"scope": ["vms"], "dir": "out"}}'[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)
osc-ricochet-2 is released under the BSD 3-Clause license.
ยฉ 2025 Outscale SAS
See LICENSE for full details.
We welcome contributions!
Please read our Contributing Guidelines and Code of Conduct before submitting a pull request.