A collection of web app recipes for cfweb Puppet module
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data
files
manifests
.gitignore
CHANGELOG.md
Gemfile
LICENSE
README.md
Rakefile
futoin.json
hiera.yaml
metadata.json

README.md

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

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.