Last updated Mar 24, 2024

Product Descriptor

Skip to examples

The fluid descriptor for provisioning a Product. Describes broad configurations applied to all resources contained within the product.

Specification

JSON Schema

1
2
# product
# The fluid descriptor for provisioning a Product. Describes broad configurations applied to all resources contained within the product.

apiVersion: "v1alpha1"          # [required] [enum] The current version of this resource | Choose one of either: v1alpha1
id: "id"                        # [required] [product-ari] A unique identifier for the data product being described
name: "name"                    # [required] [non-empty string] The name of the data product. Cannot be changed, and must be snake_case.
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
owner: "owner"                  # [required] [non-empty string] StaffID of the owner of the data product - for asset attribution purposes
organization: "organization"    # [required] [non-empty organization] Cost center/Department that owns the resource for cost attribution purposes. go/stalk/<staffID> for cost center, and go/fpa for more info
repository: "repository"        # [required] [uri] A URL to the repository of this data product
resources:                      # [optional] Object that contains configs for resources inside a data product
  flowCompute:                  # [required] Configuration for compute resources for all flows inside of the data product
    requests:                   # [required] undefined
      size: "2X-Small"          # [required] [enum] Field specifying the size of the compute resource | Choose one of either: 2X-Small, X-Small, Small, Medium, Large
  checkCompute:                 # [optional] Configuration for compute resources for all quality checks inside of the data product
    requests:                   # [required] undefined
      executionMode: Shared     # [required] [enum] Shared (Recommended): Use the platform-wide compute cluster. Dedicated: Create a compute cluster for only this data product (higher cost) | Choose one of either: Shared, Dedicated
      size: Small               # [optional] [enum] Field specifying the size of the compute resource | Choose one of either: 2X-Small, X-Small, Small, Medium, Large
version:                        # [optional] Product version
  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] [product-ari] id of the previous product version

Examples

full-product

1
2
apiVersion: v1alpha1
id: ari:cloud:data-lake::descriptor/product/719d7e21-63ba-4bc5-a9b0-8ce1d2c4a288
name: full_data_product
summary: A fully defined data product descriptor for testing purposes.
documentation: https://developer.atlassian.com/platform/fluid/
status: Available
owner: pperson16
organization: Analytics Platform Eng
repository: https://bitbucket.org/atlassian/vaporeon/src/main/
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"
resources:
  flowCompute:
    requests:
      size: Small
  checkCompute:
    requests:
      executionMode: Dedicated
      size: Small
version:
  major: 1
  minor: 1
# Note: previous descriptor ID is not the same as the current descriptor's ID
previous: ari:cloud:data-lake::descriptor/product/5bbe0c88-1de6-49eb-abe7-43b3d33dd3e3

simple-product

1
2
apiVersion: v1alpha1
id: ari:cloud:data-lake::descriptor/product/dbc950e1-343f-46b6-8706-c58fc390a8a7
name: zone_ape
summary: Analytics Platform Engineering
owner: charlie
organization: Analytics Platform Eng
repository: https://bitbucket.org/atlassian/atlassian-data-descriptor-specification

Rate this page: