Coder Social home page Coder Social logo

cannium / puppetlabs-ntp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from puppetlabs/puppetlabs-ntp

0.0 2.0 0.0 350 KB

Puppet module to manage the NTP service

Home Page: http://forge.puppetlabs.com/puppetlabs/ntp

License: Apache License 2.0

Ruby 68.76% Puppet 31.24%

puppetlabs-ntp's Introduction

#ntp

####Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with ntp
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

##Overview

The ntp module installs, configures, and manages the NTP service.

##Module Description

The ntp module handles installing, configuring, and running NTP across a range of operating systems and distributions.

##Setup

###What ntp affects

  • ntp package.
  • ntp configuration file.
  • ntp service.

###Beginning with ntp

include '::ntp' is enough to get you up and running. If you wish to pass in parameters specifying which servers to use, then:

class { '::ntp':
  servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
}

##Usage

All interaction with the ntp module can do be done through the main ntp class. This means you can simply toggle the options in ::ntp to have full functionality of the module.

###I just want NTP, what's the minimum I need?

include '::ntp'

###I just want to tweak the servers, nothing else.

class { '::ntp':
  servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
}

###I'd like to make sure I restrict who can connect as well.

class { '::ntp':
  servers  => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
  restrict => ['127.0.0.1'],
}

###I only want to listen on specific interfaces, not on 0.0.0.0

Restricting this is especially useful on Openstack nodes which may have numerous virtual interfaces.

class { '::ntp':
  servers  => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
  interfaces => ['127.0.0.1', '1.2.3.4']
}

###I'd like to opt out of having the service controlled; we use another tool for that.

class { '::ntp':
  servers        => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
  restrict       => ['127.0.0.1'],
  service_manage => false,
}

###Looks great! But I'd like a different template; we need to do something unique here.

class { '::ntp':
  servers         => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
  restrict        => ['127.0.0.1'],
  service_manage  => false,
  config_template => 'different/module/custom.template.erb',
}

##Reference

###Classes

####Public Classes

  • ntp: Main class, includes all other classes.

####Private Classes

  • ntp::install: Handles the packages.
  • ntp::config: Handles the configuration file.
  • ntp::service: Handles the service.

###Parameters

The following parameters are available in the ntp module:

####autoupdate

Deprecated: This parameter determined whether the ntp module should be automatically updated to the latest version available. Replaced by package_ensure.

####config

Sets the file that ntp configuration is written into.

####config_template

Determines which template Puppet should use for the ntp configuration.

####disable_monitor

Disables monitoring of ntp.

####driftfile

Sets the location of the drift file for ntp.

####keys_controlkey

The key to use as the control key.

####keys_enable

Whether the ntp keys functionality is enabled.

####keys_file

Location of the keys file.

####keys_requestkey

Which of the keys is the request key.

keys_trusted

Array of trusted keys.

####package_ensure

Sets the ntp package to be installed. Can be set to 'present', 'latest', or a specific version.

####package_name

Determines the name of the package to install.

####panic

Determines if ntp should 'panic' in the event of a very large clock skew. This defaults to false for virtual machines, as they don't do a great job with keeping time.

####preferred_servers

List of ntp servers to prefer. Will append 'prefer' for any server in this list that also appears in the servers list.

####restrict

Sets the restrict options in the ntp configuration. The lines are prefixed with 'restrict', so you just need to list the rest of the restriction.

####servers

Selects the servers to use for ntp peers.

####service_enable

Determines if the service should be enabled at boot.

####service_ensure

Determines if the service should be running or not.

####service_manage

Selects whether Puppet should manage the service.

####service_name

Selects the name of the ntp service for Puppet to manage.

####udlc

Enables configs for undisciplined local clock, regardless of status as a virtual machine.

##Limitations

This module has been built on and tested against Puppet 2.7 and higher.

The module has been tested on:

  • RedHat Enterprise Linux 5/6
  • Debian 6/7
  • CentOS 5/6
  • Ubuntu 12.04
  • Gentoo
  • Arch Linux
  • FreeBSD
  • Solaris 10, 11
  • AIX 5.3, 6.1, 7.1

Testing on other platforms has been light and cannot be guaranteed.

##Development

Puppet Labs modules on the Puppet Forge are open projects, and community contributions are essential for keeping them great. We can’t access the huge number of platforms and myriad of hardware, software, and deployment configurations that Puppet is intended to serve.

We want to keep it as easy as possible to contribute changes so that our modules work in your environment. There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.

You can read the complete module contribution guide on the Puppet Labs wiki.

###Contributors

The list of contributors can be found at: https://github.com/puppetlabs/puppetlabs-ntp/graphs/contributors

puppetlabs-ntp's People

Contributors

3flex avatar apenney avatar billweiss avatar blkperl avatar bodepd avatar c00w avatar codingtony avatar cyberious avatar darix avatar frimik avatar ghoneycutt avatar gws avatar hakamadare avatar hunner avatar igalic avatar jamtur01 avatar justinstoller avatar kbarber avatar kristofferhagen avatar matthewfischer avatar mattr- avatar mdsummers avatar mmoll avatar nanliu avatar nvalentine-puppetlabs avatar ody avatar ohadlevy avatar richardc avatar senax avatar supercow avatar

Watchers

 avatar  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.