Files
computer-playbook/roles/web-app-confluence
Kevin Veen-Birkenbach 7d9cb5820f feat(jvm): add robust JVM sizing filters and apply across Confluence/Jira
Introduce filter_plugins/jvm_filters.py with jvm_max_mb/jvm_min_mb. Derive Xmx/Xms from docker mem_limit/mem_reservation using safe rules: Xmx=min(70% limit, limit-1024MB, 12288MB), floored at 1024MB; Xms=min(Xmx/2, reservation, Xmx), floored at 512MB. Parse human-readable sizes (k/m/g/t) with binary units.

Wire filters into roles: set JVM_MINIMUM_MEMORY/JVM_MAXIMUM_MEMORY via filters; stop relying on host RAM. Keep env templates simple and stable.

Add unit tests under tests/unit/filter_plugins/test_jvm_filters.py covering typical sizes, floors, caps, invalid inputs, and entity-name derivation.

Ref: https://chatgpt.com/share/68d3b9f6-8d18-800f-aa8d-8a743ddf164d
2025-09-24 11:29:40 +02:00
..
2025-08-29 18:07:01 +02:00
2025-09-02 22:49:02 +02:00

Confluence

Description

Confluence is Atlassians enterprise wiki and collaboration platform. This role deploys Confluence via Docker Compose, wires it to PostgreSQL, and integrates proxy awareness, optional OIDC SSO, health checks, and production-friendly defaults for Infinito.Nexus.

Overview

The role builds a minimal custom image on top of the official Confluence image, prepares persistent volumes, and exposes the app behind your reverse proxy. Configuration is driven by variables (image, version, volumes, domains, OIDC). JVM heap sizing is auto-derived from host RAM with safe caps to avoid Xms > Xmx.

Features

  • Fully Dockerized: Compose stack with a dedicated data volume (confluence_data) and a slim overlay image for future add-ons.
  • Reverse-Proxy Ready: Sets ATL_PROXY_NAME/PORT/SCHEME/SECURE so Confluence generates correct external URLs behind HTTPS.
  • OIDC SSO (Optional): Pre-templated vars for issuer, client, scopes, JWKS; compatible with Atlassian DC SSO/OIDC marketplace apps.
  • Central Database: PostgreSQL integration (local or central DB) with bootstrap credentials from role vars.
  • JVM Auto-Tuning: JVM_MINIMUM_MEMORY / JVM_MAXIMUM_MEMORY computed from host memory with upper bounds.
  • Health Checks: Curl-based container healthcheck for early failure detection.
  • CSP & Canonical Domains: Hooks into platform CSP/SSL/domain management to keep policies strict and URLs stable.
  • Backup Friendly: Data isolated under {{ CONFLUENCE_HOME }}.

Further Resources