Skip to content

Commit

Permalink
feat: add support for copying multiple config
Browse files Browse the repository at this point in the history
Closes #9
Refs #17 (for initial implementation)
  • Loading branch information
josegonzalez committed Sep 12, 2021
1 parent 8708d8a commit f4915e3
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 28 deletions.
2 changes: 1 addition & 1 deletion functions
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ service_create_container() {
CONTAINER_PATH=/var/solr/data
fi

ID=$(docker run --name "$SERVICE_NAME" -v "$SERVICE_HOST_ROOT/data:$CONTAINER_PATH" --env-file="$SERVICE_ROOT/ENV" -d --restart always --label dokku=service --label dokku.service=solr --label com.dokku.solr/major-version=$SOLR_MAJOR_VERSION "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" solr-precreate "$DATABASE_NAME")
ID=$(docker run --name "$SERVICE_NAME" -v "$SERVICE_HOST_ROOT/data:$CONTAINER_PATH" --env-file="$SERVICE_ROOT/ENV" -d --restart always --label dokku=service --label dokku.service=solr "$PLUGIN_IMAGE:$PLUGIN_IMAGE_VERSION" solr-precreate "$DATABASE_NAME")
echo "$ID" >"$SERVICE_ROOT/ID"
set +x

Expand Down
37 changes: 10 additions & 27 deletions post-extract
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,20 @@ solr-post-extract() {
return
fi

if [[ -f "${TMPDIR}/solr/schema.xml" ]]; then
if [[ -d "${TMPDIR}/solr" ]]; then
for SERVICE in $LINKED_SERVICES; do
MAJOR_VERSION="$(docker inspect --format '{{ index .Config.Labels "com.dokku.solr/major-version"}}' "dokku.solr.$SERVICE" 2>/dev/null || true)"
local CONTAINER_PATH="/opt/solr/server/solr/mycores"
if [[ -N "$SOLR_MAJOR_VERSION" ]] && [[ "$SOLR_MAJOR_VERSION" -ge 8 ]]; then
CONTAINER_PATH=/var/solr/data
fi

dokku_log_info1_quiet "Copying solr/schema.xml to service $CONTAINER_PATH/conf/schema.xml"
SERVICE_ROOT="${PLUGIN_DATA_ROOT}/${SERVICE}"
SERVICE_CONTAINER_ID="$(cat "$SERVICE_ROOT/ID")"
docker cp "${TMPDIR}/solr/schema.xml" "${SERVICE_CONTAINER_ID}:$CONTAINER_PATH/${SERVICE}/conf/schema.xml"
sudo /bin/chown 8983 "${SERVICE_ROOT}/data/${SERVICE}/conf/schema.xml"
sudo /bin/chgrp 8983 "${SERVICE_ROOT}/data/${SERVICE}/conf/schema.xml"
done
fi
SERVICE_ROOT="${PLUGIN_DATA_ROOT}/${SERVICE}"

if [[ -f "${TMPDIR}/solr/solrconfig.xml" ]]; then
for SERVICE in $LINKED_SERVICES; do
MAJOR_VERSION="$(docker inspect --format '{{ index .Config.Labels "com.dokku.solr/major-version"}}' "dokku.solr.$SERVICE" 2>/dev/null || true)"
local CONTAINER_PATH="/opt/solr/server/solr/mycores"
if [[ -N "$SOLR_MAJOR_VERSION" ]] && [[ "$SOLR_MAJOR_VERSION" -ge 8 ]]; then
CONTAINER_PATH=/var/solr/data
fi
for f in ${TMPDIR}/solr/*; do
dokku_log_info1_quiet "Copying $f to $SERVICE solr service"
docker cp "$f" "${SERVICE_CONTAINER_ID}:$SERVICE_ROOT/data/${SERVICE}/conf/"
done

dokku_log_info1_quiet "Copying solr/solrconfig.xml to service $CONTAINER_PATH/conf/solrconfig.xml"
SERVICE_ROOT="${PLUGIN_DATA_ROOT}/${SERVICE}"
SERVICE_CONTAINER_ID="$(cat "$SERVICE_ROOT/ID")"
docker cp "${TMPDIR}/solr/solrconfig.xml" "${SERVICE_CONTAINER_ID}:$CONTAINER_PATH/${SERVICE}/conf/solrconfig.xml"
sudo /bin/chown 8983 "${SERVICE_ROOT}/data/${SERVICE}/conf/solrconfig.xml"
sudo /bin/chgrp 8983 "${SERVICE_ROOT}/data/${SERVICE}/conf/solrconfig.xml"
pushd "${SERVICE_ROOT}/data/${SERVICE}/conf/" >/dev/null
sudo /bin/chown 8983 *
sudo /bin/chgrp 8983 *
popd &>/dev/null || pushd "/tmp" >/dev/null
done
fi
}
Expand Down

0 comments on commit f4915e3

Please sign in to comment.