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::site
shortcuts$server_name = $title
$ifaces = ['local']
$auto_cert = {}
$shared_cert = []
$robots_noindex = true
$site_params = {}
- othercfweb::site
params
-
futoin
app 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::site
shortcuts$server_name = $title
$ifaces = ['local']
$auto_cert = {}
$shared_cert = []
$robots_noindex = true
$site_params = {}
- othercfweb::site
params
-
docker
app shortcuts:$memory_weight = 100
$memory_min = 512
$memory_max = 512
-
Grafana-specific:
-
$image
image => '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::site
shortcuts$server_name = $title
$ifaces = ['local']
$auto_cert = {}
$shared_cert = []
$robots_noindex = true
$site_params = {}
- othercfweb::site
params
-
docker
app 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
-
$image
image => '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::site
shortcuts$server_name = $title
$ifaces = ['local']
$auto_cert = {}
$shared_cert = []
$robots_noindex = true
$site_params = {}
- othercfweb::site
params
-
docker
app shortcuts:$memory_weight = 100
$memory_min = 512
$memory_max = 512
-
Metabase-specific:
$app_dbaccess
- define cfdb::access to primary database-
$image
image => '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::site
shortcuts$server_name = $title
$auto_cert = {}
$shared_cert = []
$robots_noindex = true
$site_params = {}
- othercfweb::site
params
-
futoin
app 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::site
shortcuts$server_name = $title
$auto_cert = {}
$shared_cert = []
$robots_noindex = true
$site_params = {}
- othercfweb::site
params
-
futoin
app 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.