Last updated Mar 24, 2024

Stream Descriptor

Skip to examples

The fluid descriptor for provisioning a Stream.

Specification

JSON Schema

1
2
# stream
# The fluid descriptor for provisioning a Stream.

apiVersion: "v1alpha1"          # [required] [enum] The current version of this resource | Choose one of either: v1alpha1
id: "id"                        # [required] [stream-ari] A unique identifier for the stream being described
name: "name"                    # [required] [non-empty string] The name of the stream
summary: "summary"              # [required] [non-empty string] Short description about the resource being described
documentation: "documentation"  # [optional] [uri] URL link to documentation about the resource being described
status: "Archived"              # [optional] [enum] Lifecyle status of the resource being described | Choose one of either: Archived, Available, Decommissioned, Deleted, Deprecated, Development, Preview
managed: "full"                 # [optional] [enum] Indicates if the resource is fully managed (full, or if omitted) or metadata managed (metadata) | Choose one of either: full, metadata
contacts:                       # [optional] Contact objects for the resource being described
  # Any of:
  author:                       # [optional] [non-empty array] List of Slack channels and/or emails to contact for questions about the descriptor
    ## One of:
    - email: "email"            # [optional] [email contact] A contact email address
    ## OR
    - slack: "slack"            # [optional] [non-empty slack contact] Slack channel for contacting or alerting purposes
    ## End one of
  # OR
  support:                      # [optional] [non-empty array] List of Slack channels and/or emails to contact for help about the descriptor
    ## One of:
    - email: "email"            # [optional] [email contact] A contact email address
    ## OR
    - slack: "slack"            # [optional] [non-empty slack contact] Slack channel for contacting or alerting purposes
    ## End one of
  # OR
  operations:                   # [optional] [non-empty array] List of Slack channels and/or on-call schedules to send alerts and notifications related to the descriptor
    ## One of:
    - slack: "slack"            # [optional] [non-empty slack contact] Slack channel for contacting or alerting purposes
    ## OR
    - opsgenie: "opsgenie"      # [optional] [non-empty opsgenie contact] Name of your Opsgenie schedule. Can be found here https://atlassian.app.opsgenie.com/schedule/whoIsOnCall
    ## End one of
  # End any of
product: "product"              # [optional] [product-ari] Product this stream belongs to
version:                        # [optional] Version object
  major: 1                      # [required] [integer] The MAJOR version as an integer (min: 1)
  minor: 0                      # [optional] [integer] The MINOR version as an integer (min: 0)
previous: "previous"            # [optional] [stream-ari] Identifier of the previous stream version
resource:                       # [required] Technology specific resource information
  # One of:
  kafka:                        # [optional] Kafka topic resource
    numPartitions: 1            # [required] [integer] Number of partitions (min: 1, max: 20) (min: 1) (max: 20)
    replicationFactor: 1        # [required] [integer] Number of replicas (min: 1, max: 3) (min: 1) (max: 3)
    compacted: true             # [optional] [boolean] Indicates is this is a compacted topic (default is false)
    deleteRetentionMs: 1        # [optional] [integer] Amount of time to retain tombstone markers. Max and default is 1 day. (min: 1) (max: 86400000)
    minCleanableDirtyRatio: 0   # [optional] [integer] Controls how frequently the log compactor cleans the log (min: 0)
    retentionBytes: 1           # [optional] [integer] The amount of messages, in bytes, to retain for this topic. This is the max data it will store, even if the messages are recent. When absent there is no retention size limit. (min: 1)
    retentionMs: 1              # [optional] [integer] How long messages should be retained for this topic, in milliseconds This is the oldest data it will keep, even if the messages are small enough. When absent, the default Kafka retention time is used. Max and default is 7 days. (min: 1) (max: 604800000)
    minInSyncReplicas: 1        # [optional] [integer] If provided must be >= 1 and <= replicationFactor. The minimum number of replicas that must be in-sync and written to when acks is set to 'all' for a write to be considered successful. When this is set producers should set acks to 'all' or they will not receive the durability guarantee of this setting. By default acks is set to 'all' in Kafka 3.0+. (min: 1) (max: 3)
    clusterId: "clusterId"      # [required] [string] The VirtualCluster hosting the topic
  # OR
  streamhubKinesis:             # [optional] Streamhub Kinesis topic resource
    streamMode: PROVISIONED     # [optional] [enum] Specifies the capacity mode for the stream, Allowed Values: PROVISIONED, ON_DEMAND. Default is PROVISIONED | Choose one of either: PROVISIONED, ON_DEMAND
    retentionHours: 168         # [optional] [integer] The new retention period of the stream, in hours. Default is 7 days (168 hours) (min: 24) (max: 8760)
    shards: 10                  # [optional] [integer] The number of shards that the stream will use. Default is 10 shards (min: 1) (max: 2000)
    avis:                       # [required] [non-empty array] List of avi's that should be subscribed in this stream
      "avis"                    # [required] [string] AVI of each stream
  # End one of

Examples

full-stream

1
2
apiVersion: v1alpha1
id: ari:cloud:data-lake::descriptor/stream/2d7b7657-cf6d-4a50-9b1c-67934914c593
product: ari:cloud:data-lake::descriptor/product/719d7e21-63ba-4bc5-a9b0-8ce1d2c4a288
name: full_stream
summary: A fully defined stream descriptor for testing purposes.
documentation: https://developer.atlassian.com/platform/fluid/
status: Available
contacts:
  author:
    - email: "pperson16@atlassian.com"
    - slack: "socrates-vnext"
  support:
    - email: "pperson17@atlassian.com"
    - slack: "socrates-vnext"
  operations:
    - opsgenie: "Vaporeon - Example Roster UNPAID"
    - slack: "socrates-vnext"
version:
  major: 1
previous: ari:cloud:data-lake::descriptor/stream/21f23909-0901-4c1a-bfa4-15129ab9cb14
resource:
  kafka:
    numPartitions: 1
    replicationFactor: 1
    compacted: true
    deleteRetentionMs: 50000000
    minCleanableDirtyRatio: 1
    retentionBytes: 1024
    retentionMs: 100000000
    minInSyncReplicas: 1
    clusterId: fd6430ef-ef78-4694-958f-31ed46d74402

Rate this page: