Skip to content

ThomasBuchinger/miq-flow

Repository files navigation

ManageIQ Workflow Automate Importer

Build Status

This command line utility enables the use of git feature branches on top of the default ManageIQ Automate Export/Import scripts.

The Problem

ManageIQ handles multiple code trees (Automate Domains) using a priority based lookup, this limits the codebase to one master and one shared develop branch for all developers.

At the same time it is common for ManageIQ deployments to have a shared DEV environment, as custom Automate Methods often depend on:

  • External services called via REST
  • Additional permissions (e.g. firewall clearing, administrative accounts, ...)

How does miq-flow help?

miq-flow uses the version history in git to enable "feature-domains", which avoid the lookup problem (Details).

  • Multiple people can work on the same appliance at the same time (but not on the same method)
  • Promoting code is no longer a all-or-nothing decision
  • Pull-Requests and Commit-Squashing work the way you expect them to work
  • Code is cloned from a remote repository, if it is not already on the appliance
  • Manual changes on the WebUI are still possible (Details)

How do I use it?

  • Download and install the miq_flow gem from GitHub
  • Configure miq-flow:
    • Use CLI parameter (see miq-flow help) or environment variables
    • Download and edit the configuration file: curl -o ~/.miqflow.yaml https://raw.githubusercontent.com/ThomasBuchinger/miq-flow/master/config.yaml
  • Run ./bin/miq-flow deploy BRANCH with the correct --provider option:
    • local: This provider assumes running on a ManageIQ Appliance and uses the evm:automate:import rake task (you want to use this one)
    • noop: Preview what the miq-flow would do, without modifying ManageIQ

For additional instructions see the full installation guide or run miq-flow from source

Commands

See miq-flow help for details. Basic Commands are:

  • branch list - lists a summary for each branch in git
  • branch inspect BRANCH - show details of a given branch
  • branch diff BRANCH - (preview) show changes in ManageIQ
  • domain list - lists Automate Domains found in ManageIQ
  • deploy BRANCH - deploys the code in a feature-branch

Notes

  • miq-flow assumes to run on a ManageIQ appliance, since there is no way to remotely import Automate Domains
  • Make sure you have Rugged, RestClient and Thor installed (it is on the ManageIQ Appliances).
  • miq-flow may checkout a different branch, when used with a local repository

About

This command line utility enables the use of git feature branches on top of the default ManageIQ Automate Export/Import scripts.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published