23.1 Example Blueprints

Orbnetes deployment and release orchestration documentation for operators and platform teams.

Example Blueprints

This appendix provides practical reference material you can copy into real operations: ready-to-adapt blueprint examples, API request/response patterns, naming standards, and changelog/versioning guidance.

A) Minimal Run Blueprint

name: hello-pipeline
description: Minimal blueprint validation
jobs:
  hello:
    tags: [linux]
    steps:
      - name: hello
        shell: bash
        run: echo "Hello from Orbnetes"

Use case: first connectivity check, validate agent claim path, verify live logs and status updates.

B) Backup + Deploy (Release File)

name: simple-release-deploy
description: Backup and deploy selected release file
inputs:
  target_env:
    type: string
    required: true
jobs:
  backup:
    tags: [linux]
    steps:
      - name: backup
        shell: bash
        run: echo "Backup before deploy (env=${{ inputs.target_env }})"
  deploy:
    needs: [backup]
    tags: [linux]
    steps:
      - name: deploy-release-file
        shell: bash
        run: |
          echo "Deploying file: $ORBN_RELEASE_FILE"

Use case: baseline production deployment pattern, demonstrates release file runtime variable.

C) Conditional + Optional Job

name: conditional-deploy
description: Deploy with optional checks
inputs:
  dry_run:
    type: boolean
    default: false
jobs:
  checks:
    allow_failure: true
    tags: [linux]
    steps:
      - name: lint
        shell: bash
        run: echo "Non-blocking checks"
  deploy:
    needs: [checks]
    if: "${{ inputs.dry_run == false }}"
    tags: [linux]
    steps:
      - name: deploy
        shell: bash
        run: echo "Deploying for real"

Use case: demonstrates if + allow_failure behavior.

D) Multi-Job DAG Example

name: dag-demo
description: Fan-out and fan-in
jobs:
  prepare:
    tags: [linux]
    steps:
      - name: prep
        shell: bash
        run: echo "prepare"

  test_a:
    needs: [prepare]
    tags: [linux]
    steps:
      - name: test-a
        shell: bash
        run: echo "test A"

  test_b:
    needs: [prepare]
    tags: [linux]
    steps:
      - name: test-b
        shell: bash
        run: echo "test B"

  deploy:
    needs: [test_a, test_b]
    tags: [linux]
    steps:
      - name: deploy
        shell: bash
        run: echo "deploy after fan-in"

Use case: dependency graph validation and pipeline visualization demo.