aboutsummaryrefslogtreecommitdiffstats
path: root/docker-entrypoint.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docker-entrypoint.sh')
-rwxr-xr-xdocker-entrypoint.sh72
1 files changed, 72 insertions, 0 deletions
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
new file mode 100755
index 0000000..75aa5c7
--- /dev/null
+++ b/docker-entrypoint.sh
@@ -0,0 +1,72 @@
+#!/bin/sh
+# ============LICENSE_START==========================================
+# org.onap.vvp/cms
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the “License”);
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END============================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+set -e
+
+# Since:
+# - Kubernetes' volumeMount creates symlinks for configMapped files at the
+# target directory.
+# - Alpine's update-ca-certificates ignores symlinks.
+# So we contrive to copy the contents of the mounted cert symlink into place as
+# a normal file. How would we fix this if we didn't have write access to this
+# container??
+dev_cert=/opt/secrets/site-crt/site.crt
+if [ -e "$dev_cert" ]; then
+ echo >&2 $0: Updating certificates...
+ cp -L "$dev_cert" /usr/local/share/ca-certificates/
+ update-ca-certificates
+fi
+
+# Perform bootstrap operations if needed
+echo >&2 $0: Checking if collectstatic is needed
+if [ "$STATIC_ROOT" ]; then
+ echo >&2 $0: Running collectstatic...
+ mkdir -p "$STATIC_ROOT"
+ python /srv/manage.py collectstatic --no-input
+fi
+echo >&2 $0: Running manage.py check...
+python /srv/manage.py check
+echo >&2 $0: Running manage.py createdb/migrate...
+python /srv/manage.py createdb --noinput || python /srv/manage.py migrate --no-input
+python /srv/manage.py import_categories
+python /srv/manage.py import_pages
+
+# Execute arguments
+echo >&2 $0: Continuing with "$@"...
+exec "$@"