Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌐 TIBCO BWCE Global Variables & Multi-Cluster GitOps Configuration

Generated by TIBCO BWCE Datadog ArgoCD OpenShift Kubernetes Git Parameter External Secrets Operator 12-Factor App License

Centralized Single Source of Truth (SSOT) repository storing environment configurations, cluster topologies, application profiles, Helm values, and Datadog observability settings for TIBCO BusinessWorks™ Container Edition (BWCE) microservices.


Important

⚠️ Architectural Blueprint & Sovereign Environment Notice

  • Non-Production Testing Status: This repository serves as an architectural reference blueprint, educational design pattern, and foundational boilerplate. It has not been tested or executed in a live production environment.
  • Sovereign & Air-Gapped Boilerplate: This project is engineered as a deterministic, version-controlled Infrastructure-as-Code (IaC) template that can be safely used as a standardized boilerplate in enterprise environments where Agentic AI / LLMs are prohibited due to data sovereignty, compliance regulations, intellectual property protection, or air-gapped security policies.
  • Enterprise Hardening: Platform engineers must review, adapt, and validate all cluster endpoints, TLS certificates, HashiCorp Vault configurations, Datadog API keys, and RBAC quotas prior to production adoption.
  • AI Generation Attribution: This architecture, Infrastructure-as-Code implementation, and documentation were generated using Gemini 3.7 Flash with Antigravity.
  • Origin & Real-World Heritage: This blueprint is based on nubenetes/jenkins-git-parameter and nubenetes/jenkins-git-parameter-global-vars, drawing directly from the author's personal hands-on experience designing and operating enterprise integration platforms with these exact requirements (engineered just before agentic AI became widespread).

Tip

🚀 Companion Repository (CI/CD & GitOps Orchestration Platform)

This configuration SSOT is consumed directly by the orchestration platform:
🚀 nubenetes/jenkins-git-parameter-bwce
(Contains Jenkins JCasC, Job DSL multi-remote pipelines, Datadog Java APM agent injection, ArgoCD 3.5, and Argo Rollouts Canary)


🏛️ SSOT Configuration Hierarchy

🗺️ Click to expand: SSOT Configuration Hierarchy & Multi-Cluster Mapping Diagram
flowchart TB
    subgraph ConfigSSOT ["1. Global Config SSOT"]
        direction TB
        Envs["<b>environments/</b><br/>─────────<br/>• dev.yaml<br/>• staging.yaml<br/>• prod.yaml"]
        Clusters["<b>clusters/</b><br/>─────────<br/>• dev-cluster<br/>• stg-cluster<br/>• prod-cluster"]
        Apps["<b>apps/</b><br/>─────────<br/>• order-service<br/>• customer-api"]
        HelmVal["<b>helm-values/</b><br/>─────────<br/>• values-dev<br/>• values-stg<br/>• values-prod"]
    end

    subgraph Consumers ["2. GitOps & Observability"]
        direction TB
        Jenkins["<b>Jenkins Master</b><br/>Git Parameter<br/>Dropdown"]
        ArgoCD["<b>ArgoCD 3.5</b><br/>Multi-Cluster<br/>Sync Waves"]
        Datadog["<b>Datadog Agent</b><br/>Unified Service<br/>Tagging"]
    end

    subgraph TargetClusters ["3. OpenShift Clusters"]
        direction TB
        Dev["<b>OCP DEV</b><br/>dev-bwce"]
        Staging["<b>OCP STAGING</b><br/>staging-bwce"]
        Prod["<b>OCP PROD</b><br/>prod-bwce"]
    end

    Envs -->|"Config"| Jenkins
    Envs -->|"Profiles"| ArgoCD
    HelmVal -->|"Values"| ArgoCD
    Apps -->|"DD Tags"| Datadog

    ArgoCD -->|"DEV Profile"| Dev
    ArgoCD -->|"STG Profile"| Staging
    ArgoCD -->|"PROD Profile"| Prod
Loading

🏗️ Repository Structure

.
├── environments/                     # Environment definitions & BWCE runtime parameters
│   ├── dev.yaml                      # OCP DEV: Debug logs, DEV.substvar profile, 16 threads
│   ├── staging.yaml                  # OCP STAGING: Info logs, STAGING.substvar profile, 32 threads
│   └── prod.yaml                     # OCP PROD: Warn logs, PROD.substvar profile, 64 threads
├── clusters/                         # OpenShift cluster topology definitions
│   ├── ocp-dev-cluster.yaml          # Primary dev cluster specification
│   ├── ocp-staging-cluster.yaml      # Staging UAT cluster specification
│   └── ocp-prod-cluster.yaml         # Production cluster specification
├── apps/                             # Application catalog & BWCE configurations
│   ├── applications-inventory.yaml   # Service inventory for Backstage IDP / Jenkins
│   ├── tibco-bwce-order-service.yaml # Order service spec & Datadog tags
│   └── tibco-bwce-customer-api.yaml  # Customer API gateway spec
├── helm-values/                      # OpenShift Helm values per service & environment
│   ├── tibco-bwce-order-service/     # Values with Datadog annotations & BW_PROFILE
│   └── tibco-bwce-customer-api/
├── secrets-templates/                # Zero-trust templates (DB, JMS, Datadog)
└── secrets/                          # External Secrets Operator (ESO) Vault sync

🎯 TIBCO BWCE Best Practices Implemented

  1. Profile Externalization via .substvar: Environment-specific configurations (DEV.substvar, STAGING.substvar, PROD.substvar) are cleanly decoupled from the application archive (.ear) and injected at runtime using BW_PROFILE.
  2. Engine Tuning & 12-Factor Design (No CPU Limits + Namespace Governance):
    • No CPU Limits on Pods: CPU limits are intentionally omitted at the container level to eliminate Linux CFS Bandwidth Throttling on multi-threaded JVM/BWCE processes.
    • Namespace ResourceQuotas: Aggregate cluster CPU/Memory consumption is governed at the OpenShift Project boundary (cluster-quotas/namespace-resource-quota.yaml).
    • BW_ENGINE_THREADCOUNT: Dynamically scaled per environment (16 in DEV, 32 in STAGING, 64 in PROD).
    • BW_STEP_FLOWLIMIT: Throttles memory footprint during high-throughput burst traffic.
    • BW_CONTAINER_SHUTDOWN_TIMEOUT_SECONDS: Ensures graceful in-flight process completion upon SIGTERM.
  3. Datadog Unified Service Tagging: Standardized env, service, and version tags injected across K8s labels, container env vars, and JVM parameters (-javaagent:/opt/datadog/dd-java-agent.jar).
  4. OpenShift restricted-v2 Compliance: All workloads run as non-root user uid: 1001 with read-only root filesystems and explicit ephemeral storage.

🔗 Related Repositories

About

Centralized SSOT Config for TIBCO BWCE on OpenShift 4.20+ with Datadog | Paired with nubenetes/jenkins-git-parameter-bwce

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors