Skip to content

OCI Notifications: topics and subscriptions #415

Description

@arunesh-j

Implement OCI Notifications (ONS) against the existing portable notification driver.

Part of #376.

Scope

Topics (create/get/list/update/delete), subscriptions (create/get/list/update/delete, confirm, unsubscribe) and publishing a message to a topic.

Design notes

ONS is the closest 1:1 with SNS of any provider, so the portable Notification driver should fit with little strain — the interest is in getting the OCI wire shapes right rather than in mapping.

Two OCI specifics: the control plane and data plane sit under different API prefixes (topics and subscriptions vs PublishMessage on the topic's endpoint), and a subscription starts PENDING until confirmed, with a confirmation token — unlike an SNS subscription that can be auto-confirmed.

Topic delete is asynchronous and returns a work request.

Acceptance

  • Implements driver.Notification; OCI-only behaviour via a consumer-side Extras interface
  • Compartment recorded at create; every list requires compartmentId
  • Subscription lifecycle models PENDING → ACTIVE via confirmation
  • go build ./..., go test ./..., go test -race and golangci-lint clean
  • go generate ./... run and docs/coverage/ committed

Metadata

Metadata

Assignees

No one assigned

    Labels

    ociOracle Cloud Infrastructure

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions