Giter Site home page Giter Site logo

confluence's Introduction

Confluence Cookbook

Cookbook Version Build Status

Description

Installs/Configures an instance of Atlassian Confluence.

Requirements

Platforms

  • RHEL/CentOS 6, 7
  • Ubuntu 14.04, 16.04

Cookbooks

JDK/JRE

The Atlassian Confluence Linux installer will automatically configure a bundled JRE.

If you prefer Confluence standalone installation, then you have to manage JDK/JRE 8 (Supported Platforms) on this node. It can be done with java cookbook and appropricate attributes:

node.set['java']['jdk_version'] = "8"
include_recipe 'java'

Attributes

These attributes are under the node['confluence'] namespace.

Attribute Description Type Default
checksum SHA256 checksum for Confluence install String auto-detected by library method
home_path home directory for Confluence user String /var/atlassian/application-data/confluence
install_path location to install Confluence String /opt/atlassian/confluence
install_type Confluence install type - "installer", "standalone" String installer
url URL for Confluence install String auto-detected by library method
user user running Confluence String confluence
version Confluence version to install String 6.0.3

Notice: If ['confluence']['install_type'] is set to installer, then the installer will try to upgrade your Confluence instance located in ['confluence']['install_path'] (if it exists) to the ['confluence']['version'].

If you want to avoid an unexpected upgrade, just set or override ['confluence']['version'] attribute value to that of your current confluence version.

Confluence Database Attributes

These attributes are under the node['confluence']['database'] namespace.

Attribute Description Type Default
host FQDN or IP of database server ("127.0.0.1" automatically installs ['database']['type'] server) String "127.0.0.1"
name Confluence database name String confluence
password Confluence database user password String changeit
port Confluence database port Fixnum 3306 for MySQL, 5432 for PostgreSQL
type Confluence database type - "mysql", "postgresql", or "hsqldb" String mysql
user Confluence database user String confluence

Confluence JVM Attributes

These attributes are under the node['confluence']['jvm'] namespace.

Attribute Description Type Default
minimum_memory JVM minimum memory String 512m
maximum_memory JVM maximum memory String 768m
maximum_permgen JVM maximum PermGen memory String 256m
java_opts additional JAVA_OPTS to be passed to Confluence JVM during startup String ""
bundled_jre prefer JRE bundled with linux installer Boolean true

Confluence Autotune Attributes

These attributes are under the node['confluence']['autotune'] namespace. Autotune automatically determines appropriate settings for certain attributes. This feature is inspired by the autotune recipe in the https://github.com/afklm/jira cookbook. This initial version only supports JVM min and max memory size tuning.

There are several tuning types that can be set:

  • 'mixed' - JIRA and DB run on the same system
  • 'dedicated' - JIRA has the system all to itself
  • 'shared' - JIRA shares the system with the DB and other applications

Total available memory is auto discovered using Ohai but can be overridden by setting your own value in kB.

Attribute Description Type Default
enabled Whether or not to autotune settings. Boolean false
type Type of tuning to apply. One of 'mixed', 'dedicated' and 'shared'. String mixed
total_memory Total system memory to use for autotune calculations. String Ohai value

Confluence Tomcat Attributes

These attributes are under the node['confluence']['tomcat'] namespace.

Attribute Description Type Default
port Tomcat HTTP port Fixnum 8090

Recipes

  • recipe[confluence] Installs/configures Atlassian Confluence
  • recipe[confluence::apache2] Installs/configures Apache 2 as proxy (ports 80/443)
  • recipe[confluence::database] Installs/configures MySQL/Postgres server, database, and user for Confluence
  • recipe[confluence::linux_installer] Installs/configures Confluence via Linux installer"
  • recipe[confluence::linux_standalone] Installs/configures Confluence via Linux standalone archive"
  • recipe[confluence::tomcat_configuration] Configures Confluence's built-in Tomcat
  • recipe[confluence::crowd_sso] Configures user authentication with Crowd single sign-on

Usage

Confluence Data Bag

For security purposes it is recommended to use data bag for storing secrets like passwords and database credentials.

You can override any attributes from the ['confluence'] namespace using the confluence/confluence data bag. It could be either encrypted or not encrypted by your choice.

Example:

{
  "id": "confluence",
  "confluence": {
    "database": {
      "type": "postgresql",
      "name": "confluence_db",
      "user": "confluence_user",
      "password": "confluence_db_password"
    }
  }
}

(Note - "confluence" nesting level is required!)

These credentials will be used for your Confluence installation instead of appropriate attribute values.

Data bag's and item's names are optional and can be changed by overriding attributes ['confluence']['data_bag_name'] and ['confluence']['data_bag_item']

Confluence Server Installation

The simplest method is via the default recipe, which uses node['confluence']['install_type'] to determine best method.

  • Optionally (un)encrypted data bag or set attributes
    • knife data bag create confluence
    • knife data bag edit confluence confluence --secret-file=path/to/secret
  • Add recipe[confluence] to your node's run list.

Custom Confluence Configurations

Using individual recipes, you can use this cookbook to configure Confluence to fit your environment.

  • Optionally (un)encrypted data bag or set attributes
    • knife data bag create confluence
    • knife data bag edit confluence confluence --secret-file=path/to/secret
  • Add individual recipes to your node's run list.

Sponsors

Development of this cookbook has been generously supported in part by the code contributions of the following organizations:

License and Author

  • Author:: Mikhail Zholobov ([email protected], @legal90)
  • Author:: Brian Flad ([email protected], @bflad)
  • Author:: Denny Schäfer ([email protected], @tuxinaut)
  • Copyright:: 2013, Brian Flad
  • Copyright:: 2013, University of Pennsylvania
  • Copyright:: 2013, Denny Schäfer

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

confluence's People

Contributors

bflad avatar esciara avatar gsreynolds avatar jessehub avatar jmelowry avatar katbyte avatar legal90 avatar mvdkleijn avatar obazoud avatar patcon avatar wolf31o2 avatar yasuharu519 avatar

Watchers

 avatar  avatar  avatar  avatar  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.