aboutsummaryrefslogtreecommitdiffstats
path: root/compose/start-compose.sh
diff options
context:
space:
mode:
Diffstat (limited to 'compose/start-compose.sh')
-rwxr-xr-xcompose/start-compose.sh95
1 files changed, 95 insertions, 0 deletions
diff --git a/compose/start-compose.sh b/compose/start-compose.sh
new file mode 100755
index 00000000..57b55316
--- /dev/null
+++ b/compose/start-compose.sh
@@ -0,0 +1,95 @@
+#!/bin/bash
+#
+# ============LICENSE_START====================================================
+# Copyright (C) 2022-2023 Nordix Foundation.
+# =============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END======================================================
+
+#Usage: $0 [policy-component] [OPTIONS]"
+#" OPTIONS:"
+#" --grafana start the docker compose with grafana"
+#" --gui start the docker compose with gui"
+#" no policy-component will start all components"
+
+if [ -z "${WORKSPACE}" ]; then
+ WORKSPACE=$(git rev-parse --show-toplevel)
+ export WORKSPACE
+fi
+COMPOSE_FOLDER="${WORKSPACE}"/compose
+
+# Set default values for the options
+grafana=false
+gui=false
+
+# Parse the command-line arguments
+while [[ $# -gt 0 ]]
+do
+ key="$1"
+
+ case $key in
+ --grafana)
+ grafana=true
+ shift
+ ;;
+ --gui)
+ gui=true
+ shift 2
+ break;
+ ;;
+ *)
+ echo "$1"
+ component="$1"
+ shift
+ ;;
+ esac
+done
+
+echo "Configuring docker compose..."
+source "${COMPOSE_FOLDER}"/export-ports.sh > /dev/null 2>&1
+source "${COMPOSE_FOLDER}"/get-versions.sh > /dev/null 2>&1
+
+# in case of csit running for PAP (groups should be for pap) but starts apex-pdp for dependencies.
+if [ -z "$PROJECT" ]; then
+ PROJECT=$component
+fi
+
+if [ -n "$component" ]; then
+ if [ "$grafana" = true ]; then
+ echo "Starting ${component} application with Grafana"
+ docker-compose -f "${COMPOSE_FOLDER}"/docker-compose.yml up -d "${component}" grafana
+ echo "Prometheus server: http://localhost:${PROMETHEUS_PORT}"
+ echo "Grafana server: http://localhost:${GRAFANA_PORT}"
+ elif [ "$gui" = true ]; then
+ echo "Starting application with gui..."
+ docker-compose -f "${COMPOSE_FOLDER}"/docker-compose.yml \
+ -f "${COMPOSE_FOLDER}"/docker-compose.gui.yml up -d "${component}" policy-gui
+ echo "Clamp GUI: https://localhost:2445/clamp"
+ else
+ echo "Starting ${component} application"
+ docker-compose -f "${COMPOSE_FOLDER}"/docker-compose.yml up -d "${component}"
+ fi
+else
+ PROJECT=pap
+ if [ "$gui" = true ]; then
+ echo "Starting application with gui..."
+ docker-compose -f "${COMPOSE_FOLDER}"/docker-compose.yml \
+ -f "${COMPOSE_FOLDER}"/docker-compose.gui.yml up -d
+ echo "Clamp GUI: https://localhost:2445/clamp"
+ else
+ echo "Starting all components..."
+ docker-compose -f "${COMPOSE_FOLDER}"/docker-compose.yml up -d
+ fi
+fi