{"id":51449603,"url":"https://github.com/wso2/choreo-pipeline-specification","last_synced_at":"2026-07-05T19:01:43.750Z","repository":{"id":305892021,"uuid":"1024294271","full_name":"wso2/choreo-pipeline-specification","owner":"wso2","description":"This repository contains the official Choreo Pipeline Specification, which defines how different types of pipelines, including Custom CI Pipelines and General-Purpose Automation Pipelines, are described within the Choreo Internal Developer Platform (IDP). It also includes examples and reference materials.","archived":false,"fork":false,"pushed_at":"2025-10-13T03:50:29.000Z","size":125,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-02T08:44:32.188Z","etag":null,"topics":["choreo","internal-developer-platform"],"latest_commit_sha":null,"homepage":"https://wso2.com/choreo/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wso2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-22T13:28:06.000Z","updated_at":"2025-10-13T03:50:33.000Z","dependencies_parsed_at":"2025-07-22T15:36:48.374Z","dependency_job_id":null,"html_url":"https://github.com/wso2/choreo-pipeline-specification","commit_stats":null,"previous_names":["wso2/choreo-pipeline-specification"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wso2/choreo-pipeline-specification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wso2%2Fchoreo-pipeline-specification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wso2%2Fchoreo-pipeline-specification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wso2%2Fchoreo-pipeline-specification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wso2%2Fchoreo-pipeline-specification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wso2","download_url":"https://codeload.github.com/wso2/choreo-pipeline-specification/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wso2%2Fchoreo-pipeline-specification/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35165571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["choreo","internal-developer-platform"],"created_at":"2026-07-05T19:01:42.828Z","updated_at":"2026-07-05T19:01:43.740Z","avatar_url":"https://github.com/wso2.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Choreo Pipeline Specification\n\n[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/wso2/choreo-pipeline-specification/releases)\n[![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)](LICENSE)\n[![Documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg)](docs/)\n\nThe official specification for defining pipelines in the Choreo Internal Developer Platform (IDP). This specification provides a YAML-based configuration system built on top of Argo Workflows, supporting build pipelines, automation workflows, and general-purpose task orchestration while abstracting away Kubernetes complexity.\n\n## Quick Start\n\nConfigure your pipeline in the Choreo Console:\n\n```yaml\nsteps:\n  - name: Build\n    template: choreo/buildpack-build@v1\n  \n  - name: Test\n    inlineScript: |\n      #!/bin/bash\n      npm test\n  \n  - name: Publish\n    when: \"{{BUILD_BRANCH}} == 'main'\"\n    template: choreo/artifact-upload@v1\n```\n\n**Get started with our [Quick Start Guide](docs/guides/quick-start.md) and [Examples](examples/README.md)**\n\n## Documentation\n\n### Core Documentation\n\n- [**Overview**](docs/specification/overview.md) - Introduction to the pipeline specification\n- [**Core Concepts**](docs/specification/concepts.md) - Fundamental concepts and architecture\n- [**Configuration Guide**](docs/specification/pipeline-configuration.md) - Complete configuration reference\n- [**API Reference**](docs/api-reference/index.md) - Detailed API documentation\n\n### Examples\n\nBrowse our [example pipelines](examples/) organized by pipeline type:\n\n- [**Build Pipelines**](examples/build/) - Pipelines for building and testing\n  \n- [**Automation Pipelines**](examples/automation/) - Scheduled and long-running tasks\n- [**Choreo Templates**](examples/choreo-templates/) - Template usage examples\n\n## Key Features\n\n### Simple Yet Powerful\n\n- **Declarative YAML** - Easy-to-understand configuration\n- **Template Reusability** - Create and share pipeline components\n- **Parallel Execution** - Optimize pipeline performance\n- **Built-in Templates** - Pre-configured templates for common tasks\n\n### Enterprise Ready\n\n- **Security First** - Secure secrets management\n- **Resource Management** - Fine-grained CPU/memory control\n- **Retry Strategies** - Automatic error recovery\n- **Conditional Execution** - Dynamic pipeline behavior\n\n### Developer Friendly\n\n- **Minimal Learning Curve** - Start simple, grow complex\n- **Comprehensive Examples** - Learn by example\n- **JSON Schema Validation** - Catch errors early\n- **Extensive Documentation** - Everything you need to know\n\n## Repository Structure\n\n```\nchoreo-pipeline-specification/\n├── docs/                      # Specification documentation\n│   ├── specification/         # Core specification docs\n│   ├── api-reference/         # API reference documentation\n│   ├── choreo-templates/      # Choreo templates documentation\n│   └── guides/                # How-to guides and migrations\n├── examples/                  # Example pipelines\n│   ├── build/                 # Build pipeline examples\n│   ├── automation/            # Automation pipeline examples\n│   └── choreo-templates/      # Template usage examples\n├── tests/                     # Test files\n├── CONTRIBUTING.md            # Contribution guidelines\n└── README.md                  # This file\n```\n\n## Installation \u0026 Usage\n\n### For Pipeline Developers\n\n1. Open the Choreo Console\n2. Navigate to your component settings\n3. Configure your pipeline either by:\n   - **Plain Text**: Paste your YAML configuration directly\n   - **Repository**: Provide the repository location containing your pipeline YAML\n4. Save to trigger pipeline execution\n\n\n## Pipeline Components\n\n### Steps\n\nThe basic building blocks of a pipeline:\n\n```yaml\nsteps:\n  - name: my-step\n    inlineScript: |\n      #!/bin/bash\n      echo \"Hello, World!\"\n```\n\n### Templates\n\nReusable pipeline components:\n\n```yaml\ntemplates:\n  - name: test-runner\n    inlineScript: |\n      #!/bin/bash\n      npm test\n```\n\n### Environment Variables\n\nSecure configuration management:\n\n```yaml\nenv:\n  - name: API_URL\n    value: \"{{VARIABLES.API_URL}}\"\n  - name: API_TOKEN\n    value: \"{{SECRETS.API_TOKEN}}\"\n```\n\n### Resource Management\n\nControl resource allocation:\n\n```yaml\nresources:\n  requests:\n    memory: \"256Mi\"\n    cpu: \"500m\"\n  limits:\n    memory: \"512Mi\"\n    cpu: \"1000m\"\n```\n\n## Version History\n\n| Version | Date | Description |\n|---------|------|-------------|\n| 1.0.0 | 2024-01 | Initial release |\n\nSee [CHANGELOG.md](CHANGELOG.md) for detailed version history.\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details on:\n\n- Reporting issues\n- Suggesting enhancements\n- Submitting pull requests\n- Development setup\n- Style guidelines\n\n## Validation\n\nValidate your pipeline configuration:\n\nPipeline configurations are automatically validated by the Choreo Console when you save them. The console provides:\n\n- **Real-time syntax validation** - YAML syntax errors are highlighted immediately\n- **Schema validation** - Configuration structure is validated against the specification\n- **Template validation** - Template references and parameters are verified\n- **Error reporting** - Clear error messages with line numbers and suggestions\n\n\n## Status\n\n- Core specification complete\n- Basic examples available\n- API reference documented\n- JSON schema validation\n- Advanced examples in progress\n- Video tutorials planned\n\n## Getting Help\n\n- Read the [documentation](specification/overview.md)\n- Browse [examples](examples/)\n- Report [issues](https://github.com/wso2/choreo-pipeline-specification/issues)\n- Start a [discussion](https://github.com/wso2/choreo-pipeline-specification/discussions)\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n## About WSO2\n\nWSO2 is an open-source technology provider that delivers software to create and manage APIs and cloud-native applications.\n\n---\n\n**[Documentation](docs/)** | **[Examples](examples/)** | **[API Reference](docs/api-reference/)** | **[Choreo Templates](docs/choreo-templates/overview.md)** | **[Contributing](CONTRIBUTING.md)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwso2%2Fchoreo-pipeline-specification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwso2%2Fchoreo-pipeline-specification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwso2%2Fchoreo-pipeline-specification/lists"}