Feint is a zero-dependency Go binary that emulates the APIs of Scaleway, Outscale, and Exoscale on a single port, enabling local testing without cloud accounts or bills.

Stars

21

7-day growth

No data

Forks

0

Open issues

19

License

Apache-2.0

Last updated

2026-07-30

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It measures API surfaces automatically via SDK scans and conformance tests with real clients, unlike traditional mock servers, and optionally provisions real virtual machines via Incus for faithful network emulation.

Who it is for

  • Developers working with Scaleway, Outscale, or Exoscale
  • DevOps engineers testing Terraform/OpenTofu configurations locally
  • Cloud SDK/CLI maintainers needing offline integration tests
  • Teams seeking cost-effective CI pipelines that avoid cloud API costs

Use cases

  • Running Scaleway/Outscale/Exoscale CLI commands against a local emulator
  • Applying Terraform configurations without a cloud account
  • Testing cloud SDK interactions in CI without network access
  • Learning cloud API behavior through a realistic local environment

Strengths

  • Single static binary with zero external dependencies
  • Automated surface scan detects upstream API changes weekly and opens PRs
  • Conformance suites replay real official clients (scw, oapi-cli, exo, Terraform) in CI
  • Optional real-machine mode (Incus) verifies network isolation, firewall, and IP addresses

Considerations

  • Covers only 27% of Scaleway, 7% of Outscale, and 3% of Exoscale upstream APIs (see untriaged column)
  • Object storage is intentionally out of scope (needs DNS/TLS interception)
  • Full machine mode requires Incus and OVN setup, and is not tested on macOS

README quick start

Every European cloud needs an emulator

One binary. One port. No account, no bill.

AWS has LocalStack. Azure has Azurite. European clouds have had nothing, and their users test against a paying account or not at all.

feint emulates their APIs so that SDKs, CLIs and Terraform run against your laptop. Scaleway, Outscale and Exoscale are the first three — the architecture exists so a fourth changes nothing outside its own pack, and the scan that keeps them honest reads whatever SDK or API description that provider publishes.

The name is the fencing move: feinte, from Old French feindre — a movement made to look like the real one, so the opponent commits. That is the whole test here. The official client commits, and cannot tell.

The mark draws the same argument: a solid line for the surface actually served, a dashed one leaving the same corner at the same angle for what the provider announced and nobody has driven yet. docs/brand.md has the files and what may be done with them.

feint serve
#  feint dev listening on 127.0.0.1:4599
#    scaleway  55 routes
#    outscale  20 routes
#    exoscale  14 routes
#    machines  none

That is one endpoint for three clouds. They do not collide in URL space — Scaleway serves //v/…, Outscale POST /api/v1/, Exoscale /v2/ — so one http.ServeMux hosts all three, and the server refuses to start if two packs claim the same route.

Every command in that recording really ran: the emulator starts, the official scw CLI creates a server, the official Terraform provider applies a configuration through api_url, and the emulator stops. It is generated from tools/demo/quickstart.tape with mise run demo, so a command that breaks breaks the demo. A recording nobody can re-run is a claim, and the whole argument here is that a claim is not a proof.

A second tape covers the part

Description

Local emulator for European cloud APIs — Scaleway, Outscale, Exoscale. One binary, one port, no account.

Related repositories

Similar projects matched by category, topics, and programming language.

deerwork-ai
Featured
deerwork-ai GitHub avatar

deer-workflow

An open-source Dynamic Workflow runtime that combines deterministic TypeScript orchestration with replaceable Agent runtimes.

AI & Machine LearningLarge Language Models
312
yaojingang
Featured
yaojingang GitHub avatar

TokHub

TokHub is an open-source monitoring, recommendation, and OpenAI-compatible gateway system for AI API intermediaries, combining public status pages, supplier rankings, user workspaces, layered probing, metering, alerts, encrypted keys, and Docker self-hosting.

AI & Machine LearningBackend & APIs
189
amitshekhariitbhu
Featured
amitshekhariitbhu GitHub avatar

ai-agents-tutorial

A comprehensive step-by-step tutorial series that teaches AI agents from scratch, covering function calling, agent loops, ReAct, reflection, plan-and-execute, multi-agent systems, orchestration, evaluation, and related concepts like RAG, GraphRAG, and LangChain.

AI & Machine LearningLarge Language Models
136