Commit aec985e7 authored by Waleed Akbar's avatar Waleed Akbar
Browse files

Refactor in Analytics, Telemetry, and KpiManager Services and Manifest Files...

Refactor in Analytics, Telemetry, and KpiManager Services and Manifest Files to Reflect Generic DB Changes.

- Improvements made to `tfs.sh` script.
- Added `CRDB_DATABASE` environment variable to all monitoring service manifest files and the context manifest file.
- Removed the DB engine file from all monitoring services and moved it to `common.tools.database`.
- Each `<service_name>_DB.py` will now retrieve the database name from the environment variable.
parent 281091c3
Loading
Loading
Loading
Loading
+19 −17
Original line number Diff line number Diff line
@@ -146,55 +146,57 @@ kubectl create namespace $TFS_K8S_NAMESPACE
sleep 2
printf "\n"

echo "Create secret with CockroachDB data"
echo ">>> Create Secret with CockroachDB data..."
echo "For Context"
CRDB_SQL_PORT=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}')
CRDB_DATABASE_CONTEXT=${CRDB_DATABASE}  # TODO: change by specific configurable environment variable
# CRDB_DATABASE_CONTEXT="${CRDB_DATABASE}_context"  # TODO: change by specific configurable environment variable
kubectl create secret generic crdb-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \
    --from-literal=CRDB_NAMESPACE=${CRDB_NAMESPACE} \
    --from-literal=CRDB_SQL_PORT=${CRDB_SQL_PORT} \
    --from-literal=CRDB_DATABASE=${CRDB_DATABASE_CONTEXT} \
    --from-literal=CRDB_USERNAME=${CRDB_USERNAME} \
    --from-literal=CRDB_PASSWORD=${CRDB_PASSWORD} \
    --from-literal=CRDB_SSLMODE=require
printf "\n"
# printf "\n"
    # --from-literal=CRDB_DATABASE=${CRDB_DATABASE_CONTEXT} \

echo "Create secret with CockroachDB data for KPI Management microservices"
echo "For KPI Management"
CRDB_SQL_PORT=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}')
CRDB_DATABASE_KPI_MGMT="tfs_kpi_mgmt"  # TODO: change by specific configurable environment variable
# CRDB_DATABASE_KPI_MGMT="${CRDB_DATABASE}_kpi"
kubectl create secret generic crdb-kpi-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \
    --from-literal=CRDB_NAMESPACE=${CRDB_NAMESPACE} \
    --from-literal=CRDB_SQL_PORT=${CRDB_SQL_PORT} \
    --from-literal=CRDB_DATABASE=${CRDB_DATABASE_KPI_MGMT} \
    --from-literal=CRDB_USERNAME=${CRDB_USERNAME} \
    --from-literal=CRDB_PASSWORD=${CRDB_PASSWORD} \
    --from-literal=CRDB_SSLMODE=require
printf "\n"
# printf "\n"
    # --from-literal=CRDB_DATABASE=${CRDB_DATABASE_KPI_MGMT} \

echo "Create secret with CockroachDB data for Telemetry microservices"
echo "For Telemetry"
CRDB_SQL_PORT=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}')
CRDB_DATABASE_TELEMETRY="tfs_telemetry"  # TODO: change by specific configurable environment variable
# CRDB_DATABASE_TELEMETRY="${CRDB_DATABASE}_telemetry"
kubectl create secret generic crdb-telemetry --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \
    --from-literal=CRDB_NAMESPACE=${CRDB_NAMESPACE} \
    --from-literal=CRDB_SQL_PORT=${CRDB_SQL_PORT} \
    --from-literal=CRDB_DATABASE=${CRDB_DATABASE_TELEMETRY} \
    --from-literal=CRDB_USERNAME=${CRDB_USERNAME} \
    --from-literal=CRDB_PASSWORD=${CRDB_PASSWORD} \
    --from-literal=CRDB_SSLMODE=require
printf "\n"
# printf "\n"
    # --from-literal=CRDB_DATABASE=${CRDB_DATABASE_TELEMETRY} \

echo "Create secret with CockroachDB data for Analytics microservices"
echo "For Analytics"
CRDB_SQL_PORT=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}')
CRDB_DATABASE_ANALYTICS="tfs_analytics"  # TODO: change by specific configurable environment variable
# CRDB_DATABASE_ANALYTICS="${CRDB_DATABASE}_analytics"
kubectl create secret generic crdb-analytics --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \
    --from-literal=CRDB_NAMESPACE=${CRDB_NAMESPACE} \
    --from-literal=CRDB_SQL_PORT=${CRDB_SQL_PORT} \
    --from-literal=CRDB_DATABASE=${CRDB_DATABASE_ANALYTICS} \
    --from-literal=CRDB_USERNAME=${CRDB_USERNAME} \
    --from-literal=CRDB_PASSWORD=${CRDB_PASSWORD} \
    --from-literal=CRDB_SSLMODE=require
printf "\n"
# printf "\n"
    # --from-literal=CRDB_DATABASE=${CRDB_DATABASE_ANALYTICS} \

echo "Create secret with Apache Kafka data for KPI, Telemetry and Analytics microservices"
echo ">>> Create Secret with Apache Kakfa"
echo "For KPI, Telemetry and Analytics"
KFK_SERVER_PORT=$(kubectl --namespace ${KFK_NAMESPACE} get service kafka-service -o 'jsonpath={.spec.ports[0].port}')
kubectl create secret generic kfk-kpi-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \
    --from-literal=KFK_NAMESPACE=${KFK_NAMESPACE} \
+2 −0
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@ spec:
          env:
            - name: LOG_LEVEL
              value: "INFO"
            - name: CRDB_DATABASE
              value: "tfs_analytics"
          envFrom:
            - secretRef:
                name: crdb-analytics
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ spec:
              value: "FALSE"
            - name: ALLOW_EXPLICIT_ADD_LINK_TO_TOPOLOGY
              value: "FALSE"
            - name: CRDB_DATABASE
              value: "tfs_context"
          envFrom:
            - secretRef:
                name: crdb-data
+2 −0
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ spec:
          env:
            - name: LOG_LEVEL
              value: "INFO"
            - name: CRDB_DATABASE
              value: "tfs_kpi"
          envFrom:
            - secretRef:
                name: crdb-kpi-data
+2 −0
Original line number Diff line number Diff line
@@ -37,6 +37,8 @@ spec:
          env:
            - name: LOG_LEVEL
              value: "INFO"
            - name: CRDB_DATABASE
              value: "tfs_kpi"
          envFrom:
            - secretRef:
                name: crdb-telemetry
Loading