Merged master into issue/SCALE-33

This commit is contained in:
Kenny MacLeod 2020-09-06 19:39:49 +00:00
commit 78af588f71
7 changed files with 39 additions and 7 deletions

View File

@ -20,7 +20,7 @@ CMD ["/entrypoint.py"]
ENTRYPOINT ["/sbin/tini", "--"]
RUN apt-get update && apt-get upgrade -y \
&& apt-get install -y --no-install-recommends fontconfig python3 python3-jinja2 \
&& apt-get install -y --no-install-recommends fontconfig fonts-noto python3 python3-jinja2 \
&& apt-get clean autoclean && apt-get autoremove -y && rm -rf /var/lib/apt/lists/*
ARG TINI_VERSION=v0.18.0
@ -45,7 +45,10 @@ RUN groupadd --gid ${RUN_GID} ${RUN_GROUP} \
\
&& sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} -Dconfluence.home=\${CONFLUENCE_HOME}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/-XX:ReservedCodeCacheSize=\([0-9]\+[kmg]\)/-XX:ReservedCodeCacheSize=${JVM_RESERVED_CODE_CACHE_SIZE:=\1}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/export CATALINA_OPTS/CATALINA_OPTS="\${CATALINA_OPTS} \${JVM_SUPPORT_RECOMMENDED_ARGS}"\n\nexport CATALINA_OPTS/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh
&& sed -i -e 's/export CATALINA_OPTS/CATALINA_OPTS="\${CATALINA_OPTS} \${JVM_SUPPORT_RECOMMENDED_ARGS}"\n\nexport CATALINA_OPTS/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
\
&& mkdir -p /opt/java/openjdk/lib/fonts/fallback/ \
&& ln -sf /usr/share/fonts/truetype/noto/* /opt/java/openjdk/lib/fonts/fallback/
VOLUME ["${CONFLUENCE_HOME}"] # Must be declared after setting perms

View File

@ -19,7 +19,9 @@ EXPOSE 8091
CMD ["/entrypoint.py"]
ENTRYPOINT ["/sbin/tini", "--"]
RUN apk add --no-cache ca-certificates wget curl openssh bash procps openssl perl ttf-dejavu tini python3 py3-jinja2
RUN apk update \
&& apk add --no-cache ca-certificates wget curl openssh bash procps openssl perl tini python3 py3-jinja2 ttf-dejavu `apk search -qe 'font-noto*'` \
&& rm -f /var/cache/apk/APKINDEX*
# Workaround for AdoptOpenJDK Alpine fontconfig bug
RUN ln -s /usr/lib/libfontconfig.so.1 /usr/lib/libfontconfig.so \
@ -44,7 +46,10 @@ RUN addgroup -g ${RUN_GID} ${RUN_GROUP} \
\
&& sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} -Dconfluence.home=\${CONFLUENCE_HOME}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/-XX:ReservedCodeCacheSize=\([0-9]\+[kmg]\)/-XX:ReservedCodeCacheSize=${JVM_RESERVED_CODE_CACHE_SIZE:=\1}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/export CATALINA_OPTS/CATALINA_OPTS="\${CATALINA_OPTS} \${JVM_SUPPORT_RECOMMENDED_ARGS}"\n\nexport CATALINA_OPTS/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh
&& sed -i -e 's/export CATALINA_OPTS/CATALINA_OPTS="\${CATALINA_OPTS} \${JVM_SUPPORT_RECOMMENDED_ARGS}"\n\nexport CATALINA_OPTS/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
\
&& mkdir -p /opt/java/openjdk/lib/fonts/fallback/ \
&& ln -sf /usr/share/fonts/noto/* /opt/java/openjdk/lib/fonts/fallback/
VOLUME ["${CONFLUENCE_HOME}"] # Must be declared after setting perms

View File

@ -156,6 +156,11 @@ Example:
should be writable by the user `confluence`. See note below about UID
mappings.
* `ATL_LUCENE_INDEX_DIR`
The directory where [Lucene](https://lucene.apache.org/) search indexes should
be stored. Defaults to `index` under the Confluence home directory.
## Database configuration
It is optionally possible to configure the database from the environment,

View File

@ -11,6 +11,8 @@
<property name="webwork.multipart.saveDir">${localHome}/temp</property>
<property name="attachments.dir">${confluenceHome}/attachments</property>
<property name="lucene.index.dir">{{ atl_lucene_index_dir | default('${confluenceHome}/index') }}</property>
{% if atl_jdbc_url is defined %}
{% set databases = {
"mysql": ["com.mysql.jdbc.Driver", "MySQLDialect"],

View File

@ -1,4 +1,4 @@
#!/usr/bin/python3
#!/usr/bin/python3 -B
from entrypoint_helpers import env, gen_cfg, str2bool, start_app

@ -1 +1 @@
Subproject commit bbfb0cfaed3967383a2b15e30dd05a65842c8d3f
Subproject commit e7d26879d37c695adf2e7228dd414e060706f6bf

View File

@ -40,7 +40,7 @@ def test_first_run_state(docker_cli, image, run_user):
container = run_image(docker_cli, image, user=run_user, ports={PORT: PORT})
wait_for_http_response(URL, expected_status=200, expected_state=('STARTING', 'FIRST_RUN'))
wait_for_http_response(URL, expected_status=200, expected_state=('STARTING', 'FIRST_RUN'), max_wait=120)
def test_server_xml_defaults(docker_cli, image):
@ -172,6 +172,15 @@ def test_confluence_xml_default(docker_cli, image):
assert xml.findall('.//buildNumber')[0].text == "0"
assert xml.findall('.//property[@name="hibernate.connection.url"]') == []
assert xml.findall('.//property[@name="confluence.cluster.home"]') == []
assert xml.findall('.//property[@name="lucene.index.dir"]')[0].text == '${confluenceHome}/index'
def test_confluence_lucene_index(docker_cli, image):
container = run_image(docker_cli, image, environment={'ATL_LUCENE_INDEX_DIR': '/some/other/dir'})
_jvm = wait_for_proc(container, get_bootstrap_proc(container))
xml = parse_xml(container, f'{get_app_home(container)}/confluence.cfg.xml')
assert xml.findall('.//property[@name="lucene.index.dir"]')[0].text == '/some/other/dir'
def test_confluence_xml_postgres(docker_cli, image, run_user):
@ -333,3 +342,11 @@ def test_jvm_support_recommended_args_order(docker_cli, image):
procs_list = get_procs(container)
jvm = [proc for proc in procs_list if get_bootstrap_proc(container) in proc][0]
assert jvm.index(ENABLE_PRINTGCDETAILS) > jvm.index(DISABLE_PRINTGCDETAILS)
def test_jvm_fallback_fonts(docker_cli, image):
container = run_image(docker_cli, image)
_jvm = wait_for_proc(container, get_bootstrap_proc(container))
font = container.file("/opt/java/openjdk/lib/fonts/fallback/NotoSansGujarati-Regular.ttf")
assert font.exists
assert font.is_symlink