cookbook 'confluence', '= 2.6.0'
confluence
(45) Versions
2.6.0
-
Follow15
Installs/Configures Atlassian Confluence
cookbook 'confluence', '= 2.6.0', :supermarket
knife supermarket install confluence
knife supermarket download confluence
Confluence Cookbook
Description
Installs/Configures an instance of Atlassian Confluence.
Maintainers
This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit sous-chefs.org or come chat with us on the Chef Community Slack in #sous-chefs.
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.default['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.1.2 |
--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' - Confluence and DB run on the same system
- 'dedicated' - Confluence has the system all to itself
- 'shared' - Confluence 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.
Contributors
This project exists thanks to all the people who contribute.
Backers
Thank you to all our backers!
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
Dependent cookbooks
apache2 < 6.0.0 |
ark >= 0.0.0 |
database >= 0.0.0 |
java >= 0.0.0 |
mysql < 8.0.0 |
mysql_connector >= 0.0.0 |
mysql2_chef_gem < 2.0.0 |
postgresql >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Confluence Cookbook Changelog
2.6.0 (2020/05/05)
- Fix a legacy ChefSpec
- Moved all templates out of the default directory
- Migrate to Github Actions
- resolved cookstyle error: libraries/helpers.rb:35:9 convention:
Style/RedundantReturn
- resolved cookstyle error: libraries/helpers.rb:386:21 warning:
Lint/SendWithMixinArgument
- resolved cookstyle error: libraries/helpers.rb:387:23 warning:
Lint/SendWithMixinArgument
- resolved cookstyle error: libraries/helpers.rb:388:42 warning:
Lint/SendWithMixinArgument
- resolved cookstyle error: recipes/autotune.rb:29:5 refactor:
ChefCorrectness/ChefApplicationFatal
- resolved cookstyle error: recipes/linux_installer.rb:45:30 warning:
Lint/SendWithMixinArgument
- resolved cookstyle error: recipes/linux_standalone.rb:37:21 warning:
Lint/SendWithMixinArgument
- resolved cookstyle error: attributes/default.rb:50:1 refactor:
ChefStyle/UnnecessaryPlatformCaseStatement
- resolved cookstyle error: libraries/helpers.rb:386:1 refactor:
ChefCorrectness/IncorrectLibraryInjection
- resolved cookstyle error: libraries/helpers.rb:387:1 refactor:
ChefCorrectness/IncorrectLibraryInjection
2.5.1 (2019/08/16)
- Update the owner information in metadata.rb
- Update CircleCI version
- Run cookstyle on repo (fixes #187)
- ISO-8601 date format for the CHANGLOG
2.5.0 (2019/03/10)
- Added version pin for Apache2
2.5.0 (2018/10/24)
- Added hash values to support for Confluence version
6.8.2
.
2.5.0 (2018/05/10)
- Changed cookbook ownership to Sous Chefs Community. Hopefully cookbook will come back to life.
2.4.3 (2017/07/12)
- Added hash values and support for Confluence versions
6.2.1
,6.2.2
,6.2.3
,6.3.1
. - Fix by style check suggestions.
2.4.2 (2017/05/31)
- Added hash values and support for Confluence versions
6.1.3
,6.1.4
and6.2.0
.
2.4.1 (2017/04/26)
- Added hash values and support for Confluence v6.1.2
2.4.0 (2017/04/06)
- Added hash values and support for Confluence v6.0.5 and v6.1.1
- Added restriction to avoid testing with Chef Client v13 for now
2.3.0 (2017/02/23)
- Added autotune feature for configuring jvm settings. see README.md for details. [GH-140]
- Add temporary workaround for CONF-35722. [GH-148]
2.2.0 (2016/12/28)
Improvements:
- Added support of Confluence 5.10.4, 5.10.5, 5.10.6, 5.10.7, 5.10.8, 6.0.1, 6.0.2. [GH-127] [GH-135]
- Added support of "hsqldb" database type [GH-117] [GH-119]
- Don't redirect /server-status for monitoring systems [GH-128]
Bug fixes:
- Add a matching quote to JAVA_OPTS variable. [GH-124]
- Fix initial service start after installing Confluence with .bin installer on systemd-driven systems. [GH-136]
2.1.1 (2016/08/05)
Improvements:
2.1.0 (2016/06/13)
Backwards incompatibilities:
- Dropped support of Confluence < 5.5, since they've reached their EOL date. [GH-106]
- Attribute
['confluence']['jvm']['maximum_permgen']
was removed, because it is not needed for Java 8. [GH-114]
IMPROVEMENTS:
- Added attribute
['confluence']['jvm']['bundled_jre']
allowing to manage custom JRE byjava
cookbook regardless ofinstall_type
. [GH-111] - Added support of Confluence 5.9.9, 5.9.10, 5.10.1. [GH-107] [GH-115]
- Changed
mysql
cookbook constraint to work with newer version ofmysql2_chef_gem
cookbook. [GH-109] - Removes non-dynamic template for
web.xml
config. [GH-116]
Bug fixes:
- postgres: Set "utf-8" encoding, "C" collation and "template0". [GH-108]
- Fixed attributes for Apache listen ports. [GH-103] [GH-105]
- Fixed
conf
directory permissions. [GH-99]
2.0.0 (2016/02/20)
BACKWARDS INCOMPATIBILITIES:
- Changed data bag layout [GH-74]
- Cookbook dependency
mysql
is constraint to version 6 and higher [GH-50] - linux_installer: Use Java (JRE) bundled with Confluence installer [GH-32]
IMPROVEMENTS:
- Added support for newer Confluence versions up to 5.9.5 [GH-24] [GH-57] [GH-79] [GH-87] [GH-94]
- Added support for Crowd SSO [GH-26] [GH-72] [GH-75]
- Added support for
systemd
[GH-45] - library: Added helper methods for database connection [GH-61]
- library: Added helper methods for Apache virtual host name and alias [GH-81]
- apache: Redirect HTTP to HTTPS [GH-73]
- apache: Added support for Apache 2.4 [GH-37]
- tomcat: Disable HTTPS on the Tomcat side [GH-68]
- postgresql: Set database owner to confluence user [GH-54]
- Allow to override apache webapp template in a wrapper cookbook [GH-91]
- linux_standalone: Use
ark
resource to download and unpack Confluence .tar.gz artifact [GH-40] - linux_installer: Update Confluence automatically using the installer [GH-33] [GH-49]
- Removed unused template for
confluence.cfg.xml
[GH-41] - Removed unsupported and non-implemented installer types [GH-27]
Bug fixes:
- Fixed issues of derived attributes [GH-30] [GH-31] [GH-62] [GH-64]
- linux_standalone: Fixed permissions on Confluence installation directory [GH-71]
- linux_installer: Fixed issue of upgrade to the newer Confluence version [GH-33] [GH-49]
- library: Fix merging
settings
hashes from attribute and data bag. [GH-23] - mysql: Fixed install path of MySQL JDBC connector [GH-52]
- mysql: Fixed "RecipeNotFound" caused by invalid cookbook dependencies [GH-19]
- Fixed apache default settings for
ServerName
andServerAlias
directives [GH-47] [GH-89]
1.7.1 (2014/01/02)
Bug fixes:
- Fixed chef-solo run failure with
java_ark
resource notification [GH-2]
1.7.0 (2013/10/05)
- Bump default version of Confluence to 5.3
1.6.0 (2013/08/21)
- Bump default version of Confluence to 5.2.3
1.5.0 (2013/08/08)
- Bump default version of Confluence to 5.1.5
1.4.0 (2013/07/24)
- Bump default version of Confluence to 5.1.4
1.3.0 (2013/05/16)
- Bump default version of Confluence to 5.1.3
1.2.1 (2013/04/16)
- Fix Apache log file names
1.2.0 (2013/03/29)
- Bump default version of Confluence to 5.1.0
- Update Vagrant box URLs to Chef 11.2.0 since its tested and works
1.1.0 (2013/02/28)
- Bump default version of Confluence to 5.0.1
1.0.0 (2013/02/16)
- Production ready with Linux installer/standalone installs
- Split out individual recipes for installation and configuration
- Default recipe now includes Apache 2 proxy
- Built-in checksum handling
- Moved apache2 attributes into default attributes
0.1.0
- Initial beta release
Collaborator Number Metric
2.6.0 passed this metric
Contributing File Metric
2.6.0 passed this metric
Foodcritic Metric
2.6.0 passed this metric
No Binaries Metric
2.6.0 passed this metric
Testing File Metric
2.6.0 passed this metric
Version Tag Metric
2.6.0 passed this metric
2.6.0 passed this metric
2.6.0 passed this metric
Foodcritic Metric
2.6.0 passed this metric
No Binaries Metric
2.6.0 passed this metric
Testing File Metric
2.6.0 passed this metric
Version Tag Metric
2.6.0 passed this metric
2.6.0 passed this metric
2.6.0 passed this metric
Testing File Metric
2.6.0 passed this metric
Version Tag Metric
2.6.0 passed this metric
2.6.0 passed this metric
2.6.0 passed this metric