Skip to content
This repository has been archived by the owner on Jul 5, 2020. It is now read-only.

Latest commit

 

History

History

atlassian-confluence

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Atlassian Confluence

Atlassian Confluence is an enterprise wiki collaboration platform.

This chart bootstraps a deployment with the atlassian/confluence-server image on a Kubernetes cluster.

Prerequisites

  • Kubernetes 1.8+ with Beta APIs enabled
  • PV provisioner support in the underlying infrastructure
  • At least 2GB Memory

Getting Started

To install the chart with the release name atlassian-confluence:

helm install stable/atlassian-confluence --name atlassian-confluence

It takes a few minutes to bootstrap a Confluence server. Then open your browser and you will see the Confluence Setup Wizard. The wizard may freeze while database initialization. Hang tight.

To delete the release atlassian-confluence:

helm delete atlassian-confluence

Configuration

The following table lists the configurable parameters of the chart and their default values.

Parameter Description Default
confluence.reverseProxyHost Hostname of the server. confluence.example.com
confluence.reverseProxyPort Port of the server. 443
confluence.reverseProxyScheme http or https. https
confluence.javaHeapSize JavaVM heap size passed as -Xmx and -Xms. 1024m
confluence.javaMemoryOptions JavaVM memory options. See values.yaml
confluence.javaOptions JavaVM options. ``
synchrony.javaHeapSize JavaVM heap size for Synchrony. 0m (disable Synchrony)
persistence.enabled Create a persistent volume to store data. true
persistence.size Size of a persistent volume. 8Gi
persistence.storageClass Type of a persistent volume. nil
persistence.existingClaim Name of the existing persistent volume. nil
ingress.enabled Enable ingress controller resource. false
ingress.hosts Hostnames. []
resources.limits Pod resource limits. {}
resources.requests Pod resource requests. {}
nodeSelector Node labels for pod assignment {}

Resources Limits

It is highly recommended to set resources limits for the following reasons.

  • Set memory request and limit to prevent containers suddenly die due to OOM killer.
  • Set CPU limit to prevent other pods fail liveness probe and die.

You can calculate memory size by:

[resources.limits.memory] = [confluence.javaHeapSize] + 1GiB

Here is an example of resources limits:

# values.yaml
confluence:
  javaHeapSize: 1024m
resources:
  limits:
    memory: 2048Mi
    cpu: 800m
  requests:
    memory: 2048Mi
    cpu: 0

Persistence

Confluence stores data into both database and filesystem. You can choose one of the following types in the setup wizard:

  1. Use an embedded H2 database in the same volume.
  2. Use an external database.

This chart creates a PersistentVolumeClaim with 8GB volume by default. You can set size as follows:

# values.yaml
persistence:
  size: 100Gi

Synchrony (collaborative editing)

Confluence provides the collaborative editing feature. It needs Synchrony which is a separate process executed by Confluence. See Administering Collaborative Editing for details.

Synchrony is disabled by default in this chart because it requires much memory. You can enable it as follows:

# values.yaml
synchrony:
  javaHeapSize: 1024m

Also you need to increase the memory request and limit.

Upgrade Confluence

To upgrade to a more recent version of Confluence:

helm upgrade atlassian-confluence