Project

General

Profile

Actions

Feature #3891

closed

Provide simpler programmatic access to Kafo facilities

Added by Jon McKenzie over 10 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Low
Assignee:
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

My shop is interested in using Kafo in order to build interfaces for end users to use our growing set of Puppet modules in a local, installer-type fashion. However, we already have a bunch of interfaces already in place for users, and would rather not use the (module) -> (kafofy) -> (installer) pipeline. Instead, it would be pretty awesome if we could call Kafo programmatically as one piece in our app deployment service. In particular, our shop already has its own CLI and web frontends for initiating app installs (among other things); doing the context switch between these apps and a separate command-line tool is a bit cumbersome and prone to error.

For example, right now, Kafo is really completely centered around a command-line operation (given the extensive use of Clamp). This makes it a little bit awkward to create, for instance, a web installer. The information is there (via the various parsing/validation Kafo does against the Puppet modules). But it's not so simple to access that info programmatically. What this means is that we either mock out the CLI parts of the library so that we can get access to that information, or we can just implement our own doc parser -> param validator -> user interface pipeline (which seems awfully duplicative of this project).

Would be curious to hear your thoughts. Thanks-

Actions #1

Updated by Marek Hulán over 10 years ago

I quickly went through your needs. The main problem seems to be that kafo relies on puppet modules files. But I think you can use a lot of existing code as it is already. There are already some logic separated so it can be easily reused.

The plan is to extract parsing logic completely into a separate gem see #3053. But you can already use just some classes that you might find useful e.g. to raw parse manifest which can come from any string you could use lib/kafo/puppet_module_parser.rb or to convert this raw information to kafo params you can try lib/kafo/puppet_module.rb

Did I get it right? Maybe some list of needed features or more detailed workflow would help. And last but not least - patches are more than welcome :-)

Actions #2

Updated by Marek Hulán about 10 years ago

  • Status changed from New to Need more information
Actions #3

Updated by Marek Hulán about 10 years ago

  • Status changed from Need more information to Closed
  • Assignee set to Marek Hulán
  • Target version set to 1.9.0

I believe new kafo_parsers gem addresses your needs. If not feel free to reopen this issue.

Actions #4

Updated by Jon McKenzie about 10 years ago

Sorry for radio silence, emails were getting tossed in my spam folder. kafo_parsers was pretty much exactly what I was after, in fact. Thanks! I'll give it a whirl.

Actions #5

Updated by Marek Hulán about 10 years ago

Great, thanks for letting us know.

Actions

Also available in: Atom PDF