Git Product home page Git Product logo

arcaflow-engine-deployer-python's Introduction

Arcaflow engine deployer python

This library is an implementation of the arcaflow deployer interface that uses the podman CLI.

Usage

Deployer configuration (config.yaml)

(full configuration example)

deployer:
  type: python
  # Optional Fields
  pythonPath: /usr/bin/python3.9
  workdir: /tmp
  modulePullPolicy: Always | IfNotPresent
  moduleSource: Git | Pypi
  • pythonPath (optional, default /usr/bin/python)
    • Path to the python interpreter binary
  • workdir (optional, default /tmp)
    • folder where the virtual environments of every single plugin are stored. Setting modulePullPolicy as IfNotPresent the workdir will work as a cache and will speed up the workflow runs.
  • modulePullPolicy (optional, default IfNotPresent)
    • IfNotPresent: will check in the workdir path if the requested module At the requested version has been already pulled
    • Always: will always pull the module, if already present, will delete the previous version and will pull it again.
  • moduleSource (optional, default Pypi)
    • Pypi: the module will be pulled from pypi.org. The plugin name must be in the format <pypi_module_name>[@<version>], if version is omitted the latest version will be pulled
    • Git : the module will be pulled from a Git repository containing a plugin. The plugin name must be in the format <module_name>@git+<repo_url>[@git_commit_sha], if git commit sha is omitted, the HEAD of main will be pulled

Worfklows (workflow.yaml)

The main difference in the workflow syntax is that instead of passing a container image as plugin (like the podman, docker and kubernetes deployer) must be passed a python module either in the Git or in the Pypi format as previously mentioned.

Module Name Format:

  • Pypi: <pypi_module_name>[@<version>]
  • Git: <module_name>@git+<repo_url>[@git_commit_sha]

Example Git source workflow

steps:
  kill_pod:
    plugin: arcaflow-plugin-kill-pod@git+https://github.com/redhat-chaos/arcaflow-plugin-kill-pod.git@a34551a4aa68d822ba54f338148ca6e6a28c493b
    step: kill-pods
    input:
    ...

Example PyPi source workflow

steps:
  kill_pod:
    plugin: [email protected]
    step: kill-pods
    input:
    ....

arcaflow-engine-deployer-python's People

Contributors

tsebastiani avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.