OCI Functions starter patterns

oci-fn-object-storage-router shows the boundary-first starter pattern I keep wanting public examples to teach.

This is the anchor repo for the OCI Functions starter track because it makes one workflow boundary legible: inspect the inbound Object Storage event, decide the route, and stop before the rest of production complexity crowds the example.

Why this repo carries the track

A short site-side guide before the proof layer on GitHub.

What it proves

Starter repos are strongest when they teach one visible handoff clearly instead of pretending to carry the entire downstream integration story.

Why it is the anchor

It carries the track standard quickly: one event shape, one routing decision, and one believable place where the real system begins next.

What survives the first run

The route decision payload is the artifact. It makes the handoff contract visible enough that a queue, webhook, or internal API can be attached later without losing the shape.

What the first useful success looks like

oci-fn-object-storage-router as a first useful success, not only a demo.

The first useful run is a local route decision against a realistic sample event. You can see the bucket, object name, matching rule, and next route before you have to care about auth, retries, or downstream delivery details.

Use this when you want a starter pattern to clarify the contract before wiring in real downstream systems such as queues, webhooks, or internal APIs.

Quick run

python3 func.py sample-event.json

Sample output shape

{
  "matched": true,
  "route": "finance-ingest",
  "rule": "finance-csv",
  "bucket": "shared-inbound",
  "object_name": "finance/inbound/april-close.csv"
}

Where it routes next

OCI Function pattern for routing Object Storage events to the right downstream system.