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
  • Kibana
  • Redmine

Alerta

Alerta Server API and Web UI are installed from GitHub (by default) with FutoIn CID and run through uWSGI.

  • 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

Kibana

A fake RMS package is created from /usr/share/kibana setup coming from the official package. So, it should be always up to date. No auto-configuration is performed.

Note: Kibana listens to loopback by default in case of accident misconfiguration.

  • 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
  • futoin app shortcuts:

    • $memory_weight = 100
    • $memory_min = 404
    • $memory_max = undef
  • Kibana-specific:

    • $app_dbaccess = { cluster => 'logsink' } - define cfdb::access to cflogsink cluster
    • $plugins = [] - list of plugins to install per instance
    • $kibana_tune = {} - custom overrides for kibana.yml

Redmine

Full Redmine deployment. By default SVN tags are used.

IMAP IDLE-based polling supported. Good for low incoming email count.

  • 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:

      • ‘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

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.