Miscellaneous appendix

/userdir paths

Overview of the different paths inside the /userdir.

.
├── data/
├── jobs
│   └── <project-uuid>
│       └── <pipeline-uuid>
│           └── <job-uuid>
│               ├── <noninteractive-run-uuid>
│               │   └── <copy-myproject-state-after-job>
│               └── snapshot
│                   └── <complete-copy-of-myproject>
├── .orchest
│   ├── user-configurations
│   │   └── jupyterlab
│   │       └── <various configuration files>
│   ├── database
│   │   └── data
│   │       └── <postgres data store>
│   ├── buildkit-cache
│   ├── jupyter-img-builds
│   ├── env-img-builds
│   ├── orchest_examples_data.json
│   ├── orchest_update_info.json
│   ├── celery-*.db (different celery dbs)
│   └── kernels
│       └── <project-uuid>
│           ├── launch_kubernetes.py
│           └── orchest-env-<project-uuid>-<env-uuid>
│               └── kernel.json
└── projects
    └── myproject
        ├── mypipe.orchest
        ├── .orchest
        │   ├── pipelines
        │   │   └── <pipeline-uuid>
        │   │       ├── logs
        │   │       │   └── <pipeline-step-uuid>.log
        │   │       │   └── <service-name>.log
        │   │       └── data
        │   │           ├── <pipeline-step-uuid>.<serialization>
        │   │           └── HEAD
        │   ├── environments
        │   │   └── <env-uuid>
        │   │       ├── properties.json
        │   │       └── setup_script.sh
        │   └── .gitignore
        └── preprocessing.ipynb

Pipeline definition JSON

For an example pipeline definition, check out the pipeline.orchest file in our Quickstart repo.

The full JSON Schema definition of pipelines in Orchest can be found below, alternatively you can see an example and interactive validator here.

{
  "$id": "http://orchest.io/schemas/pipeline/1.0.0.json",
  "$schema": "http://json-schema.org/schema#",
  "definitions": {
    "parameter": {
      "propertyNames": {
        "type": "string"
      },
      "type": "object"
    },
    "uuidv4": {
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
      "type": "string"
    }
  },
  "properties": {
    "name": {
      "type": "string"
    },
    "parameters": {
      "$ref": "#/definitions/parameter"
    },
    "settings": {
      "properties": {
        "auto_eviction": {
          "type": "boolean"
        },
        "data_passing_memory_size": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "steps": {
      "additionalProperties": false,
      "patternProperties": {
        "": {
          "properties": {
            "environment": {
              "$ref": "#/definitions/uuidv4"
            },
            "file_path": {
              "type": "string"
            },
            "incoming_connections": {
              "items": {
                "$ref": "#/definitions/uuidv4"
              },
              "type": "array"
            },
            "kernel": {
              "properties": {
                "display_name": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "display_name",
                "name"
              ],
              "type": "object"
            },
            "meta_data": {
              "properties": {
                "hidden": {
                  "type": "boolean"
                },
                "position": {
                  "items": {
                    "type": "number"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            },
            "parameters": {
              "$ref": "#/definitions/parameter"
            },
            "title": {
              "type": "string"
            },
            "uuid": {
              "$ref": "#/definitions/uuidv4"
            }
          },
          "required": [
            "uuid",
            "title",
            "parameters",
            "kernel",
            "incoming_connections",
            "file_path",
            "environment"
          ],
          "type": "object"
        }
      },
      "propertyNames": {
        "$ref": "#/definitions/uuidv4"
      },
      "type": "object"
    },
    "services": {
      "additionalProperties": false,
      "patternProperties": {
        "": {
          "additionalProperties": false,
          "properties": {
            "image": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "command": {
              "type": "string"
            },
            "args": {
              "type": "string"
            },
            "scope": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "binds": {
              "properties": {
                "": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "env_variables": {
              "properties": {
                "": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "env_variables_inherit": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "exposed": {
              "type": "boolean"
            }
            "ports": {
              "items": {
                "type": [
                  "string",
                  "number"
                ]
              },
              "type": "array"
            },
            "preserve_base_path": {
              "type": "boolean"
            },
            "requires_authentication": {
              "type": "boolean"
            }
          },
          "required": [
            "image",
            "name",
            "scope"
          ],
          "type": "object"
        }
      },
      "propertyNames": {
        "type": "string"
      },
      "type": "object"
    },
    "uuid": {
      "$ref": "#/definitions/uuidv4"
    },
    "version": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "settings",
    "steps",
    "version"
  ],
  "type": "object"
}