What is Socrates?
A Simple Automation Server
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:
Download the
docker-compose.yaml
file from the root of the repository.Run
docker-compose up
and wait until all components are healthy.
Features
Define Parameterized Blocks of code in any language to be run in Docker.
Define Static and Dynamic parameters to be used by all Blocks.
Create Instances of code that can be run individually.
Save Artifacts and Outputs, managed by Minio S3.
Schedule any component and view it in a timeline.
Connect a Github repository with or without a Webhook, automatically update all the code in the server.
Manage a friendly Developer Portal, give your jobs custom names and folders.
Can be run on Docker or on Kubernetes
Components
Socrates's main components are the basic terms that define how to work with the server.
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.
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 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.
License
Apache 2.0
Last updated