GithubHelp home page GithubHelp logo

voxpupuli / puppet-stackify Goto Github PK

View Code? Open in Web Editor NEW
0.0 38.0 2.0 149 KB

Home Page: https://forge.puppet.com/puppet/stackify

License: Apache License 2.0

Ruby 71.82% Puppet 28.18%
puppet windows-puppet-module hacktoberfest

puppet-stackify's Introduction

stackify

License Build Status Puppet Forge Puppet Forge - downloads Puppet Forge - scores

Table of Contents

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

Description

The stackify module installs and manages the stackify agent and service on Windows systems.

Stackify is an APM tools that uses an agent on nodes that need to be monitored.

Setup

Setup Requirements

The stackify module requires the following:

  • Puppet Agent 4.7.1 or later.
  • Access to the internet.
  • Stackify account setup and a license/activation key in hand.
  • Windows Server 2012/2012R2/2016.

Beginning with stackify

To get started with the stackify module simply include the following in your manifest:

class { 'stackify':
    package_ensure                        => 'present',
    package_install_options_environment   => 'development',
    package_install_options_activationkey => 'XXXXXXXXXXXXXXXXXXXXXXXXXX',
}

This example downloads and installs the latest version of the stackify agent and ensures the stackify services are running and in the desired state. After running this you should see your node pop up in the stackify servers list from the web ui.

A more advanced configuration including all attributes available:

class { 'stackify':
   package_ensure                        => 'present',
   package_install_options_environment   => 'development',
   package_install_options_activationkey => 'XXXXXXXXXXXXXXXXXXXXXXXXXX',
   file_download_directory               => 'C:\\Temp',
   service_manage                        => true,
   service_ensure                        => true,
   service_enable                        => true,
 }

The above is just an example of the flexibility you have with this module. You will generally never need to specify every or even so many parameters as shown.

Usage

Install Stackify only

Sometimes you might want to install the stackify agent but not manage the service.

class { 'stackify':
    package_ensure                        => 'present',
    package_install_options_environment   => 'development',
    package_install_options_activationkey => 'XXXXXXXXXXXXXXXXXXXXXXXXXX',
    service_manage                        => false,
}

Reference

Classes

Parameters are optional unless otherwise noted.

stackify

Installs, configures, and manages the stackify agent.

package_ensure

Specifies whether the stackify package resource should be present. Valid options: 'present' and 'absent'.

Default: 'present'.

package_install_options_environment

Required.

Sets the stackify environment for this node.

package_install_options_activationkey

Required.

Your stackify license/activation key so the node can be associated with your stackify account.

file_download_directory

Specifies which directory to store the downloaded stackify agent installer in.

Default: 'C:\Temp'.

service_manage

Specifies whether or not to manage the desired state of the stackify windows services.

Default: true.

service_ensure

Whether or not the stackify services should be running or stopped. Valid options: true, false

Default: true.

service_enable

Whether or not the stackify services should be enabled at boot or disabled. Valid options: true, false

Default: true.

Limitations

This module is only available for Windows 2012 or 2012 R2 and works with Puppet 4.0 and later.

Development

Contributing

  1. Fork it ( https://github.com/voxpupuli/puppet-stackify/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

puppet-stackify's People

Contributors

alexjfisher avatar bastelfreak avatar dhollinger avatar dhoppe avatar ekohl avatar llowder avatar maxadamo avatar sandra-thieme avatar smortex avatar tragiccode avatar zilchms avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

puppet-stackify's Issues

Improve command line option handling

During installation, there are install options that are optional and also need to be passed into the MSI in a specific order. To clean this code up and have better handling of these in the future we should convert to using a puppet custom function in order to use ruby to handle this better.

Code to change:

$package_install_options_attach_all_integer = bool2num($package_install_options_attach_all)
$package_install_options_enable_profiler_integer = bool2num($package_install_options_enable_profiler)
$package_install_options_enable_enable_ipmask_integer = bool2num($package_install_options_enable_ipmask)
$package_install_options = [
'/s',
"/v\"ACTIVATIONKEY=${package_install_options_activationkey}",
"ENVIRONMENT=\"${package_install_options_environment}\"",
"DEVICEALIAS=\"${package_install_options_device_alias}\"",
"IPMASK=${package_install_options_enable_enable_ipmask_integer}",
"ENABLEPROFILER=${package_install_options_enable_profiler_integer}",
'ENABLEREMOTE=True',
'RESTARTIIS=0',
"ATTACHALL=${package_install_options_attach_all_integer}",
'/qn' ,
'/l*v',
'C:\StackifyInstallLog.txt"' ]
package { $package_name:
ensure => $package_ensure,
source => $file_download_absolute_path,
install_options => $package_install_options,
provider => 'windows',
}

Change it to do like this:
https://github.com/puppetlabs/puppetlabs-helm/blob/a563bc2fd76a353e80350dec619f8f613f0c840c/lib/puppet/parser/functions/helm_init_flags.rb

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.