adagio

module
v0.0.0-...-a93a756 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2020 License: Apache-2.0

README

Adagio Logo Adagio - A Workflow Orchestrator

GitHub go.mod Go version Github Actions Go Report Card Adagio Docker Image

architecture

This project is currently in a constant state of flux. Don't expect it to work. Thank you o/

Adagio is a workflow execution tool designed to run both locally and facilitate execution across a cluster of worker nodes. A workflow is a directed acyclic graph (DAG) within which the vertices describe the work to be executed. The inputs and outputs are carried along the edges of the graph, piping the result from one vertex to the next. Each vertex awaits the execution of all its inbound edges to finish. Given all inputs finish successfully the vertex will be allocated and executed.

Adagio focusses primarily on orchestration of workflow execution. The execution of "work" defined within the vertices of the graph is intended to be extensible via a combination of native handlers and a plugin architecture. Rather than dictated by what can be implemented within this project.

Documentation

Please see the Architecture Documentation for more details on how Adagio facilitates distributed execution of workflows and how it is intended to be deployed.

Usage

test drive

docker-compose up

Navigate to localhost:8080.

adagio - cli

The adagio cli tool communicates with the control plane API. A running adagiod control plane API must be reachable.

adagio
adagio help          # show adagio command usage

adagio runs          # adagio runs usage

adagio runs ls             # list runs
adagio runs start [file]   # create and start runs
adagio runs start <stdin>

adagiod - service

This daemon service consists of the adagio control plane API and the worker process. More documentation can be found here.

Building

➜  make
install                        Install adagio and adagiod
build                          Build adagio and adagiod into local bin dir
test                           Run test suite
test-with-integrations         Run test suite with integrations (i.e. etcd)
deps                           Fetch and vendor dependencies
protobuf                       Build protocol buffers into model and grpc service definitions
protobuf-deps                  Fetch protobuf dependencies
docker-build                   Build docker images

see make help for details locally.

Directories

Path Synopsis
cmd
pkg
etcd
Package etcd contains types which enable etcd as a repository backend for the adagio workflow engine.
Package etcd contains types which enable etcd as a repository backend for the adagio workflow engine.
rpc/controlplane
Package controlplane is a reverse proxy.
Package controlplane is a reverse proxy.
runtimes
Package runtime contains types which aid in the building of runtimes and runtime calls which can be constructed and invoked by the agent types.
Package runtime contains types which aid in the building of runtimes and runtime calls which can be constructed and invoked by the agent types.
workflow
Package workflow The workflow package contains a helpful builder type which provides fluent style functions to construct a graph and to execute the graph on a provided control plane client.
Package workflow The workflow package contains a helpful builder type which provides fluent style functions to construct a graph and to execute the graph on a provided control plane client.

Jump to

Keyboard shortcuts

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