A copy of project README as is from: https://github.com/codingfuture/puppet-cfwebapp
cfwebapp
Description
Module with web application “recipes” on top of cfweb module.
Apps supported
- Alerta
- Grafana (Docker)
- Kibana (Docker)
- Metabase (Docker)
- Redmine
- Wiki.js
Alerta
Alerta Server API and Web UI are installed from GitHub (by default) with FutoIn CID and run through uWSGI.
- Type:
cfwebapp::alerta - URL: alerta.io
-
General
cfweb::siteshortcuts$server_name = $title$ifaces = ['local']$auto_cert = {}$shared_cert = []$robots_noindex = true$site_params = {}- othercfweb::siteparams
-
futoinapp shortcuts:$memory_weight = 100$memory_min = 192$memory_max = undef$api_deploy_type = 'vcstag'$api_deploy_tool = 'git'$api_deploy_url = 'https://github.com/alerta/alerta.git'$api_deploy_match = 'v5*'$web_deploy_type = 'vcstag'$web_deploy_tool = 'git'$web_deploy_url = 'https://github.com/alerta/angular-alerta-webui.git'$web_deploy_match = 'v5*'
-
Alerta-specific:
$app_dbaccess- PostgreSQL access, by default cfmonitor/alerta.$smtp = {}- localhost by default$secret_key = undef- auto-generated by default$plugins = []- list of plugins to load$admin_users = ["admin@${::facts['domain']}"]- admin user list$email_domains = [$::facts['domain']]- allowed domains for registration$cors_origins = [$server_name]- CORS domains (add Alerta Web UI)$plugins = []- list of plugins to load$api_tune = {}- fine overrides$web_tune = {}- fine overrides
Grafana (Docker)
Note: Grafana listens to loopback by default in case of accident misconfiguration.
- Type:
cfwebapp::docker::grafana - URL: grafana.com
-
General
cfweb::siteshortcuts$server_name = $title$ifaces = ['local']$auto_cert = {}$shared_cert = []$robots_noindex = true$site_params = {}- othercfweb::siteparams
-
dockerapp shortcuts:$memory_weight = 100$memory_min = 512$memory_max = 512
-
Grafana-specific:
-
$imageimage => 'monitoringartist/grafana-xxl'image_tag => 'latest'
$target_port = 3000- port in target
-
Kibana (Docker)
Note: Kibana listens to loopback by default in case of accident misconfiguration.
- Type:
cfwebapp::docker::kibana - URL: www.elastic.co
-
General
cfweb::siteshortcuts$server_name = $title$ifaces = ['local']$auto_cert = {}$shared_cert = []$robots_noindex = true$site_params = {}- othercfweb::siteparams
-
dockerapp shortcuts:$memory_weight = 100$memory_min = 512$memory_max = 512
-
Kibana-specific:
$app_dbaccess = { cluster => 'logsink' }- define cfdb::access to cflogsink cluster$kibana_tune = {}- custom overrides forkibana.yml-
$imageimage => 'docker.elastic.co/kibana/kibana-oss'image_tag => '6.7.1'
$target_port = 5601- port in target
Metabase (Docker)
Setups Metabase. Extra connections need to be manually entered in configuration based on .env data.
- Type:
cfwebapp::docker::metabase - URL: metabase.com
-
General
cfweb::siteshortcuts$server_name = $title$ifaces = ['local']$auto_cert = {}$shared_cert = []$robots_noindex = true$site_params = {}- othercfweb::siteparams
-
dockerapp shortcuts:$memory_weight = 100$memory_min = 512$memory_max = 512
-
Metabase-specific:
$app_dbaccess- define cfdb::access to primary database-
$imageimage => 'metabase/metabase'image_tag => 'latest'
Redmine
Full Redmine deployment. By default SVN tags are used.
IMAP IDLE-based polling supported. Good for low incoming email count.
- Type:
cfwebapp::redmine - URL: www.redmine.org
-
General
cfweb::siteshortcuts$server_name = $title$auto_cert = {}$shared_cert = []$robots_noindex = true$site_params = {}- othercfweb::siteparams
-
futoinapp shortcuts:$memory_weight = 100$memory_min = 404$memory_max = undef
-
Redmine-specific
$app_dbaccess- DB access definition$deploy_type = 'vcstag'$deploy_tool = 'svn'$deploy_url = 'http://svn.redmine.org/redmine'$deploy_match = '3.4.*'$ruby_ver = '2.3'$rake_secret = undef- auto-gen by default- ‘$smtp’ - SMTP configuration
- ‘$imap’ - IMAP configuration
-
$plugins- hash of name => params to install. Default:- ‘redminetelegramcommon’ for ‘redmine_2fa’
- ‘redmine_2fa’
- ‘redmineissuechecklist’
Example:
cfweb::global::sites:
redmine:
type: 'cfwebapp::redmine'
server_name: redmine.example.com
app_dbaccess:
cluster: mysrv
role: redmine
memory_max: 512
smtp:
host: smtp.gmail.com
port: 587
start_tls: true
user: 'user@gmail.com'
password: pass
reply_to: 'noreply@gmail.com'
imap:
host: imap.gmail.com
port: 993
user: 'user@gmail.com'
password: pass
ssl: true
Wiki.js
- Type:
cfwebapp::wikijs - URL: Wiki.js
-
General
cfweb::siteshortcuts$server_name = $title$auto_cert = {}$shared_cert = []$robots_noindex = true$site_params = {}- othercfweb::siteparams
-
futoinapp shortcuts:$memory_weight = 100$memory_min = 350$memory_max = 400
-
App-specific
$app_dbaccess- DB access definition$deploy_type = 'vcstag'$deploy_tool = 'git'$deploy_url = '...'$deploy_match = 'v1*'$session_secret = undef- auto-gen by default$tune = {}- override configuration
Technical Support
- Example configuration
- Free & Commercial support: support@codingfuture.net
Setup
Up to date installation instructions are available in Puppet Forge: https://forge.puppet.com/codingfuture/cfwebapp
Please use librarian-puppet or cfpuppetserver module to deal with dependencies.
There is a known r10k issue RK-3 which prevents automatic dependencies of dependencies installation.