Skip to content

Confluence configuration

Application configuration

Helm chart version

confluence_helm_chart_version sets the Helm chart version of Confluence instance.

confluence_helm_chart_version = "1.2.0"

Confluence version tag

Confluence will be installed with the default version defined in its Helm chart. If you want to install a specific version of Bamboo, you can set the confluence_version_tag to the version you want to install.

For more information, see Confluence Version Tags.

confluence_version_tag = "<CONFLUENCE_VERSION_TAG>"

Number of Confluence application nodes

The initial Confluence installation needs to be started with a single application node. After all the setup steps are finished, it is possible to update the confluence_replica_count with a number higher than 1 and run install.sh to update the application node count.

# Number of Confluence application nodes
# Note: For initial installation this value needs to be set to 1 and it can be changed only after Confluence is fully
# installed and configured.
confluence_replica_count = 1

Cluster size

Cluster Autoscaler installed in the cluster will monitor the amount of required resources and adjust the cluster size to accomodate the requested cpu and memory.

Installation timeout

confluence_installation_timeout defines the timeout (in minutes) for product helm chart installation. Different variables can influence how long it takes the application from installation to ready state. These can be dataset restoration, resource requirements, number of replicas and others.

confluence_installation_timeout = 10

License

confluence_license takes the license key of Confluence product. Make sure that there is no new lines or spaces in license key.

confluence_license = "<LICENSE_KEY>"

Sensitive data

confluence_license is marked as sensitive, storing in a plain-text config.tfvars file is not recommended.

Please refer to Sensitive Data section.

Confluence instance resource configuration

The following variables set number of CPU, amount of memory, maximum heap size and minimum heap size of Confluence instance. (Used default values as example.)

confluence_cpu                 = "2"
confluence_mem                 = "1Gi"
confluence_min_heap            = "256m"
confluence_max_heap            = "512m"

Synchrony instance resource configuration

The following variables set number of CPU, amount of memory, maximum heap size, minimum heap size, and stack size of Synchrony instance. (Used default values as example.)

synchrony_cpu                 = "2"
synchrony_mem                 = "2.5Gi"
synchrony_min_heap            = "1g"
synchrony_max_heap            = "2g"
synchrony_stack_size          = "2048k"

Collaborative editing

confluence_collaborative_editing_enabled enables Collaborative editing. (default: true)

confluence_collaborative_editing_enabled = true

RDS Configuration

Database engine version

confluence_db_major_engine_version sets the PostgeSQL engine version that will be used.

confluence_db_major_engine_version = "14" 

Supported DB versions

Be sure to use a DB engine version that is supported by Confluence

Restore from snapshot

This value is ignored if RDS snaphost is provided with confluence_db_snapshot_id.

Database Instance Class

confluence_db_instance_class sets the DB instance type that allocates the computational, network, and memory capacity required by the planned workload of the DB instance. For more information about available instance classes, see DB instance classes — Amazon Relational Database Service.

confluence_db_instance_class = "<INSTANCE_CLASS>"  # e.g. "db.t3.micro"

Database Allocated Storage

confluence_db_allocated_storage sets the allocated storage for the database instance in GiB.

confluence_db_allocated_storage = 100 

The allowed value range of allocated storage may vary based on instance class

You may want to adjust these values according to your needs. For more information, see Amazon RDS DB instance storage — Amazon Relational Database Service.

Database IOPS

confluence_db_iops sets the requested number of I/O operations per second that the DB instance can support.

confluence_db_iops = 1000

The allowed value range of IOPS may vary based on instance class

You may want to adjust these values according to your needs. For more information, see Amazon RDS DB instance storage — Amazon Relational Database Service.

Database name

confluence_db_name defines the name of database to be used for the Confluence in RDS instance.

If you restore the database, you need to provide the db name from the snapshot. If the snapshot does not have default db, then name set this variable to null.

confluence_db_name = "confluence"

Shared home configuration

Shared home size

confluence_shared_home_size sets the size of shared home storage in Gi. Default is 10Gi.

confluence_shared_home_size = "10Gi"

NFS server resource configuration

NFS is used as shared home storage for Confluence. The deployment will create an NFS server within the cluster. The following variables set the initial cpu/memory request sizes including their limits for the NFS instance. (Default values used as example.)

