Foreman CLI

I'd like to inform about status of development of Foreman CLI.

For a start, latest news…

  • the project was named Hammer CLI (thanks to Brian Gupta for such a
    great name)
  • the project was moved to TheForeman org on Github [1] [2] [3]
  • there is new subproject in Redmine for tracking bugs and feature
    requests [4]


··· ------------

The hammer CLI as a tool that consist of almost generic framework
providing shell-like environment, autocompletion, command help text,
option evaluation and command invocation and set of plugins defining the
actual commands.

Current status

Though it starts “doing something” the project is in relatively early
stage of development and there is a lot of issues and things that has to
be finished, so be aware.

The project lives in three repos:

  • hammer-cli - the core libs, common base for the commands and
    plugins, the hammer command itself. Check [1] for up-to-date details
  • hammer-cli-foreman - plugin implementing Foreman commands. It is
    calling foreman API via foreman-api gem. Check [2] for set of
    implemented commands. Currently there is issue [5] that prevents some
    tests and commands from running.
  • hammer-cli-katello-bridge - plugin with Katello CLI commands. The
    hammer mimic Katello commands and executes the katello cli with the
    right parameters.

Hammer is not packaged yet, so if you’d like to try it, you have to run
it from source. The details are in repo README, we are trying to keep
them as up-to-date as possible

Items from our TODO with highest priority:

  • more foreman commands (let us know what is missing most)
  • more docs (let us know what is missing most)
  • improve handling of error codes
  • improved authorization
  • packaging and nightly builds

We are trying to file and track all the known issues in Redmine [4].

If you are willing to help, let me (mbacovsk) or tstrachota know. Any
feedback, patches or filed bugs are appreciated.


[4] Issues - Hammer CLI - Foreman
[5] Bug #2852: Failing tests Unrecognised option '--name' - Hammer CLI - Foreman