pipelineconductor

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2026 License: MIT

README ΒΆ

PipelineConductor

Go CI Go Lint Go SAST Go Report Card Docs Docs Visualization License

Orchestrate and harmonize multi-repo CI/CD pipelines with policy-driven automation.

PipelineConductor is a tool for managing CI/CD pipeline consistency across hundreds of repositories. It scans repositories, evaluates them against Cedar policies, generates compliance reports, and can automatically remediate violations.

Features

Core
  • 🏒 Multi-org scanning: Scan repositories across multiple GitHub organizations
  • πŸ“œ Policy-as-code: Define CI/CD policies using Cedar
  • βš™οΈ Profile system: Named configurations for different project types (default, modern, legacy)
  • πŸ“Š Compliance reports: Generate JSON, SARIF, Markdown, CSV, and HTML reports
Compliance Checking (v0.2.0)
  • βœ… Reference repo matching: Check workflows against a reference repository
  • πŸ“ Local filesystem scanning: Scan repositories without GitHub API
  • πŸ€– GitHub Action: Reusable action for CI/CD integration
  • πŸ”§ Automated remediation: Generate missing workflows from templates
  • πŸ“ˆ Dashboard generation: Dashforge integration for visual compliance dashboards

Installation

go install github.com/plexusone/pipelineconductor/cmd/pipelineconductor@latest

Or build from source:

git clone https://github.com/plexusone/pipelineconductor.git
cd pipelineconductor
go build -o pipelineconductor ./cmd/pipelineconductor

Quick Start

  1. Set your GitHub token:
export GITHUB_TOKEN=ghp_your_token_here
  1. Scan your organization for policy compliance:
pipelineconductor scan --orgs myorg --output report.json
  1. Check workflow compliance against a reference repository:
pipelineconductor check --orgs myorg --ref-repo plexusone/.github

Usage

Scan Command

Scan repositories for policy compliance:

# Basic scan
pipelineconductor scan --orgs myorg

# Multiple organizations
pipelineconductor scan --orgs org1,org2,org3

# Filter by language
pipelineconductor scan --orgs myorg --languages Go,Python

# Output to file
pipelineconductor scan --orgs myorg --output report.json --format json
Check Command

Check workflow compliance against a reference repository:

# Check organization repos against reference
pipelineconductor check --orgs myorg --ref-repo plexusone/.github

# Check with strict mode (require exact reusable workflow matches)
pipelineconductor check --orgs myorg --ref-repo plexusone/.github --strict

# Check local repositories
pipelineconductor check --local ~/projects --ref-repo plexusone/.github

# Output as HTML report
pipelineconductor check --orgs myorg --ref-repo plexusone/.github -f html -o report.html
Configuration File

Create ~/.pipelineconductor.yaml or .pipelineconductor.yaml:

github_token: ${GITHUB_TOKEN}
orgs:
  - myorg
  - otherorg
profile: default
verbose: true

GitHub Action

Use PipelineConductor in your CI/CD pipeline:

- name: Check Compliance
  uses: plexusone/[email protected]
  with:
    ref-repo: 'plexusone/.github'
    orgs: 'myorg'
    format: 'markdown'

Profiles

PipelineConductor uses profiles to define expected CI/CD configurations:

Profile Go Versions Platforms Use Case
default 1.24, 1.25 Linux, macOS, Windows Standard projects
modern 1.25 Linux, macOS Latest features
legacy 1.12 Linux Older projects

Documentation

Full documentation is available at plexusone.github.io/pipelineconductor

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     PipelineConductor CLI                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Collectors  β”‚  β”‚    Policy    β”‚  β”‚     Compliance        β”‚  β”‚
β”‚  β”‚ - GitHub API β”‚  β”‚    Engine    β”‚  β”‚ - Reference Matcher   β”‚  β”‚
β”‚  β”‚ - Local FS   β”‚  β”‚ - Cedar      β”‚  β”‚ - Workflow Generator  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                            β”‚                                    β”‚
β”‚                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”                           β”‚
β”‚                    β”‚   pkg/model    β”‚                           β”‚
β”‚                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE for details.

Directories ΒΆ

Path Synopsis
internal
collector
Package collector provides interfaces and implementations for collecting repository and workflow data from various sources.
Package collector provides interfaces and implementations for collecting repository and workflow data from various sources.
compliance
Package compliance provides workflow compliance checking functionality.
Package compliance provides workflow compliance checking functionality.
dashboard
Package dashboard provides dashboard generation from compliance results.
Package dashboard provides dashboard generation from compliance results.
policy
Package policy provides Cedar policy evaluation for CI/CD compliance.
Package policy provides Cedar policy evaluation for CI/CD compliance.
remediator
Package remediator provides workflow remediation and generation functionality.
Package remediator provides workflow remediation and generation functionality.
report
Package report provides compliance report generation in multiple formats.
Package report provides compliance report generation in multiple formats.
pkg
model
Package model provides core data structures for PipelineConductor.
Package model provides core data structures for PipelineConductor.
Package schema provides embedded JSON schemas for validation.
Package schema provides embedded JSON schemas for validation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL