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 |
Quick Links¶
- Resource Guide Index
- Package Page
- API Reference
- Spec Reference
- Status Reference
- Rendered Sample (
config/samples/streaming_v1beta1_stream.yaml)
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.
#
# 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
Streamcontract 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, andspec.definedTags. - Changes to
spec.name,spec.partitions, andspec.retentionInHoursare 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>