@ -0,0 +1,7 @@ | |||
source 'https://rubygems.org' | |||
puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 3.3'] | |||
gem 'puppet', puppetversion | |||
gem 'puppetlabs_spec_helper', '>= 0.1.0' | |||
gem 'puppet-lint', '>= 0.3.2' | |||
gem 'facter', '>= 1.7.0' |
@ -0,0 +1,79 @@ | |||
# proxmox | |||
#### Table of Contents | |||
1. [Overview](#overview) | |||
2. [Module Description - What the module does and why it is useful](#module-description) | |||
3. [Setup - The basics of getting started with proxmox](#setup) | |||
* [What proxmox affects](#what-proxmox-affects) | |||
* [Setup requirements](#setup-requirements) | |||
* [Beginning with proxmox](#beginning-with-proxmox) | |||
4. [Usage - Configuration options and additional functionality](#usage) | |||
5. [Reference - An under-the-hood peek at what the module is doing and how](#reference) | |||
5. [Limitations - OS compatibility, etc.](#limitations) | |||
6. [Development - Guide for contributing to the module](#development) | |||
## Overview | |||
A one-maybe-two sentence summary of what the module does/what problem it solves. | |||
This is your 30 second elevator pitch for your module. Consider including | |||
OS/Puppet version it works with. | |||
## Module Description | |||
If applicable, this section should have a brief description of the technology | |||
the module integrates with and what that integration enables. This section | |||
should answer the questions: "What does this module *do*?" and "Why would I use | |||
it?" | |||
If your module has a range of functionality (installation, configuration, | |||
management, etc.) this is the time to mention it. | |||
## Setup | |||
### What proxmox affects | |||
* A list of files, packages, services, or operations that the module will alter, | |||
impact, or execute on the system it's installed on. | |||
* This is a great place to stick any warnings. | |||
* Can be in list or paragraph form. | |||
### Setup Requirements **OPTIONAL** | |||
If your module requires anything extra before setting up (pluginsync enabled, | |||
etc.), mention it here. | |||
### Beginning with proxmox | |||
The very basic steps needed for a user to get the module up and running. | |||
If your most recent release breaks compatibility or requires particular steps | |||
for upgrading, you may wish to include an additional section here: Upgrading | |||
(For an example, see http://forge.puppetlabs.com/puppetlabs/firewall). | |||
## Usage | |||
Put the classes, types, and resources for customizing, configuring, and doing | |||
the fancy stuff with your module here. | |||
## Reference | |||
Here, list the classes, types, providers, facts, etc contained in your module. | |||
This section should include all of the under-the-hood workings of your module so | |||
people know what the module is touching on their system but don't need to mess | |||
with things. (We are working on automating this section!) | |||
## Limitations | |||
This is where you list OS compatibility, version compatibility, etc. | |||
## Development | |||
Since your module is awesome, other users will want to play with it. Let them | |||
know what the ground rules for contributing are. | |||
## Release Notes/Contributors/Etc **Optional** | |||
If you aren't using changelog, put your release notes here (though you should | |||
consider using changelog). You may also add any additional sections you feel are | |||
necessary or important to include here. Please use the `## ` header. |
@ -0,0 +1,18 @@ | |||
require 'rubygems' | |||
require 'puppetlabs_spec_helper/rake_tasks' | |||
require 'puppet-lint/tasks/puppet-lint' | |||
PuppetLint.configuration.send('disable_80chars') | |||
PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp"] | |||
desc "Validate manifests, templates, and ruby files" | |||
task :validate do | |||
Dir['manifests/**/*.pp'].each do |manifest| | |||
sh "puppet parser validate --noop #{manifest}" | |||
end | |||
Dir['spec/**/*.rb','lib/**/*.rb'].each do |ruby_file| | |||
sh "ruby -c #{ruby_file}" unless ruby_file =~ /spec\/fixtures/ | |||
end | |||
Dir['templates/**/*.erb'].each do |template| | |||
sh "erb -P -x -T '-' #{template} | ruby -c" | |||
end | |||
end |
@ -0,0 +1,41 @@ | |||
# == Class: proxmox | |||
# | |||
# Full description of class proxmox here. | |||
# | |||
# === Parameters | |||
# | |||
# Document parameters here. | |||
# | |||
# [*sample_parameter*] | |||
# Explanation of what this parameter affects and what it defaults to. | |||
# e.g. "Specify one or more upstream ntp servers as an array." | |||
# | |||
# === Variables | |||
# | |||
# Here you should define a list of variables that this module would require. | |||
# | |||
# [*sample_variable*] | |||
# Explanation of how this variable affects the funtion of this class and if | |||
# it has a default. e.g. "The parameter enc_ntp_servers must be set by the | |||
# External Node Classifier as a comma separated list of hostnames." (Note, | |||
# global variables should be avoided in favor of class parameters as | |||
# of Puppet 2.6.) | |||
# | |||
# === Examples | |||
# | |||
# class { 'proxmox': | |||
# servers => [ 'pool.ntp.org', 'ntp.local.company.com' ], | |||
# } | |||
# | |||
# === Authors | |||
# | |||
# Author Name <author@domain.com> | |||
# | |||
# === Copyright | |||
# | |||
# Copyright 2015 Your name here, unless otherwise noted. | |||
# | |||
class proxmox { | |||
} |
@ -0,0 +1,14 @@ | |||
{ | |||
"name": "gardouille-proxmox", | |||
"version": "0.1.0", | |||
"author": "gardouille", | |||
"summary": "Manage Proxmox hypervisor and KVM virtual machines or OpenVZ containers.", | |||
"license": "wtfpl", | |||
"source": "https://git.101010.fr/puppet/proxmox", | |||
"project_page": "https://git.101010.fr/puppet/proxmox", | |||
"issues_url": null, | |||
"dependencies": [ | |||
{"name":"puppetlabs-stdlib","version_requirement":">= 4.5.0"} | |||
] | |||
} | |||
@ -0,0 +1,7 @@ | |||
require 'spec_helper' | |||
describe 'proxmox' do | |||
context 'with defaults for all parameters' do | |||
it { should contain_class('proxmox') } | |||
end | |||
end |
@ -0,0 +1 @@ | |||
require 'puppetlabs_spec_helper/module_spec_helper' |
@ -0,0 +1,12 @@ | |||
# The baseline for module testing used by Puppet Labs is that each manifest | |||
# should have a corresponding test manifest that declares that class or defined | |||
# type. | |||
# | |||
# Tests are then run by using puppet apply --noop (to check for compilation | |||
# errors and view a log of events) or by fully applying the test in a virtual | |||
# environment (to compare the resulting system state to the desired state). | |||
# | |||
# Learn more about module testing here: | |||
# http://docs.puppetlabs.com/guides/tests_smoke.html | |||
# | |||
include proxmox |