GithubHelp home page GithubHelp logo

cyberious / puppet-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from puppetlabs/puppetserver

0.0 1.0 0.0 4.65 MB

Server automation framework and application

Home Page: https://tickets.puppetlabs.com/browse/SERVER

License: Apache License 2.0

Ruby 15.98% Shell 0.94% Clojure 80.26% Java 2.83%

puppet-server's Introduction

Puppet Server

Puppet Server is the next-generation application for managing Puppet agents. This platform will carry Puppet's server-side components to a more distributed, service-oriented architecture. We've built Puppet Server on top of the same technologies that have made PuppetDB successful, allowing us to greatly improve performance, scalability, advanced metrics collection, and fine-grained control over the Ruby runtime.

While Puppet Server is meant to replace an existing Apache/Passenger Puppet master stack, there are a handful of differences due to changes in the underlying architecture. Please see Puppet Server vs. Apache/Passenger Puppet Master for details.

Installing Puppet Server

Puppet Server depends on Puppet 3.7.3 or later, so if you install it on a system running an older version of Puppet, installation will also upgrade Puppet itself. Please see Installing Puppet Server from Packages for complete installation requirements and instructions.

Ruby and Puppet Server

Puppet Server is compatible with Ruby 1.9. If you are installing Puppet Server on an existing system with Ruby 1.8, the behavior of some extensions, such as custom functions and custom resource types and providers, might change slightly. Generally speaking, this shouldn't affect core Puppet Ruby code, which is tested against both versions of Ruby.

Puppet Server uses its own JRuby interpreter, which doesn't load gems or other code from your system Ruby. If you want Puppet Server to load any additional gems, use the Puppet Server-specific gem command to install them. See Puppet Server and Gems for more information about gems and Puppet Server.

Configuration

Puppet Server honors almost all settings in puppet.conf and should pick them up automatically. However, we have also introduced some new Puppet Server-specific settings---please see the [Configuration] (./documentation/configuration.markdown) page for details. For more information on the specific differences in Puppet Server's support for puppet.conf settings as compared to the Ruby master, see the [puppet.conf differences] (./documentation/puppet_conf_setting_diffs.markdown) page.

Certificate Authority Configuration

Much of the existing documentation on External CA Support for the Ruby Puppet Master still applies to using an external Certificate Authority in conjunction with Puppet Server. There are some differences to bear in mind, however; see the External CA Configuration page for details.

SSL Configuration

In network configurations that require external SSL termination, you need to do a few things differently in Puppet Server. Please see the External SSL Termination page for details.

CLI Commands

Puppet Server provides several command-line utilities useful for development and debugging purposes. These commands are all aware of puppet-server.conf and the gems and Ruby code specific to Puppet Server and Puppet, while keeping them isolated from your system Ruby.

For more information, see Puppet Server Subcommands.

Known Issues

As this application is still in development, there are a few known issues that you should be aware of.

Developer Documentation

If you are a developer who wants to play with our code, these documents should prove useful:

Branching Strategy

The Branching Strategy for Puppet Server is documented on the wiki here.

Issue Tracker

Feature requests? Found a bug? Want to see what issues are currently in flight? Please visit our Jira project.

License

Copyright © 2013 -- 2014 Puppet Labs

Distributed under the Apache License, Version 2.0

Special thanks to

Cursive Clojure

Cursive is a Clojure IDE based on IntelliJ IDEA. Several of us at Puppet Labs use it regularly and couldn't live without it. It's got some really great editing, refactoring, and debugging features, and the author, Colin Fleming, has been amazingly helpful and responsive when we have feedback. If you're a Clojure developer you should definitely check it out!

JRuby

JRuby is an implementation of the Ruby programming language that runs on the JVM. It's a fantastic project, and it is the bridge that allows us to run all of the existing Puppet Ruby code while taking advantage of all of the advanced features and libraries that are available on the JVM. We're very grateful to the developers for building such a great product and for helping us work through a few bugs that we've discovered along the way.

puppet-server's People

Contributors

camlow325 avatar cprice404 avatar nwolfe avatar kevincorcoran avatar rlinehan avatar mslilah avatar nfagerlund avatar dankreek avatar puppetlabs-jenkins avatar haus avatar gguillotte avatar jpinsonault avatar jtappa avatar stahnma avatar waynr avatar briancain avatar elyscape avatar hunner avatar jasperla avatar scotje avatar justinstoller avatar melissa avatar nicklewis avatar petems avatar inhumantsar avatar

Watchers

James Cloos 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.