Skip to content

Enterprise application modernization demo with TIBCO BW to Spring Boot + Apache Camel migration patterns, featuring Kubernetes GitOps with ArgoCD and Kargo progressive delivery

Notifications You must be signed in to change notification settings

kennyg/platform-modernization-demo

Repository files navigation

TIBCO Migration GitOps Environment

This setup provides a local Kubernetes environment for TIBCO BusinessWorks modernization with:

  • ArgoCD for GitOps deployments
  • Kargo for progressive delivery and promotion workflows
  • Prometheus + Grafana for monitoring and observability
  • Multi-environment deployments (dev → staging → prod)

Setup

1. Configure Credentials

# Copy the template and set your credentials
cp .env.template .env
# Edit .env and set KARGO_ADMIN_PASSWORD to your desired password

2. Quick Start

# Create the cluster and install all components
mise run setup

# Check status
mise run status-all

# Get your credentials
mise run kargo-password

3. Access UIs

mise run argocd-port-forward  # ArgoCD at https://localhost:8080
mise run kargo-port-forward    # Kargo at https://localhost:8081
# OR access Kargo directly via NodePort: https://localhost:31444

# Monitoring dashboards
mise run grafana-port-forward     # Grafana at http://localhost:3000
mise run prometheus-port-forward  # Prometheus at http://localhost:9090

Architecture

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Git Repo  │────▶│    Kargo    │────▶│   ArgoCD    │
│  (Freight)  │     │  (Stages)   │     │   (Sync)    │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ▼
                                        ┌─────────────┐
                                        │   Services  │
                                        └─────────────┘

Workflow

  1. Freight - Kargo watches for new container images or Git commits
  2. Stages - Define environments (dev → staging → prod)
  3. Promotion - Kargo promotes freight through stages
  4. Sync - ArgoCD syncs the promoted changes to Kubernetes

GitOps Structure

gitops/
├── apps/                 # Application manifests
│   └── order-processor/
├── environments/         # Environment-specific configs
│   ├── dev/
│   ├── staging/
│   └── prod/
└── kargo/               # Kargo projects and stages
    └── order-processor-project.yaml

Security

  • Credentials are stored in .env file (not committed to git)
  • Use .env.template as a starting point
  • Kargo uses bcrypt password hashing
  • All passwords are configurable via environment variables

Common Tasks

# Create a new Kargo project
kubectl apply -f gitops/kargo/order-processor-project.yaml

# Check Kargo freight
kubectl get freight -n order-processor

# Promote freight to next stage
kargo promote --project order-processor --stage staging

# Create ArgoCD app
kubectl apply -f gitops/argocd/order-processor-applications.yaml

TIBCO Migration Examples

See TIBCO-MIGRATION-EXAMPLES.md for detailed migration patterns and examples showing how to transform TIBCO BusinessWorks processes into cloud-native Spring Boot + Apache Camel services.

About

Enterprise application modernization demo with TIBCO BW to Spring Boot + Apache Camel migration patterns, featuring Kubernetes GitOps with ArgoCD and Kargo progressive delivery

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •