Skip to content

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

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.

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.
#

#
# 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:

  • Channel
  • Message
  • Stats
  • WorkRequest
  • WorkRequestError
  • WorkRequestLog
  • top-level workrequests API group