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
- 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
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)
🗺️ 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
.
├── 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
- 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 usingBW_PROFILE. - 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.
- Datadog Unified Service Tagging:
Standardized
env,service, andversiontags injected across K8s labels, container env vars, and JVM parameters (-javaagent:/opt/datadog/dd-java-agent.jar). - OpenShift
restricted-v2Compliance: All workloads run as non-root useruid: 1001with read-only root filesystems and explicit ephemeral storage.
- Orchestration Platform: jenkins-git-parameter-bwce
- Base Generic Global Variables SSOT: nubenetes/jenkins-git-parameter-global-vars
- Base Generic CI/CD Blueprint: nubenetes/jenkins-git-parameter