Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

README.md

cfwebapp

Description

Module with web application "recipes" on top of cfweb module.

Apps supported

  • Alerta
  • Grafana (Docker)
  • Kibana (Docker)
  • Metabase (Docker)
  • Redmine
  • Wiki.js v1 & v2

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.
    • $themes - hash of name => params to install.

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 v1

  • 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

Wiki.js v2

  • Type: cfwebapp::wikijs2
  • 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 = 1024
    • $memory_max = 1024
  • 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.

About

A collection of web app recipes for cfweb Puppet module

Resources

License

Packages

No packages published