Giter Club home page Giter Club logo

puppet-nuodb's Introduction

NuoDB module for Puppet

Build Status Puppet Forge

Archived

This has not been in active use in use since 2017.


Overview

Installs and configures NuoDB database.

Requirements

  • Java 8 or higher - This module will by default use puppetlabs/java module to install Java it is requested not manage Java.
  • Disable Transparent Hugepages (THP) on Linux - This module will by default use alexharvey/disable_transparent_hugepage module to install Java it is requested not manage THP.

Usage

Installation using minimal parameters

This module can install and configure NuoDB with a minimal set of parameters.

It is highly recommended that you at least set your own domainPassword to make sure your database does not use the default password (ch@ngeMe) providedy this module.

If you are not using Hiera, to setup NuoDB with the default parameters, just include the module.

include ::nuodb

Or to set any parameters as follows.

class { ::nuodb:
  config_overrides => {
    domainPassword => 'mySuperSecretPassword',
  },
}

With Hiera

All the configuration data required for this module can be prprovidedy Hiera, so just including the module should suffice in the in the Puppet code.

include ::nuodb

In Hiera, it is rerecommendedo at least set the following.

nuodb::config_overrides:
  domainPassword: 'mySuperSecretPassword'

Installing on RedHat/CentOS 7

There is a known issue in disabling THP on RedHat/CentOS unless the service_provider is specified when including the alexharv074/puppet-disable_transparent_hugepage module.

class { ::disable_transparent_hugepage:
  service_provider => 'redhat',
}

class { ::nuodb:
  config_overrides => {
    domainPassword => 'mySuperSecretPassword',
  },
}

With Hiera

include ::disable_transparent_hugepage:

include ::nuodb
disable_transparent_hugepage::service_provider: redhat

nuodb::config_overrides:
  domainPassword: mySuperSecretPassword

Install NuoDB without installing Java, if Java is already installed

class { ::nuodb:
  manage_java => false,
}

With Hiera

include ::nuodb
nuodb::manage_java: false

Setting properties in default.properties file

When using the config_overrides parameter, this will get merged with config_defaults to determine the final set of properties to set, where values defined in config_overrides will always win.

For example, to set the peer propoerty in the default.properties file in addition to all the defaults provided by the module,

class { ::nuodb:
  config_overrides => {
    domainPassword => 'mySuperSecretPassword',
    peer           => '192.168.1.20',
  },
}

With Hiera

include ::nuodb
nuodb::config_overrides:
  domainPassword: mySuperSecretPassword
  peer: 192.168.1.20

To not use any default values provided by this module for the default.properties file

To prevent using the provided default values for the default.properties file, redefine the config_defaults hash instead of using config_overrides.

class { ::nuodb:
  config_defaults => {
    domainPassword => 'superSecretDomainPassword',
  },
}

With Hiera

include ::nuodb
nuodb::config_defaults:
  domainPassword: superSecretDomainPassword

Creating a domain administrator

class { ::nuodb:
  domain_administrators => {
    'domainadmin1' => {
      ensure   => present,
      password => 'domainadmin1password',
    },
  },
}

With Hiera

include ::nuodb
nuodb::domain_administrators:
  domainadmin1:
    ensure: present
    password: domainadminpassword1

Creating a database

class { ::nuodb:
  databases => {
    'testdb1' => {
      ensure       => present,
      template     => 'Multi Host',
      dba_username => 'dba1',
      dba_password => 'secret1',
    },
  },
}

With Hiera

include ::nuodb
nuodb::databases:
  testdb1:
    ensure: present
    template: Multi Host
    dba_username: dba1
    dba_password: secret1

Module Parameters

  • manage_package Boolean specifying whether or not to manage the package. Defaults to true.

  • package_ensure The ensure value to be set for the package resource when installing the package. Defaults to installed.

  • package_version Version of the package to install.

  • package_download_url Location to download the package from.

  • package_alt_source Alternative location to get the package from. Will disregard the package_download_url if this is set.

  • package_alt_name Alternative package file name if the file names doesn't follow the standard distribution naming.

  • package_provider Provider to use when installing the package. Defaults to rpm on RedHat OS family and dpkg on Debian OS family.

  • manage_java Boolean specifying whether or not to manage install Java. Defaults to true.

  • manage_thp Boolean specifying whether or not to manage Transparent Hugepages (THP). Defaults to true.

  • manage_wget Boolean specifying whether or not to manage wget. Defaults to true.

  • config_overrides Hash of properties to set in default.properties file, which will override any properties set via config_defaults parameter. It is recommended to set the domainPassword parameter either in overrides or defaults.

  • config_defaults Hash of properties to set in default.properties by default unless overridden by config_overrides parameter. Uses sensible defaults. It is mandatory to set the domainPassword parameter either in overrides or defaults.

  • agent_service_ensure The ensure value to set for the service resource for the agent service. Defaults to running.

  • agent_service_enable Boolean enable parameter for the service resource to manage the agent service. Defaults to true.

  • rest_service_ensure The ensure value to set for the service resource for the REST service. Defaults to running.

  • rest_service_enable Boolean enable parameter for the service resource to manage the REST service. Defaults to true.

  • engine_service_ensure The ensure value to set for the service resource for the engine service. Defaults to running.

  • engine_service_enable Boolean enable parameter for the service resource to manage the engine service. Defaults to true.

  • webconsole_service_ensure The ensure value to set for the service resource for the web console service. Defaults to running.

  • webconsole_service_enable Boolean enable parameter for the service resource to manage the web console service. Defaults to true.

nuodb::manager::database Parameters

  • ensure The ensure value to determine if the database should be present or absent. Defaults to present.

  • nuodb_home The directory where NuoDB is installed to. Defaults to the install location from the module.

  • broker_host The host name for the broker instance to connect to create the database. Defaults to the altAddr property set for the default.properties in the module parameters.

  • domain_password Domain password to use for authenticating with the broker. Defaults to the domainPassword property set for the default.properties in the module parameters.

  • database_name Name of the database to create. Defaults to the title.

  • template The database template to use, must be one of 'Single Host', 'Minimally Redundant', 'Multi Host' or 'Region distributed'. Defaults to 'Single Host'.

  • dba_username Database administrator username for the database. Defaults to the title.

  • dba_password Database administrator password for the database. Defaults to the title.

nuodb::manager::domain_administrator Parameters

  • ensure The ensure value to determine if the domain administrator should be present or absent. Defaults to present.

  • nuodb_home The directory where NuoDB is installed to. Defaults to the install location from the module.

  • broker_host The host name for the broker instance to connect to create the domain administrator. Defaults to the 'altAddr' property set for the default.properties in the module parameters.

  • domain_password Domain password to use for authenticating with the broker. Defaults to the 'domainPassword' property set for the default.properties in the module parameters.

  • username Domain administrator username for the domain. Defaults to the title.

  • password Domain administrator password for the domain. Defaults to the title.

Limitations

This module has only been tested on,

  • RedHat/CentOS 7
  • Ubuntu 16.04 (xenial)

Development

Please feel free to raise feature requests, suggest improvements, report bugs and send pull requests.

puppet-nuodb's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.