# Confluence NFS instance resource configuration
confluence_nfs_requests_cpu    = "1"
confluence_nfs_requests_memory = "1Gi"
confluence_nfs_limits_cpu      = "2"
confluence_nfs_limits_memory   = "2Gi"

S3 for attachment storage

Since Confluence 8.1 AWS S3 can be used for storing and managing attachment data.

confluence_s3_attachments_storage enables AWS S3 attachment storage, where Terraform will automatically create an S3 bucket, IAM role and policy. By default, this property is commented out.

confluence_s3_attachments_storage = true

Shared home is still required.

S3 object storage is for attachment data only. You'll still need to use file system storage (shared home) for Confluence configuration data.

Dataset restore configuration

To restore the dataset into the newly created instance, configure all the parameters in this section.

Database Snapshot Identifier

confluence_db_snapshot_id sets the identifier of the DB snapshot to restore from. If you do not specify a value, no AWS RDS snapshot will be used.

confluence_db_snapshot_id = "<SNAPSHOT_IDENTIFIER>"   # e.g. "my-snapshot"

The AWS RDS snapshot must be in the same region and account as the RDS instance to be created.

You also need to provide the master user credentials (confluence_db_master_username and confluence_db_master_password) that match the snapshot.

Optimise the restore performance.

To obtain the best performance, configure Jira RDS that match the snapshot including confluence_db_instance_class and confluence_db_allocated_storage.

Database Master Username

confluence_db_master_username sets the username for the RDS master user. If you do not specify a value, username is "postgres".

confluence_db_master_username = "<DB_MASTER_USERNAME>"   # e.g. "postgres"

Database Master Password

confluence_db_master_password sets the password for the RDS master user. If you do not specify a value, a random password will be generated.

confluence_db_master_password = "<DB_MASTER_PASSWORD>"   # default value is null

Build Number

confluence_db_snapshot_build_number configures Confluence instance with the correct build number that stores in the snapshot. Without a matching build number, Confluence will not be able to start. List of build numbers.

confluence_db_snapshot_build_number = "<BUILD_NUMBER>" # e.g. "8703"

Shared home snapshot id

To restore a shared home dataset, you can provide an EBS snapshot id that contains content of the shared home volume. This volume will then be mounted to the NFS server and used when the product is started.

confluence_shared_home_snapshot_id sets the id of shared home EBS snapshot. Make sure the snapshot is available in the region you are deploying to and follows all product requirements.

confluence_shared_home_snapshot_id = "<SHARED_HOME_EBS_SNAPSHOT_IDENTIFIER>"
Snapshot and your environment must be in same region

Search engine configuration

Starting from Confluence 8.9.0, OpenSearch is supported as search engine. See: https://confluence.atlassian.com/doc/configuring-opensearch-for-confluence-1387594125.html

OpenSearch

confluence_opensearch_enabled decides whether to use OpenSearch as Confluence search engine. If set to true, a single-node OpenSearch will be created as part of the deployment, and Confluence will be configured to connect to this instance.

confluence_opensearch_enabled = true

OpenSearch instance resource configuration

The following variables set number of CPU and amount of memory of OpenSearch instance. (Used default values as example.)

confluence_opensearch_requests_cpu = "1"
confluence_opensearch_requests_memory = "1Gi"

OpenSearch persistent volume size

confluence_opensearch_persistence_size sets the size of OpenSearch's persistence volume. (Used default values as example.)

confluence_opensearch_persistence_size = "10Gi"

OpenSearch initial admin password

From OpenSearch Helm chart version 2.18.0 and App Version OpenSearch 2.12.0 onwards a custom strong password needs to be provided in order to setup demo admin user. If no password is specified, a random password will be generated.

confluence_opensearch_initial_admin_password = "OpenSearchAtl123!"

OpenSearch restore configuration

To restore OpenSearch dataset, you can provide EBS snapshot ID of the OpenSearch volume. This volume will be used to pre-create OpenSearch PVC and PV.

confluence_opensearch_snapshot_id sets the id of OpenSearch EBS snapshot. Make sure the snapshot is available in the region you are deploying to and follows all product requirements.

confluence_opensearch_snapshot_id = "<OPENSEARCH_SNAPSHOT_ID>"