hugo

Manage Hugo with puppet

Evgeny Soynov

zloesabo

6,358 downloads

6,358 latest version

4.3 quality score

Version information

  • 0.1.0 (latest)
released Jun 20th 2017
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.0.0 < 5.0.0
  • Debian
    ,
    OpenBSD
    ,
    RedHat
    , SLES,
    FreeBSD
    , NetBSD, Archlinux,
    Ubuntu

Start using this module

Documentation

zloesabo/hugo — version 0.1.0 Jun 20th 2017

puppet-hugo

Build Status

Table of Contents

  1. Description
  2. Setup
  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

A Puppet module for managing Hugo) (A static website engine).

This module installs Hugo using pre-built binaries and does not need external package repositories.

Setup

Setup requirements

The hugo module does not automatically create parent directories for the files it manages. Set up any needed directory structures before you start.

What hugo affects

Usage

Only install hugo:

include ::hugo

Install executable generate website out of it:

class {'::hugo':
    sites => {
        '/tmp/test' => {
            'target'  => '/tmp/generated',
            'version' => 'someversion'
        }
    }
}

Reference

Class: hugo

class {'::hugo':
    manage_dependencies    => true,
    dependencies_ensure    => 'latest',
    dependencies           => ['tar', 'git'],
    manage_package         => true,
    package_ensure         => 'present',
    installation_directory => '/usr/local/bin',
    version                => '0.20.7',
    owner                  => 'root',
    group                  => 'root',
    mode                   => 'ug=rw,o=r,a=x',
    sites                  => {
        'test.org' => {
            'source' => '/tmp/test',
            'target' => '/tmp/test.org',
            'version' => 'aaa'
        },
        'test2.org' => {
            'source' => '/tmp/test',
            'target' => '/tmp/test2.org',
            'version' => 'bbb'
        }
    },
    compile_defaults       => {
        'hugo_executable' => '/usr/local/bin/hugo',
        'refreshonly'     => true
    }
}

Class: hugo::packages

class {'::hugo::packages':
    manage_dependencies => true,
    dependencies_ensure => 'latest',
    dependencies        => ['git', 'tar']
}

Class: hugo::install

class {'::hugo::install':
    manage_package         => true,
    package_ensure         => 'present',
    installation_directory => '/usr/local/bin',
    version                => '0.20.7',
    owner                  => 'root',
    group                  => 'root',
    mode                   => 'ug=rw,o=r,a=x'
}

Resource: hugo::resource::compile

hugo::resource::compile {'human.test.org':
    target               => '/tmp/human.test.org',
    version              => 'someversion',
    source               => '/tmp/test',
    refreshonly          => true,
    additional_arguments => '',
    hugo_executable      => '/usr/local/bin/hugo'
}

Limitations

See metadata.json for supported platforms.

Development

Running tests

gem install bundler
bundle install --path vendor
bundle exec rake test

Contributing

Please make sure that test cases, syntax and documentation checks are passing.