Skip to content

Portage GT (short for "Portage using Gentoo") is a replacement Package Provider for Puppet.

Notifications You must be signed in to change notification settings

castiel/PortageGT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Portage GT (short for "Portage using Gentoo") is a replacement Package Provider for Puppet. It was written by Whatbox Inc. to improve server management, and released as on Open Source project under the MIT, BSD & GPL licenses. Patches and bug reports are welcome, please see our CLA.

I will also warn you that this module is not completely compatible with the existing Portage Provider. Rather than making assumptions, this provider will throw errors in the event of ambiguity, preferring developer clarification over the possibility of performing an unintended action.

Dependencies

The following packages are necessary for this module.

  • app-admin/puppet
  • sys-apps/portage
  • app-portage/eix
  • dev-ruby/xml-simple

Environment

The following things are assumed:

  • /etc/portage/package.use is a directory
  • /etc/portage/package.keywords is a directory
  • Both of the above are free for modification by puppet
  • WARNING: Folders contained within either of these will be automatically removed by this plugin

Research Needed

  • Puppet: We require a provider shutdown function to compliment self.prefetch, that will only be executed once, after all packages have been run
  • Puppet: Ability to add newparam()'s to Puppet Providers and overwrite existing ones, without overwriting the entire type
    • NOTE: this should be done in a flattened manner, not using install_options like the MSI Provider.

Roadmap

  • Remove package type overwrite (see Research Needed > Puppet)
  • "repository" option, to specify the exact overlay to be used

Roadmap (Undecided)

  • Use an external config file
    • Pro: No editing the code
    • Pro: The current most likely don't update when puppet is daemonized
    • Con: Assuming file is managed by puppet, it will take two runs for changes to take effect
  • revdep-rebuild implemented via shutdown function (see Research Needed > Puppet)

Features Omitted

These are features we're not implementing at this time

  • package mask
    • using puppet ensure => :held
  • package unmask
  • CONFIG[:useChange] does not trigger a recompile if global use flags defined in /etc/make.conf change.

About

Portage GT (short for "Portage using Gentoo") is a replacement Package Provider for Puppet.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%