What is Socrates?
Last updated
Last updated
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.
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.
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
Socrates's main components are the basic terms that define how to work with the server.
Apache 2.0
A Block is a component made of a Code in a specific Language. It might have , defaults, and a Pre-Code in Shell
to execute before the main. It may also be directly attached to a file in .
An Instance is attached to a . It is essentially a , with its own execution History. Multiple Instance can exist for the same . It can be run individually, inside a or be .
Steps Flow is a pipeline of one or more arranged in Steps. They share ENV Variables () 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 arranged in a Graph. They share ENV Variables (), and pass Outputs to the next Nodes in the Branch. It has its own execution history and can be drilled down to individual .
Each and its 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 .