Skip to content

Oracle Streaming Service

Oracle Streaming provides a managed OCI service for ingesting and consuming high-volume event streams in real time.

The current supported surface uses apiVersion: streaming.oracle.com/v1beta1 and kind: Stream.

Resource Snapshot

Field Value
Service streaming
Resource Stream
API Version streaming.oracle.com/v1beta1
Package Streaming
Support Status Preview
Latest Released Version v2.0.0-alpha
Install Namespace oci-service-operator-streaming-system

Create Policies

Instance Principal

The OCI Service Operator dynamic group should have manage permission for the stream-family and streampools resource types.

Allow dynamic-group <OSOK_DYNAMIC_GROUP> to manage stream-family in compartment <COMPARTMENT_NAME>
Allow dynamic-group <OSOK_DYNAMIC_GROUP> to manage streampools in compartment <COMPARTMENT_NAME>

User Principal

The OCI Service Operator user should have manage permission for the stream-family and streampools resource types.

Allow group <SERVICE_BROKER_GROUP> to manage stream-family in compartment <COMPARTMENT_NAME>
Allow group <SERVICE_BROKER_GROUP> to manage streampools in compartment <COMPARTMENT_NAME>

Spec Fields

This summary shows the top-level spec fields. Use the full API reference for nested fields, defaults, and enum values.

Field Description Type Required
compartmentId The OCID of the compartment that contains the stream. string No
definedTags Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} map[string, map[string, string]] No
freeformTags Free-form tags for this resource. Each tag is a simple key-value pair that is applied with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} map[string, string] No
name The name of the stream. Avoid entering confidential information. Example: TelemetryEvents string Yes
partitions The number of partitions in the stream. integer Yes
retentionInHours The retention period of the stream, in hours. Accepted values are between 24 and 168 (7 days). If not specified, the stream will have a retention period of 24 hours. integer No
streamPoolId The OCID of the stream pool that contains the stream. string No

Status Fields

This summary shows the top-level status fields. Use the full API reference for nested fields, defaults, and enum values.

Field Description Type Required
compartmentId The OCID of the stream. string No
definedTags Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}}' |map[string, map[string, string]]` No
freeformTags Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} map[string, string] No
id The OCID of the stream. string No
lifecycleState The current state of the stream. string No
lifecycleStateDetails Any additional details about the current state of the stream. string No
messagesEndpoint The endpoint to use when creating the StreamClient to consume or publish messages in the stream. If the associated stream pool is private, the endpoint is also private and can only be accessed from inside the stream pool's associated subnet. string No
name The name of the stream. Avoid entering confidential information. Example: TelemetryEvents string No
partitions The number of partitions in the stream. integer No
retentionInHours The retention period of the stream, in hours. This property is read-only. integer No
status - object Yes
streamPoolId The OCID of the stream pool that contains the stream. string No
timeCreated The date and time the stream was created, expressed in in RFC 3339 (https://tools.ietf.org/rfc/rfc3339) timestamp format. Example: 2018-04-20T00:00:07.405Z string No

Sample Manifest

This example is generated from the checked-in sample manifest at config/samples/streaming_v1beta1_stream.yaml. Replace placeholder values before applying it.

Open the rendered sample page

#
# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
#

apiVersion: streaming.oracle.com/v1beta1
kind: Stream
metadata:
  name: stream-sample
spec: {}

Current v2 Notes

  • The generated v2 Stream contract does not expose the retired bind-by-id field from the older API.
  • Author new manifests only against streaming.oracle.com/v1beta1.
  • In-place updates are limited to spec.streamPoolId, spec.freeformTags, and spec.definedTags.
  • Changes to spec.name, spec.partitions, and spec.retentionInHours are not applied in place.

Access Information

When a Stream becomes active, OSOK creates a same-name Secret in the resource namespace containing one key:

  • endpoint

The same endpoint is also mirrored on the CR at status.messagesEndpoint.

Delete a Stream

Delete the Stream CR to delete the OCI stream and clean up the endpoint Secret.

kubectl delete stream <CR_OBJECT_NAME>