Code Monkey home page Code Monkey logo

puppet-yum's Introduction

Puppet module: yum

This is a Puppet module that manages Yum repositories for Centos RedHat and Scientific Linux

Made by Alessandro Franceschi / Lab42

Inspired by the Yum Immerda module: https://git.puppet.immerda.ch

Official site: http://www.example42.com

Official git repository: http://github.com/example42/puppet-yum

Released under the terms of Apache 2 License.

This module requires functions provided by the Example42 Puppi module.

USAGE

  • Just leave the default options: Automatic detection of Operating System (RedHat, Centos, Scientific supported) Epel repo installation, keeping of local yum files, automatic updates disabled.

      class { 'yum':
      }
    
  • Enable automatic updates via cron (updatesd is supported only on 5)

      class { 'yum':
        update => 'cron',
      }
    
  • Purge local /etc/yum.repos.d/ and enforce its contents only via a custom source

      class { 'yum':
        source_repo_dir => 'puppet:///modules/example42/yum/conf/',
        clean_repos     => true,
      }
    
  • Enable EPEL and PuppetLabs repos

      class { 'yum':
        extrarepo => [ 'epel' , 'puppetlabs' ],
      }
    
  • Do not include any extra repo (By default EPEL is added)

      class { 'yum':
        extrarepo => '' ,
      }
    
  • Automatically copy in /etc/pki/rpm-gpg all the rpm-gpg keys known by the yum module (this was the "old" and intrusive behaviour, now each rpm-gpg key may be individually provided by the yum::manages_repos' gpgkey_source parameter)

      class { 'yum':
        install_all_keys => true ,
      }
    
  • Include a selected extra repo

      include yum::repo::puppetlabs
    

USAGE - Overrides and Customizations

  • Enable auditing without without making changes on existing yum configuration files

      class { 'yum':
        audit_only => true
      }
    
  • Use custom sources for main config file

      class { 'yum':
        source => [ "puppet:///modules/lab42/yum/yum.conf-${hostname}" , "puppet:///modules/lab42/yum/yum.conf" ],
      }
    
  • Use custom source directory for the whole configuration dir

      class { 'yum':
        source_dir       => 'puppet:///modules/lab42/yum/conf/',
        source_dir_purge => false, # Set to true to purge any existing file not present in $source_dir
      }
    
  • Use custom template for main config file. Note that template and source arguments are alternative.

      class { 'yum':
        template => 'example42/yum/yum.conf.erb',
      }
    
  • Automatically include a custom subclass

      class { 'yum':
        my_class => 'yum::example42',
      }
    

USAGE - Example42 extensions management

  • Activate puppi (recommended, but disabled by default)

      class { 'yum':
        puppi    => true,
      }
    
  • Activate puppi and use a custom puppi_helper template (to be provided separately with a puppi::helper define ) to customize the output of puppi commands

      class { 'yum':
        puppi        => true,
        puppi_helper => 'myhelper',
      }
    

OPERATING SYSTEMS SUPPORT

REDHAT 6 - Full

REDHAT 5 - Full

REDHAT 4 - Partial

CENTOS 6 - Full

CENTOS 5 - Full

CENTOS 4 - Partial

SCIENTIFIC 6 - Full

SCIENTIFIC 5 - Full

AMAZON LINUX 3 (Sigh) - Partial

Build Status

puppet-yum's People

Contributors

alvagante avatar mburger avatar aripringle avatar gwarf avatar justicel avatar jaydiablo avatar lamawithonel avatar gabrielbull avatar luishdez avatar jblotus avatar dwerder avatar ghola avatar im-bpriestman avatar cdenneen avatar davids avatar inssein avatar ksatirli avatar lukebakerwgt avatar paul91 avatar chrisemerson avatar

Watchers

Alex Tsourakis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.