diff --git a/.img/k1.png b/.img/k1.png
new file mode 100644
index 0000000..ce3c392
Binary files /dev/null and b/.img/k1.png differ
diff --git a/.img/k13.jpg b/.img/k13.jpg
new file mode 100644
index 0000000..ba85e5d
Binary files /dev/null and b/.img/k13.jpg differ
diff --git a/.img/k14.png b/.img/k14.png
new file mode 100644
index 0000000..322e1bf
Binary files /dev/null and b/.img/k14.png differ
diff --git a/.img/k16.png b/.img/k16.png
new file mode 100644
index 0000000..9e99187
Binary files /dev/null and b/.img/k16.png differ
diff --git a/.img/k17.jpg b/.img/k17.jpg
new file mode 100644
index 0000000..cb7da4e
Binary files /dev/null and b/.img/k17.jpg differ
diff --git a/.img/k18.png b/.img/k18.png
new file mode 100644
index 0000000..b75a346
Binary files /dev/null and b/.img/k18.png differ
diff --git a/.img/k2.png b/.img/k2.png
new file mode 100644
index 0000000..ef41fa8
Binary files /dev/null and b/.img/k2.png differ
diff --git a/.img/k3.png b/.img/k3.png
new file mode 100644
index 0000000..b8a14ce
Binary files /dev/null and b/.img/k3.png differ
diff --git a/.img/k4.png b/.img/k4.png
new file mode 100644
index 0000000..6339774
Binary files /dev/null and b/.img/k4.png differ
diff --git a/.img/k5.png b/.img/k5.png
new file mode 100644
index 0000000..8a28899
Binary files /dev/null and b/.img/k5.png differ
diff --git a/.img/k6.png b/.img/k6.png
new file mode 100644
index 0000000..d3b51c4
Binary files /dev/null and b/.img/k6.png differ
diff --git a/.img/k7.png b/.img/k7.png
new file mode 100644
index 0000000..8e8c2e9
Binary files /dev/null and b/.img/k7.png differ
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9dd698b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,53 @@
+# IBM Watsonx Discovery - Kibana Installation Toolkit
+
+
+## Purpose
+This tool provides algorithms and configuration files for the installation & deployment of [IBM Watsonx Discovery](https://cloud.ibm.com/databases/databases-for-elasticsearch/create) local Kibana on your machine and on the Redhat OpenShift Container Platform. It also supports Kibana deployment on custom OpenShift flavor. IBM Watsonx Discovery is an Index Engine for Watsonx solutions. Click here -> [Kibana Local Setup](/local) for local install & Click here -> [Kibana OpenShift Deployment](/openshift) for OpenShift deployment.
+
+## Kibana Configuration
+
+The table 1.0.0 below provides the configuration variables required for the deployment of Kibana locallt and on OpenShift. Each variable has specific requirements as outlined below. So, before you start, head back to Watsonx Discovery UI to get all the required information in Table 1.0.0.
+
+Table 1.0.0: OpenShift Configmap and .Env Requirements
+| Variable Name | Requirements |
+|-----------------------------------|--------------------------------------------------------------------------------------|
+| ELASTICSEARCH_ENDPOINT | |
+| ELASTICSEARCH_USERNAME | |
+| ELASTICSEARCH_PASSWORD | |
+| ELASTICSEARCH_HOST | |
+| ELASTICSEARCH_PORT | |
+| ELASTICSEARCH_TLS_NAME | |
+| ELASTICSEARCH_VERSION | |
+| ELASTICSEARCH_SSL_VERIFICATIONMODE| |
+
+## Options
+
+### 1. [Kibana Local Setup](/local)
+ -- If you choose Option-1: This will check for full valid elasticsearch certificate.
+ -- If you choose Option-2: This will not check for elasticsearch certicate.
+
+
+
+
+
+
+
+
+### 2. [Kibana OpenShift Deployment](/openshift)
+```sh
+Get your Kibana OpenShift URL from your project named "elk":
+oc login --token=xxxxxxxx --server=xxxxxxxxxxxxxxx
+echo "https://$(oc get route kibana -n elk --template='{{ .spec.host }}')"
+```
+```sh
+Your Result:
+https://kibana-yourproject.apps.yourdomain.yourtld
+```
+
+
+
+
+Author:
+Jeffrey Chijioke-Uche, Ph.D
+IBM Hybridcloud,Multicloud, & AI
+
diff --git a/local/.env.deactivated b/local/.env.deactivated
new file mode 100644
index 0000000..c27af19
--- /dev/null
+++ b/local/.env.deactivated
@@ -0,0 +1,19 @@
+#######################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+#######################################################
+# .env
+export ELASTICSEARCH_USERNAME=""
+export ELASTICSEARCH_PASSWORD=""
+export ELASTICSEARCH_HOST=""
+export ELASTICSEARCH_PORT=""
+export KIBANA_PORT="5601"
+export ELASTICSEARCH_VERSION="" # format: 0.0.0
+export ELASTICSEARCH_TLS_NAME=""
+export ELASTICSEARCH_SSL_VERIFICATIONMODE="full"
+export ELASTICSEARCH_ENDPOINT=":@"
\ No newline at end of file
diff --git a/local/.gitignore b/local/.gitignore
new file mode 100644
index 0000000..1819343
--- /dev/null
+++ b/local/.gitignore
@@ -0,0 +1,7 @@
+#############
+elasticconfig
+secret-v2.yml
+secret*
+.env
+cacert.crt
+kibana.yml
\ No newline at end of file
diff --git a/local/.img/k14.png b/local/.img/k14.png
new file mode 100644
index 0000000..322e1bf
Binary files /dev/null and b/local/.img/k14.png differ
diff --git a/local/.img/k18.png b/local/.img/k18.png
new file mode 100644
index 0000000..b75a346
Binary files /dev/null and b/local/.img/k18.png differ
diff --git a/local/LICENSE b/local/LICENSE
new file mode 100644
index 0000000..f2f301e
--- /dev/null
+++ b/local/LICENSE
@@ -0,0 +1,24 @@
+ MIT License
+ License ID: 3.0
+
+ Copyright (c) 2024 International Business Machines
+
+ Author: Dr. Jeffrey Chijioke-Uche, Ph.D (IBM)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/local/README.md b/local/README.md
new file mode 100644
index 0000000..1501a4e
--- /dev/null
+++ b/local/README.md
@@ -0,0 +1,53 @@
+# IBM Watsonx Discovery - Local Kibana Installation
+### Watsonx Discovery Kibana Local Installation
+
+
+## Prerequisites
+- Ensure that you have docker runtime installed.
+- Ensure `envsubst` command is available (Ubuntu/Linux[`sudo apt-get update && apt-get install gettext-base`] OR MacOS[`brew install gettext && brew link --force gettext`])
+- Ensure you have OpenSSL 3.x installed.
+- Ensure you have cURL installed.
+- Ensure you have access to running Watsonx Discovery[Db for Elasticsearch]. (Any Edition: Standard, Enterprise, Platinum)
+- Ensure that your local machine is docker image ready.
+
+
+## STEP 1: Clone the Toolkit
+```sh
+git clone https://github.ibm.com/JEFFREY-CHIJIOKE-UCHE/watsonx-discovery-kibana-installation-tool.git
+cd watsonx-discovery-kibana-installation-tool
+cd local
+```
+
+
+## STEP 2: Activate Two Essential Toolkits
+```sh
+mv .env.deactivated .env
+mv cacert.crt.deactivated cacert.crt
+```
+
+
+## STEP 3: Add Your Elasticsearch Required Variable Values to local store
+```sh
+Open .env (which has empty values) and then fill in the values as required.
+Save .env file.
+```
+
+
+## STEP 4: Paste Elasticsearch TLS/SSL Certificate
+```sh
+Go to Watsonx Discovery(Elasticsearch) UI then copy the TLS Certificate.
+Open cacert.crt (which is empty) and then paste the TLS Certificate you copied.
+Save cacert.crt
+```
+
+
+## STEP 5: Run!
+```sh
+bash start-run.sh
+```
+
+--------------------------------------
+## STOP LOCAL KIBANA
+```sh
+bash stop-run.sh
+```
\ No newline at end of file
diff --git a/local/cacert.crt.deactivated b/local/cacert.crt.deactivated
new file mode 100644
index 0000000..e69de29
diff --git a/local/generate_kibana-yml_config.sh b/local/generate_kibana-yml_config.sh
new file mode 100644
index 0000000..2656889
--- /dev/null
+++ b/local/generate_kibana-yml_config.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#######################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Start Engine
+#######################################################
+
+# Load the environment variables from the .env file
+if [ -f .env ]; then
+ echo ".env found, loading environment variables..."
+ source .env
+else
+ echo ".env file not found! - Did you actually create one?"
+ exit 1
+fi
+
+# Kibana Configurations:
+if [ "$ARCH" = "linux-amd64-arm64" ]; then
+ # Generate the kibana.yml file from the template
+ echo "Generating kibana.yml from kibana.yml.template..."
+ envsubst < kibana.yml.template > kibana.yml
+ echo "kibana.yml has been generated and overwritten with the provided environment variables."
+elif [ "$ARCH" = "mac-amd64-arm64" ]; then
+ # Generate the kibana.yml file from the template
+ echo "Generating kibana.yml from kibana.yml.template..."
+ envsubst < kibana.yml.template > kibana.yml
+ echo "kibana.yml has been generated and overwritten with the provided environment variables."
+elif [ "$ARCH" = "windows-x86-x64" ]; then
+ # Generate the kibana.yml file from the template
+ echo "Generating kibana.yml from kibana.yml.template..."
+ envsubst < kibana.yml.template > kibana.yml
+ echo "kibana.yml has been generated and overwritten with the provided environment variables."
+else
+ echo "No Kibana.yml generated."
+ exit 1
+fi
diff --git a/local/kibana-L1.sh b/local/kibana-L1.sh
new file mode 100644
index 0000000..5cad89f
--- /dev/null
+++ b/local/kibana-L1.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Start Engine
+##############################################################
+
+# Load the environment variables from the .env file
+echo ""
+echo "-------------------------------------------------------------------------------"
+echo "K I B A N A * R U N N I N G * S T A T U S | W A T S O N X D I S C O V E R Y"
+echo "-------------------------------------------------------------------------------"
+if [ -f .env ]; then
+ echo ".env found, nice practice!"
+ TLSV=08262
+ source .env
+ source kibana_reset.sh
+else
+ echo ".env file not found! - Did you actually create one?"
+ exit 1
+fi
+
+# Stop running watsonx discovery kibana.
+echo ""
+if command_exists podman && [ "$(podman ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Podman container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+elif command_exists docker && [ "$(docker ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Docker container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+elif command_exists buildah && [ "$(buildah ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Buildah container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+else
+ echo "Local container ibm-watsonx-discovery-kibana does not exist, please wait.."
+ sleep 10
+ echo "Creating it, Please wait..."
+fi
+
+# Operating Systems:
+source operating-systems.sh
+
+
+# Runs:
+if [ "$ARCH" = "linux-amd64-arm64" ]; then
+ # Run Kibana Container: Local: LinuxOS
+ source kibana-engine-linux.sh
+ tls_set_and_run_option
+elif [ "$ARCH" = "mac-amd64-arm64" ]; then
+ # Run Kibana Container: Local: MacOS
+ source kibana-engine-mac.sh
+ tls_set_and_run_option
+elif [ "$ARCH" = "windows-x86-x64" ]; then
+ # Run Kibana Container: Local: Windows WSL
+ source kibana-engine-win.sh
+ tls_set_and_run_option
+else
+ echo "Your Operating System is not supported at this time."
+ exit 1
+fi
+
+# Start Time
+echo ""
+echo "Starting Kibana:"
+echo "Kibana running, please wait while Watsonx Discovery Kibana completely starts..."
+sleep 40
+echo "Watsonx Kibana is supposed to have started by now."
+echo "Go to http://localhost:$KIBANA_PORT to start your integration."
+echo "Welcome to IBM Watsonx Discovery Kibana"
diff --git a/local/kibana-L2.sh b/local/kibana-L2.sh
new file mode 100644
index 0000000..1bb196a
--- /dev/null
+++ b/local/kibana-L2.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Start Engine
+##############################################################
+
+# Load the environment variables from the .env file
+echo ""
+echo "-------------------------------------------------------------------------------"
+echo "K I B A N A * R U N N I N G * S T A T U S | W A T S O N X D I S C O V E R Y"
+echo "-------------------------------------------------------------------------------"
+if [ -f .env ]; then
+ echo ".env found, nice practice!"
+ TLSV=00000
+ source .env
+ source kibana_reset.sh
+else
+ echo ".env file not found! - Did you actually create one?"
+ exit 1
+fi
+
+# Stop running watsonx discovery kibana.
+echo ""
+if command_exists podman && [ "$(podman ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Podman container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+elif command_exists docker && [ "$(docker ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Docker container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+elif command_exists buildah && [ "$(buildah ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Buildah container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+else
+ echo "Local container ibm-watsonx-discovery-kibana does not exist, please wait.."
+ sleep 10
+ echo "Creating it, Please wait..."
+fi
+
+# Operating Systems:
+source operating-systems.sh
+
+# Runs:
+if [ "$ARCH" = "linux-amd64-arm64" ]; then
+ # Run Kibana Container: Local: LinuxOS
+ source kibana-engine-linux.sh
+ tls_set_and_run_option
+elif [ "$ARCH" = "mac-amd64-arm64" ]; then
+ # Run Kibana Container: Local: MacOS
+ source kibana-engine-mac.sh
+ tls_set_and_run_option
+elif [ "$ARCH" = "windows-x86-x64" ]; then
+ # Run Kibana Container: Local: Windows WSL
+ source kibana-engine-win.sh
+ tls_set_and_run_option
+else
+ echo "Your Operating System is not supported at this time."
+ exit 1
+fi
+
+# Start Time
+echo ""
+echo "Starting Kibana:"
+echo "Kibana running, please wait while Watsonx Discovery Kibana completely starts..."
+sleep 40
+echo "Watsonx Kibana is supposed to have started by now."
+echo "Go to http://localhost:$KIBANA_PORT to start your integration."
+echo "Welcome to IBM Watsonx Discovery Kibana"
diff --git a/local/kibana-engine-linux.sh b/local/kibana-engine-linux.sh
new file mode 100644
index 0000000..55d3a1b
--- /dev/null
+++ b/local/kibana-engine-linux.sh
@@ -0,0 +1,98 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Start Engine
+# DO NOT MODIFY THIS FILE
+##############################################################
+
+
+# Check if the kibana home directory exists:
+if [ ! -d "/var/lib/kibana/config" ]; then
+ echo "/var/lib/kibana/config path does not exist."
+ echo "Check if you have administrator permissions to access the path."
+ exit 1
+else
+ echo "/var/lib/kibana/config path exists, continue..."
+fi
+
+# Function to check if a command exists
+command_exists() {
+ command -v "$1" >/dev/null 2>&1
+}
+
+ # Function to run Kibana container based on TLS version
+tls_set_and_run_option() {
+ export ELASTICSEARCH_ENDPOINT="https://$ELASTICSEARCH_USERNAME:$ELASTICSEARCH_PASSWORD@$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT"
+ if [[ "$TLSV" == "08262" ]]; then
+ # Run Kibana Container: Local with certificate verification mode
+ docker_run_command="docker run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /var/lib/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ podman_run_command="podman run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /var/lib/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ buildah_run_command="buildah run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /var/lib/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+ else
+ # Run Kibana Container: Local with no SSL verification mode
+ docker_run_command="docker run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /var/lib/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ podman_run_command="podman run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /var/lib/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ buildah_run_command="buildah run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /var/lib/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+ fi
+
+ # Check for installations and run the appropriate command
+ if command_exists podman; then
+ echo "Using Podman to run Kibana."
+ eval "$podman_run_command"
+ elif command_exists docker; then
+ echo "Using Docker to run Kibana."
+ eval "$docker_run_command"
+ elif command_exists buildah; then
+ echo "Using Buildah to run Kibana."
+ eval "$buildah_run_command"
+ else
+ echo "No container runtime found. Please install Docker, Podman, or Buildah."
+ exit 1
+ fi
+}
diff --git a/local/kibana-engine-mac.sh b/local/kibana-engine-mac.sh
new file mode 100644
index 0000000..6f83029
--- /dev/null
+++ b/local/kibana-engine-mac.sh
@@ -0,0 +1,97 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Start Engine
+# DO NOT MODIFY THIS FILE
+##############################################################
+
+# Check if the kibana home directory exists:
+if [ ! -d "/usr/local/share/kibana/config" ]; then
+ echo "/usr/local/share/kibana/config path does not exist."
+ echo "Check if you have administrator permissions to access the path."
+ exit 1
+else
+ echo "/usr/local/share/kibana/config path exists. continue.."
+fi
+
+# Function to check if a command exists
+command_exists() {
+ command -v "$1" >/dev/null 2>&1
+}
+
+ # Function to run Kibana container based on TLS version
+tls_set_and_run_option() {
+ export ELASTICSEARCH_ENDPOINT="https://$ELASTICSEARCH_USERNAME:$ELASTICSEARCH_PASSWORD@$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT"
+ if [[ "$TLSV" == "08262" ]]; then
+ # Run Kibana Container: Local with certificate verification mode
+ docker_run_command="docker run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /usr/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ podman_run_command="podman run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /usr/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ buildah_run_command="buildah run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /usr/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+ else
+ # Run Kibana Container: Local with no SSL verification mode
+ docker_run_command="docker run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /usr/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ podman_run_command="podman run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /usr/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ buildah_run_command="buildah run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /usr/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+ fi
+
+ # Check for installations and run the appropriate command
+ if command_exists podman; then
+ echo "Using Podman to run Kibana."
+ eval "$podman_run_command"
+ elif command_exists docker; then
+ echo "Using Docker to run Kibana."
+ eval "$docker_run_command"
+ elif command_exists buildah; then
+ echo "Using Buildah to run Kibana."
+ eval "$buildah_run_command"
+ else
+ echo "No container runtime found. Please install Docker, Podman, or Buildah."
+ exit 1
+ fi
+}
diff --git a/local/kibana-engine-win.sh b/local/kibana-engine-win.sh
new file mode 100644
index 0000000..847bad5
--- /dev/null
+++ b/local/kibana-engine-win.sh
@@ -0,0 +1,97 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Start Engine
+# DO NOT MODIFY THIS FILE
+##############################################################
+
+# Check if the kibana home directory exists:
+if [ ! -d "/mnt/c/Users/local/share/kibana/config" ]; then
+ echo "/mnt/c/Users/local/share/kibana/config path does not exist."
+ echo "Check if you have administrator permissions to access the path."
+ exit 1
+else
+ echo "/mnt/c/Users/local/share/kibana/config path exists, continue.."
+fi
+
+# Function to check if a command exists:
+command_exists() {
+ command -v "$1" >/dev/null 2>&1
+}
+
+ # Function to run Kibana container based on TLS version
+tls_set_and_run_option() {
+ export ELASTICSEARCH_ENDPOINT="https://$ELASTICSEARCH_USERNAME:$ELASTICSEARCH_PASSWORD@$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT"
+ if [[ "$TLSV" == "08262" ]]; then
+ # Run Kibana Container: Local with certificate verification mode
+ docker_run_command="docker run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /mnt/c/Users/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ podman_run_command="podman run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /mnt/c/Users/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ buildah_run_command="buildah run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"certificate\" \
+ -v /mnt/c/Users/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+ else
+ # Run Kibana Container: Local with no SSL verification mode
+ docker_run_command="docker run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /mnt/c/Users/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ podman_run_command="podman run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /mnt/c/Users/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+
+ buildah_run_command="buildah run -d \
+ --name ibm-watsonx-discovery-kibana \
+ -p $KIBANA_PORT:$KIBANA_PORT \
+ -e ELASTICSEARCH_HOSTS=\"$ELASTICSEARCH_ENDPOINT\" \
+ -e ELASTICSEARCH_SSL_VERIFICATIONMODE=\"none\" \
+ -v /mnt/c/Users/local/share/kibana/config:/usr/share/kibana/config \
+ quay.io/redhatcloud/access-registry-elk-kibana:$ELASTICSEARCH_VERSION"
+ fi
+
+ # Check for installations and run the appropriate command
+ if command_exists podman; then
+ echo "Using Podman to run Kibana."
+ eval "$podman_run_command"
+ elif command_exists docker; then
+ echo "Using Docker to run Kibana."
+ eval "$docker_run_command"
+ elif command_exists buildah; then
+ echo "Using Buildah to run Kibana."
+ eval "$buildah_run_command"
+ else
+ echo "No container runtime found. Please install Docker, Podman, or Buildah."
+ exit 1
+ fi
+}
diff --git a/local/kibana.yml.template b/local/kibana.yml.template
new file mode 100644
index 0000000..54c47e4
--- /dev/null
+++ b/local/kibana.yml.template
@@ -0,0 +1,10 @@
+# kibana.yml.template
+elasticsearch.ssl.certificateAuthorities: "/usr/share/kibana/config/cacert"
+elasticsearch.username: "${USERNAME}"
+elasticsearch.password: "${PASSWORD}"
+elasticsearch.hosts: ["${ELASTIC_ENDPOINT}"]
+server.name: "kibana"
+server.host: "0.0.0.0"
+monitoring.ui.container.elasticsearch.enabled: "true"
+server.shutdownTimeout: "30s"
+elasticsearch.ssl.verificationMode: full # none | full | certificate
\ No newline at end of file
diff --git a/local/kibana_reset.sh b/local/kibana_reset.sh
new file mode 100644
index 0000000..2daf8e3
--- /dev/null
+++ b/local/kibana_reset.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Stopper
+##############################################################
+
+# Check if kibana.yml exists
+if [ -f "kibana.yml" ]; then
+ rm kibana.yml
+ echo "old kibana.yml removed"
+else
+ echo "continue..."
+fi
+
+# Function to check if a command exists
+command_exists() {
+ command -v "$1" >/dev/null 2>&1
+}
+
+# Function to stop, remove and prune Docker, Podman, or Buildah images
+image_uninstaller() {
+ # Check if Podman is installed and has images
+ if command_exists podman; then
+ if podman images -q | grep -q .; then
+ echo "Stopping Kibana and removing Kibana Podman container..."
+ podman stop ibm-watsonx-discovery-kibana && echo -e "stopping done!"
+ podman rm ibm-watsonx-discovery-kibana && echo -e "removal done!"
+ podman system prune -a -f
+ fi
+ fi
+
+ # Check if Docker is installed and has images
+ if command_exists docker; then
+ if docker images -q | grep -q .; then
+ echo "Stopping Kibana and removing Kibana Docker container..."
+ docker stop ibm-watsonx-discovery-kibana && echo -e "stopping done!"
+ docker rm ibm-watsonx-discovery-kibana && echo -e "removal done!"
+ docker system prune -a -f
+ fi
+ fi
+
+ # Check if Buildah is installed and has images
+ if command_exists buildah; then
+ if buildah images -q | grep -q .; then
+ echo "Stopping Kibana and removing Kibana Buildah container..."
+ buildah rm ibm-watsonx-discovery-kibana && echo -e "stopping done!"
+ buildah rmi -a -f && echo -e "removal done!"
+ buildah system prune -a -f
+ fi
+ fi
+}
diff --git a/local/operating-systems.sh b/local/operating-systems.sh
new file mode 100644
index 0000000..4fceb92
--- /dev/null
+++ b/local/operating-systems.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Start Engine
+##############################################################
+
+# Supported Local Operating Systems:
+if [ "$ARCH" = "linux-amd64-arm64" ]; then
+ # Create essentials:
+ mkdir -p /var/lib/kibana/config
+ source generate_kibana-yml_config.sh
+ # Copy Essential development files for Linux
+ cp cacert.crt /var/lib/kibana/config/cacert
+ cp kibana.yml /var/lib/kibana/config/kibana.yml
+elif [ "$ARCH" = "mac-amd64-arm64" ]; then
+ # Create essentials:
+ mkdir -p /usr/local/share/kibana/config
+ source generate_kibana-yml_config.sh
+ # Copy Essential development files for Mac
+ cp cacert.crt /usr/local/share/kibana/config/cacert
+ cp kibana.yml /usr/local/share/kibana/config/kibana.yml
+elif [ "$ARCH" = "windows-x86-x64" ]; then
+ # Create essentials:
+ mkdir -p /mnt/c/Users/local/share/kibana/config
+ source generate_kibana-yml_config.sh
+ # Copy Essential development files for Windows
+ cp cacert.crt /mnt/c/Users/local/share/kibana/config/cacert
+ cp kibana.yml /mnt/c/Users/local/share/kibana/config/kibana.yml
+else
+ echo "Your Operating System is not supported at this time."
+ exit 1
+fi
\ No newline at end of file
diff --git a/local/start-run.sh b/local/start-run.sh
new file mode 100644
index 0000000..5463dd1
--- /dev/null
+++ b/local/start-run.sh
@@ -0,0 +1,78 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Start Engine
+##############################################################
+
+# Function to set the operating system:
+set_operating_system() {
+ echo ""
+ echo "O P E R A T I N G S Y S T E M S E L E C T I O N:"
+ echo "What type of Operating System are you using?"
+ echo "Options are:"
+ echo "1: LinuxOS"
+ echo "2: MacOS"
+ echo "3: WindowsOS WSL"
+
+ read -p "Enter the option number (1/2/3): " os_choice
+
+ case $os_choice in
+ 1)
+ ARCH="linux-amd64-arm64"
+ ;;
+ 2)
+ ARCH="mac-amd64-arm64"
+ ;;
+ 3)
+ ARCH="windows-x86-x64"
+ ;;
+ *)
+ echo "Invalid option. Exiting..."
+ exit 1
+ ;;
+ esac
+
+ export ARCH
+}
+
+# Function to prompt user and execute corresponding script:
+run_kibana() {
+ while true; do
+ echo ""
+ echo "K I B A N A I N S T A N C E S E L E C T I O N:"
+ echo "Which Local Watsonx Discovery Kibana Instance do you prefer?:"
+ echo "1. Run kibana-L1 (Will verify the watsonx discovery certificate)"
+ echo "2. Run kibana-L2 (Will not verify the watsonx discovery certificate)"
+ echo "0. Quit"
+ read -p "Enter your choice of Kibana local Instance (1/2/0): " choice
+
+ case $choice in
+ 1)
+ echo "Running kibana-L1..."
+ source kibana-L1.sh
+ break
+ ;;
+ 2)
+ echo "Running kibana-L2..."
+ source kibana-L2.sh
+ break
+ ;;
+ 0)
+ echo "Quitting..."
+ exit 0
+ ;;
+ *)
+ echo "Invalid option. Please enter 1, 2, or 0."
+ ;;
+ esac
+ done
+}
+# Run::
+set_operating_system
+run_kibana
diff --git a/local/stop-run.sh b/local/stop-run.sh
new file mode 100644
index 0000000..38f4612
--- /dev/null
+++ b/local/stop-run.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+###############################################################
+# Software: IBM Watsonx Kibana Installation Tool
+# Use: For Development of Watsonx Applications
+# Audience: General Use
+# Author: Dr. Jeffrey Chijioke-Uche, Ph.D
+# Company: IBM Corporation
+# Version 1.0
+# License ID: 3.0 (the "License")
+# Engine: Stop Engine
+##############################################################
+
+# Check if kibana.yml exists
+if [ -f "kibana.yml" ]; then
+ rm kibana.yml
+ echo "old kibana.yml removed...."
+else
+ echo "continue..."
+fi
+
+# Function to check if a command exists
+command_exists() {
+ command -v "$1" >/dev/null 2>&1
+}
+
+# Function to stop, remove and prune Docker, Podman or Buildah images
+image_uninstaller() {
+ # Check if Podman is installed and has images
+ if command_exists podman; then
+ if podman images -q; then
+ echo "Stopping and removing Podman container..."
+ podman stop ibm-watsonx-discovery-kibana
+ podman rm ibm-watsonx-discovery-kibana
+ podman system prune -a -f
+ fi
+
+ # Check if Docker is installed and has images
+ elif command_exists docker; then
+ if docker images -q; then
+ echo "Stopping and removing Docker container..."
+ docker stop ibm-watsonx-discovery-kibana
+ docker rm ibm-watsonx-discovery-kibana
+ docker system prune -a -f
+ fi
+
+ # Check if Buildah is installed and has images
+ elif command_exists buildah; then
+ if buildah images -q; then
+ echo "Stopping and removing Buildah container..."
+ buildah rm -a
+ buildah rmi -a -f
+ buildah prune -a -f
+ fi
+
+ else
+ echo "No container runtime is installed. Please install Docker, Podman, or Buildah to proceed."
+ exit 1
+ fi
+}
+
+# Stop running watsonx discovery kibana.
+echo ""
+echo "-------------------------------------------------------------------------------"
+echo "K I B A N A * R U N N I N G * S T A T U S | W A T S O N X D I S C O V E R Y"
+echo "-------------------------------------------------------------------------------"
+if command_exists podman && [ "$(podman ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Podman container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+elif command_exists docker && [ "$(docker ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Docker container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+elif command_exists buildah && [ "$(buildah ps -a -q -f name=ibm-watsonx-discovery-kibana)" ]; then
+ echo "Stopping and removing existing Kibana Buildah container: ibm-watsonx-discovery-kibana..."
+ image_uninstaller
+ echo "Your Local Watsonx Discovery Kibana Instance Stopped!"
+else
+ echo "Local container ibm-watsonx-discovery-kibana does not exist."
+ echo "[start-run.sh], if you want to start Local Watsonx Discovery Kibana Instance."
+fi
\ No newline at end of file
diff --git a/openshift/.gitignore b/openshift/.gitignore
new file mode 100644
index 0000000..820a5bd
--- /dev/null
+++ b/openshift/.gitignore
@@ -0,0 +1,10 @@
+#############
+elasticconfig
+secret-v2.yml
+secret*
+.env
+cacert.crt
+kibana.yml
+configMap.yml
+kibana-lab.yml
+configMap-lab.yml
\ No newline at end of file
diff --git a/openshift/.img/k11.png b/openshift/.img/k11.png
new file mode 100644
index 0000000..60b3a54
Binary files /dev/null and b/openshift/.img/k11.png differ
diff --git a/openshift/.img/k14.png b/openshift/.img/k14.png
new file mode 100644
index 0000000..322e1bf
Binary files /dev/null and b/openshift/.img/k14.png differ
diff --git a/openshift/.img/k17.jpg b/openshift/.img/k17.jpg
new file mode 100644
index 0000000..cb7da4e
Binary files /dev/null and b/openshift/.img/k17.jpg differ
diff --git a/openshift/.img/k19.png b/openshift/.img/k19.png
new file mode 100644
index 0000000..fe55405
Binary files /dev/null and b/openshift/.img/k19.png differ
diff --git a/openshift/.img/k8.png b/openshift/.img/k8.png
new file mode 100644
index 0000000..08cb136
Binary files /dev/null and b/openshift/.img/k8.png differ
diff --git a/openshift/LICENSE b/openshift/LICENSE
new file mode 100644
index 0000000..f2f301e
--- /dev/null
+++ b/openshift/LICENSE
@@ -0,0 +1,24 @@
+ MIT License
+ License ID: 3.0
+
+ Copyright (c) 2024 International Business Machines
+
+ Author: Dr. Jeffrey Chijioke-Uche, Ph.D (IBM)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/openshift/README.md b/openshift/README.md
new file mode 100644
index 0000000..70001d2
--- /dev/null
+++ b/openshift/README.md
@@ -0,0 +1,54 @@
+# IBM Watsonx Discovery - Openshift Kibana Deployment
+### Watsonx Discovery KIbana OpenShift Deployment
+
+
+
+Prerequisites: OpenShift OC CLI
+
+## STEP 1: Clone the Toolkit
+```sh
+git clone https://github.ibm.com/JEFFREY-CHIJIOKE-UCHE/watsonx-discovery-kibana-installation-tool.git
+cd watsonx-discovery-kibana-installation-tool
+cd openshift
+```
+
+
+## STEP 2: Activate the ConfigMap
+```sh
+mv configMap.yml.deactivated configMap.yml
+```
+
+
+## STEP 3: Add the Required Values in the ConfigMap
+```sh
+Open configMap.yml and fill in the required configuration values.
+Save configMap.yml file.
+```
+
+
+## STEP 4: Login to Redhat OpenShift & create a project
+```sh
+oc login --token=YOUR-SERVER-TOKEN --server=YOUR-SERVER-URL
+oc new-project elk
+```
+
+
+## STEP 5: Install ConfigMap on RedHat OpenShift
+```sh
+oc apply -f configMap.yml
+```
+
+## STEP 6: Deploy Kibana on RedHat OpenShift
+```sh
+oc apply -f kibana-openshift.yml
+```
+
+## STEP 7: Get your Kibana OpenShift URL from your project named "elk"
+```sh
+echo "https://$(oc get route kibana -n elk --template='{{ .spec.host }}')"
+```
+
+## STEP 8: Go to the Browser to access Kibana
+```sh
+https://kibana-yourproject.apps.yourdomain.yourtld
+```
\ No newline at end of file
diff --git a/openshift/configMap.yml.deactivated b/openshift/configMap.yml.deactivated
new file mode 100644
index 0000000..42690f6
--- /dev/null
+++ b/openshift/configMap.yml.deactivated
@@ -0,0 +1,27 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: kibana-configmap
+ namespace: elk
+data:
+ ELASTICSEARCH_ENDPOINT: ":@"
+ ELASTICSEARCH_USERNAME: ""
+ ELASTICSEARCH_PASSWORD: ""
+ ELASTICSEARCH_HOST: ""
+ ELASTICSEARCH_PORT: ""
+ ELASTICSEARCH_TLS_NAME: ""
+ ELASTICSEARCH_VERSION: ""
+ ELASTICSEARCH_SSL_VERIFICATIONMODE: ""
+ kibana.yml: |
+ server.name: "kibana"
+ server.host: "0.0.0.0"
+ server.port: 5601
+ elasticsearch.hosts: ["${ELASTICSEARCH_ENDPOINT}"]
+ elasticsearch.username: "${ELASTICSEARCH_USERNAME}"
+ elasticsearch.password: "${ELASTICSEARCH_PASSWORD}"
+ elasticsearch.ssl.certificateAuthorities: "/usr/share/kibana/config/cacert"
+ elasticsearch.ssl.verificationMode: certificate # none | full | certificate
+ cacert: |
+ -----BEGIN CERTIFICATE-----
+
+ -----END CERTIFICATE-----
diff --git a/openshift/kibana-openshift.yml b/openshift/kibana-openshift.yml
new file mode 100644
index 0000000..e697ff4
--- /dev/null
+++ b/openshift/kibana-openshift.yml
@@ -0,0 +1,113 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: kibana
+ namespace: elk
+ labels:
+ app: kibana
+spec:
+ ports:
+ - port: 5601
+ targetPort: 5601
+ protocol: TCP
+ selector:
+ app: kibana
+---
+apiVersion: route.openshift.io/v1
+kind: Route
+metadata:
+ name: kibana
+ namespace: elk
+spec:
+ to:
+ kind: Service
+ name: kibana
+ port:
+ targetPort: 5601
+ tls:
+ termination: edge
+---
+apiVersion: apps.openshift.io/v1
+kind: DeploymentConfig
+metadata:
+ name: kibana
+ namespace: elk
+ labels:
+ app: kibana
+spec:
+ replicas: 1
+ selector:
+ app: kibana
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ labels:
+ app: kibana
+ spec:
+ containers:
+ - name: kibana
+ image: quay.io/redhatcloud/access-registry-elk-kibana:8.12.1
+ ports:
+ - containerPort: 5601
+ env:
+ - name: ELASTICSEARCH_ENDPOINT
+ valueFrom:
+ configMapKeyRef:
+ name: kibana-configmap
+ key: ELASTICSEARCH_ENDPOINT
+ - name: ELASTICSEARCH_USERNAME
+ valueFrom:
+ configMapKeyRef:
+ name: kibana-configmap
+ key: ELASTICSEARCH_USERNAME
+ - name: ELASTICSEARCH_VERSION
+ valueFrom:
+ configMapKeyRef:
+ name: kibana-configmap
+ key: ELASTICSEARCH_VERSION
+ - name: ELASTICSEARCH_PASSWORD
+ valueFrom:
+ configMapKeyRef:
+ name: kibana-configmap
+ key: ELASTICSEARCH_PASSWORD
+ - name: ELASTICSEARCH_SSL_VERIFICATIONMODE
+ valueFrom:
+ configMapKeyRef:
+ name: kibana-configmap
+ key: ELASTICSEARCH_SSL_VERIFICATIONMODE
+ - name: ELASTICSEARCH_HOST
+ valueFrom:
+ configMapKeyRef:
+ name: kibana-configmap
+ key: ELASTICSEARCH_HOST
+ - name: ELASTICSEARCH_PORT
+ valueFrom:
+ configMapKeyRef:
+ name: kibana-configmap
+ key: ELASTICSEARCH_PORT
+ - name: ELASTICSEARCH_TLS_NAME
+ valueFrom:
+ configMapKeyRef:
+ name: kibana-configmap
+ key: ELASTICSEARCH_TLS_NAME
+ volumeMounts:
+ - name: kibana-configmap
+ mountPath: /usr/share/kibana/config/kibana.yml
+ subPath: kibana.yml
+ - name: cacert
+ mountPath: /usr/share/kibana/config/cacert
+ subPath: cacert
+ volumes:
+ - name: kibana-configmap
+ configMap:
+ name: kibana-configmap
+ items:
+ - key: kibana.yml
+ path: kibana.yml
+ - name: cacert
+ configMap:
+ name: kibana-configmap
+ items:
+ - key: cacert
+ path: cacert