Oracle Cloud Infrastructure Queue¶
The current OSOK Queue rollout promotes the top-level OCI Queue resource under apiVersion: queue.oracle.com/v1beta1 and kind: Queue.
The published reconcile path is work-request-aware: create, update, and delete all reconcile against OCI work requests, Queue identity is recovered from work-request resources, and status.async.current is the canonical in-flight tracker while the legacy create, update, and delete work-request ID fields remain compatibility mirrors.
Resource Snapshot¶
| Field | Value |
|---|---|
| Service | queue |
| Resource | Queue |
| API Version | queue.oracle.com/v1beta1 |
| Package | Queue |
| Support Status | Preview |
| Latest Released Version | v2.0.0-alpha |
| Install Namespace | oci-service-operator-queue-system |
Quick Links¶
- Resource Guide Index
- Package Page
- API Reference
- Spec Reference
- Status Reference
- Rendered Sample (
config/samples/queue_v1beta1_queue.yaml)
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 |
|---|---|---|---|
capabilities |
The capability to add on the queue | list[object] |
No |
channelConsumptionLimit |
The percentage of allocated queue resources that can be consumed by a single channel. For example, if a queue has a storage limit of 2Gb, and a single channel consumption limit is 0.1 (10%), that means data size of a single channel can't exceed 200Mb. Consumption limit of 100% (default) means that a single channel can consume up-to all allocated queue's resources. | integer |
No |
compartmentId |
The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the queue. | string |
Yes |
customEncryptionKeyId |
The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the custom encryption key to be used to encrypt messages content. | string |
No |
deadLetterQueueDeliveryCount |
The number of times a message can be delivered to a consumer before being moved to the dead letter queue. A value of 0 indicates that the DLQ is not used. | integer |
No |
definedTags |
Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace": {"bar-key": "value"}} |
map[string, map[string, string]] |
No |
displayName |
The user-friendly name of the queue. | string |
Yes |
freeformTags |
Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"} |
map[string, string] |
No |
retentionInSeconds |
The retention period of messages in the queue, in seconds. | integer |
No |
timeoutInSeconds |
The default polling timeout of the messages in the queue, in seconds. | integer |
No |
visibilityInSeconds |
The default visibility timeout of the messages consumed from the queue, in seconds. | integer |
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 |
|---|---|---|---|
capabilities |
The list of capabilities enabled on the queue | list[object] |
No |
channelConsumptionLimit |
The percentage of allocated queue resources that can be consumed by a single channel. For example, if a queue has a storage limit of 2Gb, and a single channel consumption limit is 0.1 (10%), that means data size of a single channel can't exceed 200Mb. Consumption limit of 100% (default) means that a single channel can consume up-to all allocated queue's resources. | integer |
No |
compartmentId |
The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the queue. | string |
No |
createWorkRequestId |
The work request OCID tracking the in-flight create operation. | string |
No |
customEncryptionKeyId |
The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the custom encryption key to be used to encrypt messages content. | string |
No |
deadLetterQueueDeliveryCount |
The number of times a message can be delivered to a consumer before being moved to the dead letter queue. A value of 0 indicates that the DLQ is not used. | integer |
No |
definedTags |
Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace": {"bar-key": "value"}} |
map[string, map[string, string]] |
No |
deleteWorkRequestId |
The work request OCID tracking the in-flight delete operation. | string |
No |
displayName |
A user-friendly name for the queue. Does not have to be unique, and it's changeable. Avoid entering confidential information. | string |
No |
freeformTags |
Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: {"bar-key": "value"} |
map[string, string] |
No |
id |
A unique identifier for the queue that is immutable on creation. | string |
No |
lifecycleDetails |
Any additional details about the current state of the queue. | string |
No |
lifecycleState |
The current state of the queue. | string |
No |
messagesEndpoint |
The endpoint to use to consume or publish messages in the queue. | string |
No |
retentionInSeconds |
The retention period of the messages in the queue, in seconds. | integer |
No |
status |
- | object |
Yes |
systemTags |
Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud": {"free-tier-retained": "true"}} |
map[string, map[string, string]] |
No |
timeCreated |
The time that the queue was created, expressed in RFC 3339 (https://tools.ietf.org/rfc/rfc3339) timestamp format. Example: 2018-04-20T00:00:07.405Z |
string |
No |
timeUpdated |
The time that the queue was updated, expressed in RFC 3339 (https://tools.ietf.org/rfc/rfc3339) timestamp format. Example: 2018-04-20T00:00:07.405Z |
string |
No |
timeoutInSeconds |
The default polling timeout of the messages in the queue, in seconds. | integer |
No |
updateWorkRequestId |
The work request OCID tracking the in-flight update operation. | string |
No |
visibilityInSeconds |
The default visibility timeout of the messages consumed from the queue, in seconds. | integer |
No |
Sample Manifest¶
This example is generated from the checked-in sample manifest at config/samples/queue_v1beta1_queue.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.
#
#
# Replace the OCI identifiers below before running e2e.
# Update metadata.name and spec.displayName if you want to force a fresh create
# instead of binding to an existing Queue with the same display name in the same
# compartment.
#
apiVersion: queue.oracle.com/v1beta1
kind: Queue
metadata:
name: queue-sample
spec:
compartmentId: ocid1.compartment.oc1..exampleuniqueID
displayName: "queue-sample"
visibilityInSeconds: 30
timeoutInSeconds: 20
Update Behavior¶
Update the same Queue object by modifying supported mutable fields and reapplying the manifest.
spec.compartmentId and spec.retentionInSeconds are treated as create-only in this rollout. If they drift from the live OCI Queue, OSOK rejects the update instead of silently recreating the Queue.
Endpoint Secret¶
Once the Queue reaches Active and status.messagesEndpoint is present, OSOK manages a same-name Secret in the Queue namespace with one key:
endpoint
Ownership is guarded through the queue.oracle.com/queue-uid=<queue UID> label. OSOK adopts only an unlabeled same-name Secret whose data already matches the desired endpoint payload.
Out of Scope¶
This rollout is intentionally limited to Queue.
The following Queue-family resources remain out of scope:
ChannelMessageStatsWorkRequestWorkRequestErrorWorkRequestLog- top-level
workrequestsAPI group