mirror of
https://bitbucket.org/atlassian-docker/docker-atlassian-confluence-server.git
synced 2024-08-30 18:22:16 +00:00
DCD-545: Add seraph-config.xml configuration.
This commit is contained in:
parent
e079baa776
commit
3a29822bb9
@ -41,7 +41,7 @@ If you need to override Confluence Server's default memory allocation, you can c
|
|||||||
|
|
||||||
The maximum heap size of the JVM
|
The maximum heap size of the JVM
|
||||||
|
|
||||||
## Reverse Proxy Settings
|
## Tomcat and Reverse Proxy Settings
|
||||||
|
|
||||||
If Confluence is run behind a reverse proxy server (e.g. a load-balancer or
|
If Confluence is run behind a reverse proxy server (e.g. a load-balancer or
|
||||||
nginx server), then you need to specify extra options to make Confluence aware
|
nginx server), then you need to specify extra options to make Confluence aware
|
||||||
@ -90,6 +90,12 @@ see https://tomcat.apache.org/tomcat-7.0-doc/config/index.html.
|
|||||||
* `ATL_TOMCAT_PROTOCOL` (default: HTTP/1.1)
|
* `ATL_TOMCAT_PROTOCOL` (default: HTTP/1.1)
|
||||||
* `ATL_TOMCAT_ACCEPTCOUNT` (default: 10)
|
* `ATL_TOMCAT_ACCEPTCOUNT` (default: 10)
|
||||||
|
|
||||||
|
## Confluence-specific settings
|
||||||
|
|
||||||
|
* `ATL_AUTOLOGIN_COOKIE_AGE` (default: 1209600; two weeks, in seconds)
|
||||||
|
|
||||||
|
The maximum time a user can remain logged-in with 'Remember Me'.
|
||||||
|
|
||||||
## JVM configuration
|
## JVM configuration
|
||||||
|
|
||||||
If you need to pass additional JVM arguments to Confluence such as specifying a custom trust store, you can add them via the below environment variable
|
If you need to pass additional JVM arguments to Confluence such as specifying a custom trust store, you can add them via the below environment variable
|
||||||
|
@ -42,6 +42,16 @@ log "Generating ${CONFLUENCE_INSTALL_DIR}/conf/server.xml"
|
|||||||
/opt/atlassian/etc/server.xml.j2 \
|
/opt/atlassian/etc/server.xml.j2 \
|
||||||
> ${CONFLUENCE_INSTALL_DIR}/conf/server.xml
|
> ${CONFLUENCE_INSTALL_DIR}/conf/server.xml
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# Configure login properties
|
||||||
|
|
||||||
|
# The default is two weeks, in seconds, same as the seraph default.
|
||||||
|
export atl_autologin_cookie_age=${ATL_AUTOLOGIN_COOKIE_AGE:=1209600}
|
||||||
|
|
||||||
|
log "Generating ${CONFLUENCE_INSTALL_DIR}/confluence/WEB-INF/classes/seraph-config.xml"
|
||||||
|
/opt/atlassian/bin/templater.sh \
|
||||||
|
/opt/atlassian/etc/seraph-config.xml.j2 \
|
||||||
|
> ${CONFLUENCE_INSTALL_DIR}/confluence/WEB-INF/classes/seraph-config.xml
|
||||||
|
|
||||||
|
|
||||||
# Start Confluence as the correct user
|
# Start Confluence as the correct user
|
||||||
|
@ -18,3 +18,4 @@ wcwidth==0.1.7
|
|||||||
websocket-client==0.56.0
|
websocket-client==0.56.0
|
||||||
zipp==0.5.2
|
zipp==0.5.2
|
||||||
testinfra==3.0.6
|
testinfra==3.0.6
|
||||||
|
lxml==4.4.0
|
||||||
|
@ -4,7 +4,7 @@ import io
|
|||||||
import tarfile
|
import tarfile
|
||||||
import testinfra
|
import testinfra
|
||||||
import time
|
import time
|
||||||
import xml.etree.ElementTree as etree
|
from lxml import etree
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
@ -15,19 +15,6 @@ def run_image(docker_cli, image, environment={}, ports={}):
|
|||||||
container = docker_cli.containers.run(image, environment=environment, ports=ports, detach=True)
|
container = docker_cli.containers.run(image, environment=environment, ports=ports, detach=True)
|
||||||
return testinfra.get_host("docker://"+container.id)
|
return testinfra.get_host("docker://"+container.id)
|
||||||
|
|
||||||
# Helper function to get a file-like object from an image
|
|
||||||
def get_fileobj_from_container(container, filepath):
|
|
||||||
time.sleep(0.5) # Give container a moment if just started
|
|
||||||
stream, stat = container.get_archive(filepath)
|
|
||||||
f = io.BytesIO()
|
|
||||||
for chunk in stream:
|
|
||||||
f.write(chunk)
|
|
||||||
f.seek(0)
|
|
||||||
with tarfile.open(fileobj=f, mode='r') as tar:
|
|
||||||
filename = tar.getmembers()[0].name
|
|
||||||
file = tar.extractfile(filename)
|
|
||||||
return file
|
|
||||||
|
|
||||||
# TestInfra's process command doesn't seem to work for arg matching
|
# TestInfra's process command doesn't seem to work for arg matching
|
||||||
def get_procs(container):
|
def get_procs(container):
|
||||||
ps = container.run('ps -axo args')
|
ps = container.run('ps -axo args')
|
||||||
@ -150,6 +137,24 @@ def test_server_xml_params(docker_cli, image):
|
|||||||
|
|
||||||
assert context.get('path') == environment.get('ATL_TOMCAT_CONTEXTPATH')
|
assert context.get('path') == environment.get('ATL_TOMCAT_CONTEXTPATH')
|
||||||
|
|
||||||
|
|
||||||
|
def test_seraph_defaults(docker_cli, image):
|
||||||
|
container = run_image(docker_cli, image)
|
||||||
|
_jvm = wait_for_proc(container, "org.apache.catalina.startup.Bootstrap")
|
||||||
|
|
||||||
|
xml = etree.fromstring(container.file('/opt/atlassian/confluence/confluence/WEB-INF/classes/seraph-config.xml').content)
|
||||||
|
param = xml.xpath('//param-name[text()="autologin.cookie.age"]')[0].getnext()
|
||||||
|
assert param.text == "1209600"
|
||||||
|
|
||||||
|
|
||||||
|
def test_seraph_login_set(docker_cli, image):
|
||||||
|
container = run_image(docker_cli, image, environment={"ATL_AUTOLOGIN_COOKIE_AGE": "TEST_VAL"})
|
||||||
|
_jvm = wait_for_proc(container, "org.apache.catalina.startup.Bootstrap")
|
||||||
|
|
||||||
|
xml = etree.fromstring(container.file('/opt/atlassian/confluence/confluence/WEB-INF/classes/seraph-config.xml').content)
|
||||||
|
param = xml.xpath('//param-name[text()="autologin.cookie.age"]')[0].getnext()
|
||||||
|
assert param.text == "TEST_VAL"
|
||||||
|
|
||||||
#
|
#
|
||||||
# def test_confluence_cfg_xml_defaults(docker_cli, image):
|
# def test_confluence_cfg_xml_defaults(docker_cli, image):
|
||||||
# environment = {
|
# environment = {
|
||||||
|
Loading…
Reference in New Issue
Block a user