Skip to content

Commit 3b4642a

Browse files
kiwmbrianchandotcom
authored andcommitted
DOCKER-285 Set the environment variables to be passed at runtime
1 parent 5257658 commit 3b4642a

4 files changed

Lines changed: 60 additions & 52 deletions

File tree

build_all_images.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ function build_bundle_image {
9494
echo "Building Docker image ${image_name} based on ${bundle_url}."
9595
echo ""
9696

97-
LIFERAY_DOCKER_ELASTICSEARCH_NETWORK_ADDRESSES="${LIFERAY_DOCKER_ELASTICSEARCH_NETWORK_ADDRESSES}" LIFERAY_DOCKER_FIX_PACK_URL=${fix_pack_url} LIFERAY_DOCKER_IMAGE_PLATFORMS="${LIFERAY_DOCKER_IMAGE_PLATFORMS}" LIFERAY_DOCKER_LATEST=${latest} LIFERAY_DOCKER_OPENSEARCH_NETWORK_ADDRESSES="${LIFERAY_DOCKER_OPENSEARCH_NETWORK_ADDRESSES}" LIFERAY_DOCKER_RELEASE_FILE_URL=${bundle_url} LIFERAY_DOCKER_RELEASE_VERSION=${version} LIFERAY_DOCKER_REPOSITORY="${LIFERAY_DOCKER_REPOSITORY}" LIFERAY_DOCKER_SLIM="${slim}" LIFERAY_DOCKER_TEST_HOTFIX_URL=${test_hotfix_url} LIFERAY_DOCKER_TEST_INSTALLED_PATCHES=${test_installed_patch} time ./build_bundle_image.sh "${BUILD_ALL_IMAGES_PUSH}" 2>&1 | tee "${LIFERAY_DOCKER_LOGS_DIR}/${build_id}.log"
97+
LIFERAY_DOCKER_FIX_PACK_URL=${fix_pack_url} LIFERAY_DOCKER_IMAGE_PLATFORMS="${LIFERAY_DOCKER_IMAGE_PLATFORMS}" LIFERAY_DOCKER_LATEST=${latest} LIFERAY_DOCKER_RELEASE_FILE_URL=${bundle_url} LIFERAY_DOCKER_RELEASE_VERSION=${version} LIFERAY_DOCKER_REPOSITORY="${LIFERAY_DOCKER_REPOSITORY}" LIFERAY_DOCKER_SLIM="${slim}" LIFERAY_DOCKER_TEST_HOTFIX_URL=${test_hotfix_url} LIFERAY_DOCKER_TEST_INSTALLED_PATCHES=${test_installed_patch} time ./build_bundle_image.sh "${BUILD_ALL_IMAGES_PUSH}" 2>&1 | tee "${LIFERAY_DOCKER_LOGS_DIR}/${build_id}.log"
9898

9999
local build_bundle_image_exit_code=${PIPESTATUS[0]}
100100

build_bundle_image.sh

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ function build_docker_image {
116116
--build-arg LABEL_LIFERAY_VCS_REF="${LIFERAY_VCS_REF}" \
117117
--build-arg LABEL_NAME="${DOCKER_LABEL_NAME}" \
118118
--build-arg LABEL_RELEASE_VERSION="${LIFERAY_DOCKER_RELEASE_VERSION}" \
119+
--build-arg LABEL_SLIM="${LIFERAY_DOCKER_SLIM}" \
119120
--build-arg LABEL_VCS_REF=$(git rev-parse HEAD) \
120121
--build-arg LABEL_VCS_URL="https://github.com/liferay/liferay-docker" \
121122
--build-arg LABEL_VERSION="${LABEL_VERSION}" \
@@ -140,23 +141,6 @@ function check_release {
140141
}
141142

142143
function check_usage {
143-
if [[ -n "${LIFERAY_DOCKER_ELASTICSEARCH_NETWORK_ADDRESSES}" ]] &&
144-
! ( echo "${LIFERAY_DOCKER_ELASTICSEARCH_NETWORK_ADDRESSES}" | grep --quiet --perl-regexp "\[?(\"?(http|https):\/\/[.\w-]+:[\d]+\"?)+(,\s*\"(http|https):\/\/[.\w-]+:[\d]+\")*\]?" )
145-
then
146-
print_help
147-
fi
148-
149-
if [[ -n "${LIFERAY_DOCKER_OPENSEARCH_NETWORK_ADDRESSES}" ]] &&
150-
! ( echo "${LIFERAY_DOCKER_OPENSEARCH_NETWORK_ADDRESSES}" | grep --quiet --perl-regexp "\[?(\"?(http|https):\/\/[.\w-]+:[\d]+\"?)+(,\s*\"(http|https):\/\/[.\w-]+:[\d]+\")*\]?" )
151-
then
152-
print_help
153-
fi
154-
155-
if [ ! -n "${LIFERAY_DOCKER_OPENSEARCH_PASSWORD}" ]
156-
then
157-
print_help
158-
fi
159-
160144
if [ ! -n "${LIFERAY_DOCKER_RELEASE_FILE_URL}" ]
161145
then
162146
print_help
@@ -257,7 +241,6 @@ function prepare_slim_image {
257241
rm -fr "${TEMP_DIR}/liferay/elasticsearch-sidecar"
258242

259243
(
260-
echo "networkHostAddresses=\"${LIFERAY_DOCKER_ELASTICSEARCH_NETWORK_ADDRESSES}\""
261244
echo "productionModeEnabled=B\"true\""
262245
) > "${TEMP_DIR}/liferay/osgi/configs/com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config"
263246

@@ -285,8 +268,6 @@ function prepare_slim_image {
285268
(
286269
echo "active=B\"true\""
287270
echo "connectionId=\"REMOTE\""
288-
echo "password=\"${LIFERAY_DOCKER_OPENSEARCH_PASSWORD}\""
289-
echo "networkHostAddresses=\"${LIFERAY_DOCKER_OPENSEARCH_NETWORK_ADDRESSES}\""
290271
) > "${TEMP_DIR}/liferay/osgi/configs/com.liferay.portal.search.opensearch2.configuration.OpenSearchConnectionConfiguration-REMOTE.config"
291272

292273
(
@@ -363,15 +344,12 @@ function print_help {
363344
echo "The script reads the following environment variables:"
364345
echo ""
365346
echo " LIFERAY_DOCKER_DEVELOPER_MODE (optional): If set to \"true\", all local images will be deleted before building a new one"
366-
echo " LIFERAY_DOCKER_ELASTICSEARCH_NETWORK_ADDRESSES (optional): Elasticsearch network addresses"
367347
echo " LIFERAY_DOCKER_FIX_PACK_URL (optional): URL to a fix pack"
368348
echo " LIFERAY_DOCKER_HUB_TOKEN (optional): Docker Hub token to log in automatically"
369349
echo " LIFERAY_DOCKER_HUB_USERNAME (optional): Docker Hub username to log in automatically"
370350
echo " LIFERAY_DOCKER_IMAGE_PLATFORMS (optional): Comma separated Docker image platforms to build when the \"push\" parameter is set"
371351
echo " LIFERAY_DOCKER_LICENSE_API_HEADER (required for DXP): API header used to generate the trial license"
372352
echo " LIFERAY_DOCKER_LICENSE_API_URL (required for DXP): API URL to generate the trial license"
373-
echo " LIFERAY_DOCKER_OPENSEARCH_NETWORK_ADDRESSES (optional): OpenSearch network addresses"
374-
echo " LIFERAY_DOCKER_OPENSEARCH_PASSWORD (optional): OpenSearch password"
375353
echo " LIFERAY_DOCKER_RELEASE_FILE_URL (required): URL to a Liferay bundle"
376354
echo " LIFERAY_DOCKER_REPOSITORY (optional): Docker repository"
377355
echo " LIFERAY_DOCKER_SLIM (optional): If set to \"true\", the image be smaller"
@@ -397,6 +375,7 @@ function push_docker_image {
397375
--build-arg LABEL_LIFERAY_VCS_REF="${LIFERAY_VCS_REF}" \
398376
--build-arg LABEL_NAME="${DOCKER_LABEL_NAME}" \
399377
--build-arg LABEL_RELEASE_VERSION="${LIFERAY_DOCKER_RELEASE_VERSION}" \
378+
--build-arg LABEL_SLIM="${LIFERAY_DOCKER_SLIM}" \
400379
--build-arg LABEL_VCS_REF=$(git rev-parse HEAD) \
401380
--build-arg LABEL_VCS_URL="https://github.com/liferay/liferay-docker" \
402381
--build-arg LABEL_VERSION="${LABEL_VERSION}" \

templates/bundle/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ ARG LABEL_LIFERAY_TOMCAT_VERSION
1515
ARG LABEL_LIFERAY_VCS_REF
1616
ARG LABEL_NAME
1717
ARG LABEL_RELEASE_VERSION
18+
ARG LABEL_SLIM
1819
ARG LABEL_VCS_REF
1920
ARG LABEL_VCS_URL
2021
ARG LABEL_VERSION
@@ -49,6 +50,7 @@ ENV LIFERAY_JVM_OPTS=
4950
ENV LIFERAY_PID="${LIFERAY_HOME}/liferay.pid"
5051
ENV LIFERAY_PRODUCT_NAME="${LABEL_NAME}"
5152
ENV LIFERAY_RELEASE_VERSION="${LABEL_RELEASE_VERSION}"
53+
ENV LIFERAY_SLIM="${LABEL_SLIM}"
5254
ENV LIFERAY_THREAD_DUMPS_DIRECTORY="${LIFERAY_HOME}/data/sre/thread_dumps"
5355

5456
ENV LIFERAY_CONFIGURATION_PERIOD_OVERRIDE_PERIOD_COM_PERIOD_LIFERAY_PERIOD_DOCUMENT_PERIOD_LIBRARY_PERIOD_PREVIEW_PERIOD_AUDIO_PERIOD_INTERNAL_PERIOD_CONFIGURATION_PERIOD__UPPERCASED__UPPERCASEL__UPPERCASEA_UDIO_UPPERCASEF__UPPERCASEF__UPPERCASEM__UPPERCASEP__UPPERCASEE__UPPERCASEG__UPPERCASEA_UDIO_UPPERCASEC_ONVERTER_UPPERCASEC_ONFIGURATION_UNDERLINE_ENABLED='"true"'

templates/bundle/resources/usr/local/bin/configure_liferay.sh

Lines changed: 55 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -74,43 +74,70 @@ function main {
7474
ln -s "${LIFERAY_MOUNT_DIR}"/deploy /opt/liferay/deploy
7575

7676
echo "[LIFERAY] The directory /mnt/liferay/deploy is ready. Copy files to \$(pwd)/xyz123/deploy on the host operating system to deploy modules to ${LIFERAY_PRODUCT_NAME} at runtime."
77+
echo ""
7778
else
7879
echo "[LIFERAY] The directory /mnt/liferay/deploy does not exist. Create the directory \$(pwd)/xyz123/deploy on the host operating system to create the directory ${LIFERAY_MOUNT_DIR}/deploy on the container. Copy files to \$(pwd)/xyz123/deploy to deploy modules to ${LIFERAY_PRODUCT_NAME} at runtime."
80+
echo ""
7981
fi
8082

81-
if [ -z "${LIFERAY_OPENSEARCH_ENABLED}" ]
82-
then
83-
LIFERAY_OPENSEARCH_ENABLED="false"
84-
85-
echo "[LIFERAY] Set the environment variable \"LIFERAY_OPENSEARCH_ENABLED\" to \"true\" to enable OpenSearch 2."
86-
fi
87-
88-
if [ "${LIFERAY_OPENSEARCH_ENABLED}" == "true" ]
83+
if [ "${LIFERAY_SLIM}" == "true" ]
8984
then
90-
rm -f "/opt/liferay/osgi/configs/com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config"
91-
else
92-
rm -f "/opt/liferay/deploy/com.liferay.portal.search.opensearch2.api.jar"
93-
rm -f "/opt/liferay/deploy/com.liferay.portal.search.opensearch2.impl.jar"
94-
rm -f "/opt/liferay/osgi/configs/com.liferay.portal.search.opensearch2.configuration.OpenSearchConfiguration.config"
95-
rm -f "/opt/liferay/osgi/configs/com.liferay.portal.search.opensearch2.configuration.OpenSearchConnectionConfiguration-REMOTE.config"
96-
97-
local blacklist_config_path="/opt/liferay/osgi/configs/com.liferay.portal.bundle.blacklist.internal.configuration.BundleBlacklistConfiguration.config"
85+
if ! ( echo "${LIFERAY_DOCKER_NETWORK_HOST_ADDRESSES}" | grep --quiet --perl-regexp "\[?(\"?(http|https):\/\/[.\w-]+:[\d]+\"?)+(,\s*\"(http|https):\/\/[.\w-]+:[\d]+\")*\]?" )
86+
then
87+
echo "[LIFERAY] Run this container with the option \"--env LIFERAY_DOCKER_NETWORK_HOST_ADDRESSES=[\"http://es-node1:9201\",\"http://es-node2:9202\"]\" to enable the connection to the search engine."
88+
echo ""
89+
fi
9890

99-
sed -i "s/com.liferay.portal.search.elasticsearch.cross.cluster.replication.impl//g" "${blacklist_config_path}"
100-
sed -i "s/com.liferay.portal.search.elasticsearch.monitoring.web//g" "${blacklist_config_path}"
101-
sed -i "s/com.liferay.portal.search.elasticsearch7.api//g" "${blacklist_config_path}"
102-
sed -i "s/com.liferay.portal.search.elasticsearch7.impl//g" "${blacklist_config_path}"
103-
sed -i "s/com.liferay.portal.search.learning.to.rank.api//g" "${blacklist_config_path}"
104-
sed -i "s/com.liferay.portal.search.learning.to.rank.impl//g" "${blacklist_config_path}"
91+
if [ -z "${LIFERAY_OPENSEARCH_ENABLED}" ]
92+
then
93+
LIFERAY_OPENSEARCH_ENABLED="false"
10594

106-
sed -i "s/\"\",\\\\//g" "${blacklist_config_path}"
107-
sed -i "s/\"\"\\\\//g" "${blacklist_config_path}"
95+
echo "[LIFERAY] Run this container with the option \"--env LIFERAY_OPENSEARCH_ENABLED=true\" to enable OpenSearch."
96+
echo ""
97+
fi
10898

109-
if (! grep -q "\"" "${blacklist_config_path}")
99+
if [ "${LIFERAY_OPENSEARCH_ENABLED}" == "true" ]
110100
then
111-
echo "[LIFERAY] Deleting com.liferay.portal.bundle.blacklist.internal.configuration.BundleBlacklistConfiguration.config."
112-
113-
rm -f "${blacklist_config_path}"
101+
if [ -z "${LIFERAY_DOCKER_OPENSEARCH_PASSWORD}" ]
102+
then
103+
echo "[LIFERAY] Run this container with the option \"--env LIFERAY_DOCKER_OPENSEARCH_PASSWORD=yourOpeanSearchPassword\" to enable the OpenSearch connection."
104+
echo ""
105+
fi
106+
107+
(
108+
echo "networkHostAddresses=\"${LIFERAY_DOCKER_NETWORK_HOST_ADDRESSES}\""
109+
echo "password=\"${LIFERAY_DOCKER_OPENSEARCH_PASSWORD}\""
110+
) >> "/opt/liferay/osgi/configs/com.liferay.portal.search.opensearch2.configuration.OpenSearchConnectionConfiguration-REMOTE.config"
111+
112+
rm -f "/opt/liferay/osgi/configs/com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config"
113+
else
114+
(
115+
echo "networkHostAddresses=\"${LIFERAY_DOCKER_NETWORK_HOST_ADDRESSES}\""
116+
) >> "/opt/liferay/osgi/configs/com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config"
117+
118+
rm -f "/opt/liferay/deploy/com.liferay.portal.search.opensearch2.api.jar"
119+
rm -f "/opt/liferay/deploy/com.liferay.portal.search.opensearch2.impl.jar"
120+
rm -f "/opt/liferay/osgi/configs/com.liferay.portal.search.opensearch2.configuration.OpenSearchConfiguration.config"
121+
rm -f "/opt/liferay/osgi/configs/com.liferay.portal.search.opensearch2.configuration.OpenSearchConnectionConfiguration-REMOTE.config"
122+
123+
local blacklist_config_path="/opt/liferay/osgi/configs/com.liferay.portal.bundle.blacklist.internal.configuration.BundleBlacklistConfiguration.config"
124+
125+
sed -i "s/com.liferay.portal.search.elasticsearch.cross.cluster.replication.impl//g" "${blacklist_config_path}"
126+
sed -i "s/com.liferay.portal.search.elasticsearch.monitoring.web//g" "${blacklist_config_path}"
127+
sed -i "s/com.liferay.portal.search.elasticsearch7.api//g" "${blacklist_config_path}"
128+
sed -i "s/com.liferay.portal.search.elasticsearch7.impl//g" "${blacklist_config_path}"
129+
sed -i "s/com.liferay.portal.search.learning.to.rank.api//g" "${blacklist_config_path}"
130+
sed -i "s/com.liferay.portal.search.learning.to.rank.impl//g" "${blacklist_config_path}"
131+
132+
sed -i "s/\"\",\\\\//g" "${blacklist_config_path}"
133+
sed -i "s/\"\"\\\\//g" "${blacklist_config_path}"
134+
135+
if (! grep -q "\"" "${blacklist_config_path}")
136+
then
137+
echo "[LIFERAY] Deleting com.liferay.portal.bundle.blacklist.internal.configuration.BundleBlacklistConfiguration.config."
138+
139+
rm -f "${blacklist_config_path}"
140+
fi
114141
fi
115142
fi
116143

0 commit comments

Comments
 (0)