Forge Home

cfwebapp

Book of cfweb recipes

10,901 downloads

1,666 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.3.2 (latest)
  • 1.3.1
  • 1.3.0
  • 1.2.0
  • 1.1.1
  • 1.1.0
  • 1.0.0
  • 0.12.2
  • 0.12.1
  • 0.12.0
  • 0.11.1
  • 0.11.0
released Nov 12th 2019
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, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >=4.7.0 <7.0.0
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'codingfuture-cfwebapp', '1.3.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add codingfuture-cfwebapp
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install codingfuture-cfwebapp --version 1.3.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

codingfuture/cfwebapp — version 1.3.2 Nov 12th 2019

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 = {} - other cfweb::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 = {} - other cfweb::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 = {} - other cfweb::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 for kibana.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 = {} - other cfweb::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 = {} - other cfweb::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:
      • 'redmine_telegram_common' for 'redmine_2fa'
      • 'redmine_2fa'
      • 'redmine_issue_checklist'

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 = {} - other cfweb::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

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.