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
- Puppet >= 5.5.8 < 7.0.0
Start using this module
Add this module to your Puppetfile:
mod 'baurmatt-codimd', '0.2.0'
Learn more about managing modules with a PuppetfileDocumentation
codimd
Table of Contents
- Description
- Setup - The basics of getting started with codimd
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
This module installs and configure CodiMD. It's inspired by the puppet-etherpad module.
Setup
What codimd affects
- This module depends on puppet-nodejs
- It also depends on puppetlabs-vcsrepo and hence git
- It will setup a service using systemd
- It will install all npm dependencies and keep them in sync on updates
- It will also run db migration automatically on updates
Setup Requirements
This module requires a database. Though it can use sqlite, it's recommend to use PostgreSQL or MySQL. See CodiMD offical documentation for further advice.
Beginning with codimd
Before to installation, a target database should exist. Please consult the documentation of puppetlabs-postgresql, or puppetlabs-mysql for how to create those.
Usage
The basic usage is:
class { 'codimd':
config => {
host => 'localhost',
domain => 'codimd.example.org',
db => {
username => 'codimd',
password => 'mySuperSecurePassword',
database => 'codimd',
host => '127.0.0.1',
port => 3306,
dialect => 'mysql',
},
},
}
Pin the version if you don't like automatic updates
class { 'codimd':
config => {
...
},
version => '1.5.0',
}
Reference
For information on the classes and types, see the REFERENCE.md.
Limitations
- Only systemd is supported as Service provider.
- Most things are currently hardcoded.
- Module is only tested on Ubuntu 18.04
PRs are very welcome! :)
Development
This module is development with the help of pdk.
Please follow the standard Puppet development processes as lived by Puppetlabs/Vox Pupuli.
Reference
Table of Contents
Classes
Public Classes
codimd
: Puppet Module to install and configure codiMD
Private Classes
codimd::config
: Configure CodiMDcodimd::install
: Install CodiMDcodimd::service
: Startup CodiMDcodimd::user
: Configure the CodiMD application user
Data types
Classes
codimd
Puppet Module to install and configure codiMD
Parameters
The following parameters are available in the codimd
class.
version
Data type: String
Which version of CodiMD should be installed. Gets passed though to the vcsrepo resource.
Default value: 'master'
config
Data type: Hash[String,Data]
Configuration of CodiMD. Gets place in the "production" hash of the config.json.
Data types
Codimd::Db
The Codimd::Db data type.
Alias of Struct[{ username => String[1], password => String[1], database => String[1], host => String[1], port => Stdlib::Port, dialect => Codimd::Dialect, }]
Codimd::Dialect
The Codimd::Dialect data type.
Alias of Enum['mysql', 'mariadb', 'sqlite', 'postgres', 'mssql']
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.
v0.2.0 (2020-07-06)
Added
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.25.0 < 7.0.0)
- camptocamp/systemd (>= 0.4.0 < 3.0.0)
- puppetlabs-vcsrepo (>= 1.3.1 < 3.0.0)
- puppet-nodejs (>= 5.0.0 < 8.0.0)