Skip to content

Workflow Configuration Reference

This document serves as a comprehensive reference for configuring n2x.io workflows using declarative YAML files. It details all supported configuration options to empower you to design and automate tasks within your n2x.io environment.

Workflow Configuration File:

# Workflow configuration file

apiVersion: v1
kind: Workflow

# Project Identification
projectID: "<projectID>"

# Optional Workflow Identification (For Updates)
# uncomment and fill for update operations
# workflowID: "<workflowID>"

# Workflow Details
name: "<workflow-name>"
description: "<workflow-description>"

# Workflow Activation
enabled: true

# Approval and Review Process (Optional)
reviewers:
  - "<email-address>"   # add additional reviewers as needed
approvers:
  - "<email-address>"   # add additional approvers as needed

# Trigger Configuration
triggers:
  # /api/v1/realm/{accountToken}/webhooks/workflow/{wfToken}
  # Webhook Trigger (default)
  webhook: true

  # Optional Schedule Trigger
  schedule:
    enabled: true   # Enable scheduled execution
    dateTime:       # Specific date/time trigger (one-time execution)
      year: 2023
      month: 11
      day: 26
      hour: 10
      minute: 30
    crontab: "0 5 * * *"  # Cron expression for recurring execution

# Workflow Tasks
tasks:
  - name: update-dnssec
    description: DNSSEC zones signing update  
    command:
      cmd: /etc/bind/update-dnssec.sh   # Command to execute
  - name: uptime
    description: uptime
    command:
      cmd: uptime      # Command to execute
  - name: top
    description: top
    command:
      cmd: top         # Command to execute
      args:            # Optional arguments for the command
        - -b           # Batch mode
        - -n           # Number of iterations
        - 1            # Number of iterations (value)

# Notification Settings (Optional)
notify:
  email:                          # Email notification configuration (optional)
    recipients:         
      - email: "<email-address>"  
  slack:                          # Slack notification configuration (optional)
    recipients:
      - email: "<email-address>" 

# Workflow Targets
targets:
  - tenantID: "<tenantID>" # Tenant identifier
    nodeID: "<nodeID>"     # Node identifier (on the specified tenant)

Note

Replace placeholder values with your actual configuration details.