Mux · Arazzo Workflow

Mux Rotate System Signing Key

Version 1.0.0

Create a new system-level signing key for Mux Data SDK auth, read it back, list keys, then delete the previous key.

1 workflow 1 source API 1 provider
View Spec View on GitHub Video InfrastructureVideo StreamingLive StreamingVideo AnalyticsVideo AIEncodingArazzoWorkflows

Provider

mux-com

Workflows

system-signing-key-rotation
Create a new system signing key and retire the previous one.
Creates a system signing key, reads it back, lists keys, and deletes the previous key to finish the rotation.
4 steps inputs: previousKeyId outputs: keys, newKeyId
1
createKey
create-signing-key
Create a new system signing key, returning its id and private key.
2
getKey
get-signing-key
Read the new signing key back to capture its public key.
3
listKeys
list-signing-keys
List the system signing keys to confirm both the new and previous keys are present before retiring the old one.
4
deletePreviousKey
delete-signing-key
Delete the previous system signing key so only the new key remains in service.

Source API Descriptions

Arazzo Workflow Specification

mux-com-system-signing-key-rotation-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mux Rotate System Signing Key
  summary: Create a new system-level signing key for Mux Data SDK auth, read it back, list keys, then delete the previous key.
  description: >-
    Rotates the system signing keys that authenticate the Mux Data Web and
    native SDKs. The workflow creates a new system signing key, reads it back to
    confirm its public key, lists the system signing keys, and deletes the
    caller supplied previous key so SDK auth tokens must be minted with the new
    key going forward. Every step spells out its request inline so the flow can
    be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: muxApi
  url: ../openapi/mux-openapi.yml
  type: openapi
workflows:
- workflowId: system-signing-key-rotation
  summary: Create a new system signing key and retire the previous one.
  description: >-
    Creates a system signing key, reads it back, lists keys, and deletes the
    previous key to finish the rotation.
  inputs:
    type: object
    required:
    - previousKeyId
    properties:
      previousKeyId:
        type: string
        description: The id of the existing system signing key to retire once the new key is created.
  steps:
  - stepId: createKey
    description: >-
      Create a new system signing key, returning its id and private key.
    operationId: create-signing-key
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      keyId: $response.body#/data/id
      privateKey: $response.body#/data/private_key
  - stepId: getKey
    description: >-
      Read the new signing key back to capture its public key.
    operationId: get-signing-key
    parameters:
    - name: SIGNING_KEY_ID
      in: path
      value: $steps.createKey.outputs.keyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      keyId: $response.body#/data/id
      createdAt: $response.body#/data/created_at
  - stepId: listKeys
    description: >-
      List the system signing keys to confirm both the new and previous keys are
      present before retiring the old one.
    operationId: list-signing-keys
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      keys: $response.body#/data
  - stepId: deletePreviousKey
    description: >-
      Delete the previous system signing key so only the new key remains in
      service.
    operationId: delete-signing-key
    parameters:
    - name: SIGNING_KEY_ID
      in: path
      value: $inputs.previousKeyId
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      statusCode: $statusCode
  outputs:
    newKeyId: $steps.createKey.outputs.keyId
    keys: $steps.listKeys.outputs.keys