Skip to content

Pipeline Architecture

This document provides an architectural overview of Digital Rebar Provision (DRP) Pipelines and Universal Applications, covering their design principles, components, and implementation patterns.

Pipelines

A Pipeline in DRP is a profile that links to a Universal Application and through it's parameters defines a target end state for a machine.

Universal Applications

Universal Applications are created with safe default values and provide the flow of work to achieve an end state. Pipelines most often add to or override these defaults to provide a customized end state. For example if a Universal Application has the workflows to install a Linux operating system the Pipeline might have parameters to set the specific distribution, version and source.

Universal Application Workflow Entry Points

Universal Applications are designed with standardized entry points to ensure consistent behavior across different infrastructure machines, for example physical or virtual. Understanding these entry points is crucial for Pipeline architecture because they determine how your automation workflows begin execution.

DRP provides several universal workflows that can serve as these entry points:

  • universal-discover - Used for new or redeployed infrastructure that needs to boot into the Sledgehammer discovery environment before installing an operating system. This is commonly used for bare metal systems, PXE boot scenarios, or complete system rebuilds.

  • universal-start - Used for systems that already have an operating system installed and can execute workflows locally. This is typically used for existing infrastructure, virtual machines, or systems that have already been provisioned.

  • universal-evaluate - Used for system discovery, classification, and inventory collection. Expects Sledgehammer boot environment (though not enforced) and runs minimal, OS, and full inventory stages to gather comprehensive system information without making changes.

Universal Application Workflow Exit

  • universal-complete - A minimal pipeline element that indicates completion and has no tasks. This workflow serves as a standardized termination point for Universal Applications, providing a clean exit state that can be monitored and tracked. It ensures consistent completion behavior across different pipeline implementations.

Design Guidelines

When designing Universal Applications, always plan to start from either universal-start or universal-discover. This approach ensures your Universal Applications integrate properly with DRP's workflow chaining system and maintain compatibility with the broader automation ecosystem. Advanced users may choose alternative starting points for specialized use cases, but these fall outside standard Pipeline architecture patterns.

Naming Conventions and Architecture

Pipelines and Universal Applications use naming conventions to automatically connect components. These conventions provide automatic discovery, modularity, extensibility, and maintainability by enabling components to find and link to each other through predictable naming patterns.

Universal Application Naming

Universal Application names serve as the foundation for component discovery and workflow chaining. The chosen name becomes the identifier that connects Profiles, Workflows, Stages, and Parameters across the entire application.

Naming Requirements: - Must be unique within your DRP environment - Should be descriptive and meaningful to operators - Will be used as a prefix for related workflows and components - Cannot contain spaces or special characters (use hyphens for word separation)