Skip to content

Roadmap

Craig Tomkow edited this page Feb 9, 2023 · 13 revisions

0.1.0 roadmap

  • run pipeline in isolated env
  • auto-discover pipelines
  • tracking status and stages of pipeline
  • shared variables across pipelines
  • pipeline scheduler
  • cron scheduling
  • at scheduling (run once at date time)
  • gluetube daemon
  • sqlite database schema
  • dockerfile
  • basic documentation
  • encrypted values in store.db
  • 50%+ test coverage
  • cli v1 (daemon control, modify scheduling, view pipelines)
  • pip install (directory mgmt, upgrades, etc)
  • github actions
  • proxy support to ensure pip can pull pipeline dependencies
  • ability to re-key store.db (needed for first-time container deployment)

0.2.0 roadmap

  • pipeline development mode (ability to 'attach' to the stdout of the pipeline to track it's run)
  • ability to view pipeline runs via cli
  • email and slack alerting for pipeline status
  • allow pipelines to exist in the root directory (not requiring a sub-dir)
  • timezone fixes (dockerfile timezone, cli display local timezone)
  • hello world tutorial

0.3.0 roadmap

  • option to define (name, schedule) in pipeline (incl. run pipeline on change to get new potential name, schedule etc.)
  • a 'gluetube pipeline --clean' and 'gluetube pipeline --cleanall' to remove .venv's that are made
  • remote shell connector (for executing cli apps on systems. e.g. ansible, rancid, etc)
  • re-run pipeline if crashed. specify max retries
  • git pull repo of pipelines into pipeline_dir
  • pipeline accessible database to store system object relationships related to pipeline
  • cgroup restrictions for pipelines
  • integration tests (daemon/rpc testing)

0.4.0 roadmap

  • dynamic webhook url that pipeline can access/monitor (long-lived LISTENER pipelines)
  • gracefully handle SIG[TERM|KILL] and ensure it waits for any running pipelines to stop or manually stop them
  • end-to-end automated tests (start daemon, run pipeline, stop daemon)
  • frontend web ui
  • ability for custom views in web UI to display output from pipelines
  • REST api endpoint to trigger running pipeline, including passing optional parameters as json payload that is accessible by pipeline (PUSH)
  • .rpm
  • .deb

0.5.0 roadmap

  • cli v2
  • pipeline weathermap in web ui to visualize system integrations
  • ability to run pipelines serially that are linked together (e.g. pipeline reuse)
  • webhook that can be triggered after pipeline is completed
  • user defined tags for pipelines & schedules (so they are easily searched/sorted in the UI)
  • env var injection into forked process as alternative to jinja replacement to allow for golang binary as a pipeline
Clone this wiki locally