/socrates

A simple friendly automation server for both technical and non-technical users to work together

Primary LanguageTypeScriptApache License 2.0Apache-2.0

What is Socrates?

A Simple Automation Server

@coreui angular

Socrates is a simple automation server, inspired by Jenkins. It can run tasks in any code language and present them in a friendly dashboard to non-technical users.

Quickstart

For Evaluation and Testing:

  1. Download the docker-compose.yaml file from the root of the repository.
  2. Run docker-compose up and wait until all components are healthy.

Features

Components

Socrates's main components are the basic terms that define how to work with the server.

Component Description
Block A Block is a component made of a Code in a specific Language. It might have parameters, defaults, and a Pre-Code in Shell to execute before the main. It may also be directly attached to a file in Github.
Instance An Instance is attached to a Block. It is essentially a Parameterized Block, with its own execution History. Multiple Instance can exist for the same Block. It can be run individually, inside a Flow or be scheduled.
Steps Flow Steps Flow is a pipeline of one or more Instances arranged in Steps. They share ENV Variables (parameters) and Outputs to the next Steps. It has its own execution history and can be drilled down to individual Instances.
DAG Flow DAG Flow is a pipeline of one or more Instances arranged in a Graph. They share ENV Variables (parameters), and pass Outputs to the next Nodes in the Branch. It has its own execution history and can be drilled down to individual Instances.
Parameters Each Block and its Instance have "parameters" which always include defaults. These are basically translated as Strings (Environment Variables) inside the execution of any code language in its virtual machine. Parameters can also be Dynamic.

License

Apache 2.0