Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 7.0.0
- , ,
Tasks:
- migrate_from_git
- pisetup
Start using this module
Add this module to your Puppetfile:
mod 'genebean-piweatherrock', '1.4.0'
Learn more about managing modules with a PuppetfileDocumentation
genebean-piweatherrock
Description
This module installs and configures PiWeatherRock on a Raspberry Pi. Additional details are provide on the project website in the "Getting started" section of the documentation.
Setup
This module will install PiWeatherRock from PyPI, along with all its pre-requisites, and create systemd services for the app and the web-based configuration utility named PiWeatherRock
and PiWeatherRockConfig
, respectively.
Reference
This module is documented via pdk bundle exec puppet strings generate --format markdown
. Please see REFERENCE.md for more info.
Changelog
CHANGELOG.md is generated prior to each release via pdk bundle exec rake changelog
.
Development
Pull requests are welcome!
Releasing
Run these commands:
git checkout master \
&& git pull \
&& git checkout release \
&& git rebase master \
&& git push \
&& pdk bundle exec rake module:bump:minor \
&& pdk bundle exec rake changelog \
&& pdk bundle exec puppet strings generate --format markdown
- Review the output of the last command to make sure there are no errors or warnings at the beginning of it.
- Review any changes to
REFERENCE.md
- Review
CHANGELOG.md
for the following:- nothing is uncategorized
- that the previous release's version number is still present. If its been replaced a tag didn't get pushed last time.
If all is well, run these commands:
git commit -a -m "Release prep for $(jq -r '.version' metadata.json)" \
&& git tag $(jq -r '.version' metadata.json) \
&& git push \
&& git push --tags \
&& hub pull-request -l maintenance \
&& pdk build
read -s forgeapikey
curl -H "User-Agent: curl-from-genebean" \
-H "Authorization: Bearer $forgeapikey" \
-H "Content-Type: application/json" \
-d "{\"file\":\"$(base64 pkg/genebean-piweatherrock-$(jq -r '.version' metadata.json).tar.gz)\"}" https://forgeapi.puppet.com/v3/releases
Reference
Table of Contents
Classes
piweatherrock
: Installs and configures PiWeatherRockpiweatherrock::config
: Handles the configuration steps for PiWeatherRockpiweatherrock::install
: Handles the installation steps for PiWeatherRockpiweatherrock::service
: Manages services associated with PiWeatherRock
Tasks
migrate_from_git
: Migrate from the git version of PiWeatherRockpisetup
: Do the initial setup of PiWeatherRock on a Raspberry Pi
Classes
piweatherrock
Installs and configures PiWeatherRock
Examples
Defaults
include piweatherrock
Use an alternate config file
class { 'piweatherrock':
config_file => '/home/pi/piweatherrock.json',
}
Parameters
The following parameters are available in the piweatherrock
class.
enable_awesome_desktop
Data type: Boolean
If using Raspbian Lite you may want to enable this so that you have a lite weight desktop and terminal
Default value: false
config_file
Data type: Stdlib::Unixpath
The path to the config file for PiWeatherRock
Default value: '/home/pi/piweatherrock-config.json'
sample_config_file
Data type: Stdlib::Unixpath
The path to the sample config file that is bundled with PiWeatherRock
Default value: '/usr/local/lib/python3.7/dist-packages/piweatherrock/config.json-sample'
piweatherrock_version
Data type: String[1]
The version of piweatherrock to install from PyPI
Default value: 'latest'
user
Data type: String[1]
The user who PiWeatherRock will run as
Default value: 'pi'
group
Data type: String[1]
The group of the user who PiWeatherRock will run as.
Default value: 'pi'
piweatherrock::config
Handles the configuration steps for PiWeatherRock
piweatherrock::install
Handles the installation steps for PiWeatherRock
piweatherrock::service
Manages services associated with PiWeatherRock
Tasks
migrate_from_git
Migrate from the git version of PiWeatherRock
Supports noop? false
pisetup
Do the initial setup of PiWeatherRock on a Raspberry Pi
Supports noop? false
Parameters
name
Data type: String[1]
The name you wish your Pi to have
timezone
Data type: String[3]
The time zone you want your Pi to use
awesomewm
Data type: Boolean
Install awesome window manager
What are tasks?
Modules can contain tasks that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Tasks in this module release
migrate_from_git
Migrate from the git version of PiWeatherRock
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
1.4.0 (2020-05-27)
Fixed
1.3.0 (2020-05-14)
Added
1.2.0 (2020-05-14)
Added
1.1.0 (2020-05-14)
Added
1.0.2 (2020-05-13)
Fixed
1.0.1 (2020-05-13)
Added
1.0.0 (2020-05-13)
Added
0.6.0 (2020-05-12)
Added
- Allow installing awesomewm during Pi setup #15 (genebean)
- Create a migration task and update config location #14 (genebean)
0.5.0 (2020-05-11)
Added
0.4.0 (2020-05-10)
Added
0.3.0 (2020-05-10)
Added
0.2.1 (2020-05-10)
Fixed
0.2.0 (2020-05-09)
Changed
0.1.0 (2020-05-05)
Added
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- camptocamp/systemd (>= 2.9.0 < 3.0.0)
- puppet/python (>= 4.1.1 < 5.0.0)
- puppetlabs/stdlib (>= 5.1.0 < 7.0.0)
BSD 3-Clause License Copyright (c) 2020, Gene Liverman All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.