Design principles:
- Designed to be local first.
- Runtime is accessible, not abstracted away.
Important
This is a work in progress. It will change.
The project represents a CI/CD that provides container orchestration capabilities for automation workflows. It allows users to define pipelines in JavaScript/TypeScript or YAML format (with backward compatibility for Concourse CI-style configurations). The system currently supports two orchestration drivers, Docker and Native, with Docker being the more feature-complete implementation.
The pipeline execution model follows a task-based approach where containers can be run with defined commands, environment variables, and shared volumes. The core architecture includes an orchestration layer that abstracts container operations, a runtime layer for JavaScript/TypeScript execution via Goja VM, and backward compatibility for Concourse-style YAML pipelines. The project is in active development, with recent additions focused on support for resource operations (get/put) and environment variables, with thorough integration testing across supported platforms.
This is relying on strict integration testing at the moment. I'd like to keep the interfaces the same, but change underlying implementation.
The platforms of docker
and native
are tested against.
brew bundle
task
Please see examples/
for real world usages. They are run as part of the text
suite to.