# anandh88/openshift-cfk-gitops-lilly architecture

> Architecture diagram of the GitHub repository anandh88/openshift-cfk-gitops-lilly, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/anandh88/openshift-cfk-gitops-lilly
- Repository: https://github.com/anandh88/openshift-cfk-gitops-lilly

## Overview

This repository defines a GitOps-managed Confluent and Flink streaming platform, with observability and a sample claims-processing workload. The principal workload reads raw claims from Kafka, deduplicates them, maintains per-bucket counts, and writes processed claims back to Kafka. The tree shows bootstrap, platform, workload, and monitoring subsystems; their detailed wiring is not available in the supplied excerpts, so those relationships are omitted or marked unverified. The sampled job source documents its internal stages and Kafka configuration.

Main entry points: [`apps/app-of-apps.yaml`](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/apps/app-of-apps.yaml) (Argo CD apps), [`flink-jobs/claims-processor/src/main/java/com/statefarm/flink/ClaimsProcessorJob.java`](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/flink-jobs/claims-processor/src/main/java/com/statefarm/flink/ClaimsProcessorJob.java) (Claims processor), [`base/confluent-platform`](https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/confluent-platform) (Confluent services), [`base/flink-jobs/flink-application.yaml`](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/flink-jobs/flink-application.yaml) (Flink application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gitops["GitOps Bootstrap"]
  node_bootstrap["Cluster bootstrap"]
  node_argocd_apps["Argo CD apps<br/>[app-of-apps.yaml]"]
end

subgraph group_platform["Streaming Platform"]
  node_confluent_operator["Confluent operator"]
  node_confluent_services["Confluent services"]
  node_kafka["Kafka cluster<br/>[kafka.yaml]"]
  node_raw_claims[("Raw claims topic")]
  node_processed_claims[("Processed claims topic")]
end

subgraph group_workload["Flink Workload"]
  node_flink_operator["Flink operator"]
  node_flink_deployment["Flink deployment"]
  node_flink_application["Flink application"]
  node_claims_job["Claims processor"]
end

subgraph group_observability["Observability"]
  node_metrics["Metrics collection"]
  node_grafana["Grafana dashboards"]
end

subgraph group_environments["Environment Overlays"]
  node_local_overlay["Local overlay<br/>[kustomization.yaml]"]
  node_prod_overlay["Production overlay<br/>[kustomization.yaml]"]
end

node_operator(("Platform operator"))

node_operator -.->|"configures"| node_bootstrap
node_bootstrap -.->|"sets up"| node_argocd_apps
node_argocd_apps -.->|"deploys"| node_confluent_operator
node_argocd_apps -.->|"deploys"| node_confluent_services
node_argocd_apps -.->|"deploys"| node_flink_operator
node_argocd_apps -.->|"deploys"| node_flink_application
node_argocd_apps -.->|"deploys"| node_metrics
node_claims_job -->|"reads"| node_raw_claims
node_claims_job -->|"writes"| node_processed_claims
node_claims_job -.->|"configured by"| node_flink_application
node_flink_deployment -.->|"runs"| node_flink_application
node_metrics -.->|"visualizes"| node_grafana
node_local_overlay -.->|"customizes"| node_confluent_services
node_prod_overlay -.->|"customizes"| node_confluent_services

click node_bootstrap "https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/bootstrap"
click node_argocd_apps "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/apps/app-of-apps.yaml"
click node_confluent_operator "https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/confluent-operator"
click node_confluent_services "https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/confluent-platform"
click node_kafka "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/confluent-platform/kafka.yaml"
click node_flink_operator "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/apps/flink-kubernetes-operator-app.yaml"
click node_flink_deployment "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/flink-jobs/flink-deployment.yaml"
click node_flink_application "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/flink-jobs/flink-application.yaml"
click node_claims_job "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/flink-jobs/claims-processor/src/main/java/com/statefarm/flink/ClaimsProcessorJob.java"
click node_raw_claims "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/confluent-platform/flink-claims-topics.yaml"
click node_processed_claims "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/confluent-platform/flink-claims-topics.yaml"
click node_metrics "https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/observability"
click node_grafana "https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/observability/grafana"
click node_local_overlay "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/overlays/local/kustomization.yaml"
click node_prod_overlay "https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/overlays/prod/kustomization.yaml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_bootstrap,node_argocd_apps toneBlue
class node_confluent_operator,node_confluent_services,node_kafka,node_raw_claims,node_processed_claims toneAmber
class node_flink_operator,node_flink_deployment,node_flink_application,node_claims_job toneMint
class node_metrics,node_grafana toneRose
class node_local_overlay,node_prod_overlay,node_operator toneIndigo
```

## Components

### GitOps Bootstrap

- [Cluster bootstrap](https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/bootstrap): `bootstrap`
- [Argo CD apps](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/apps/app-of-apps.yaml): `apps/app-of-apps.yaml`

### Streaming Platform

- [Confluent operator](https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/confluent-operator): `base/confluent-operator`
- [Confluent services](https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/confluent-platform): `base/confluent-platform`
- [Kafka cluster](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/confluent-platform/kafka.yaml): `base/confluent-platform/kafka.yaml`
- [Raw claims topic](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/confluent-platform/flink-claims-topics.yaml): `base/confluent-platform/flink-claims-topics.yaml`
- [Processed claims topic](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/confluent-platform/flink-claims-topics.yaml): `base/confluent-platform/flink-claims-topics.yaml`

### Flink Workload

- [Flink operator](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/apps/flink-kubernetes-operator-app.yaml): `apps/flink-kubernetes-operator-app.yaml`
- [Flink deployment](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/flink-jobs/flink-deployment.yaml): `base/flink-jobs/flink-deployment.yaml`
- [Flink application](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/base/flink-jobs/flink-application.yaml): `base/flink-jobs/flink-application.yaml`
- [Claims processor](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/flink-jobs/claims-processor/src/main/java/com/statefarm/flink/ClaimsProcessorJob.java): `flink-jobs/claims-processor/src/main/java/com/statefarm/flink/ClaimsProcessorJob.java`

### Observability

- [Metrics collection](https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/observability): `base/observability`
- [Grafana dashboards](https://github.com/anandh88/openshift-cfk-gitops-lilly/tree/main/base/observability/grafana): `base/observability/grafana`

### Environment Overlays

- [Local overlay](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/overlays/local/kustomization.yaml): `overlays/local/kustomization.yaml`
- [Production overlay](https://github.com/anandh88/openshift-cfk-gitops-lilly/blob/main/overlays/prod/kustomization.yaml): `overlays/prod/kustomization.yaml`

### Other components

- **Platform operator**

## Connections

- Platform operator → Cluster bootstrap: configures
- Cluster bootstrap → Argo CD apps: sets up
- Argo CD apps → Confluent operator: deploys
- Argo CD apps → Confluent services: deploys
- Argo CD apps → Flink operator: deploys
- Argo CD apps → Flink application: deploys
- Argo CD apps → Metrics collection: deploys
- Claims processor → Raw claims topic: reads (evidence: `flink-jobs/claims-processor/src/main/java/com/statefarm/flink/ClaimsProcessorJob.java`)
- Claims processor → Processed claims topic: writes (evidence: `flink-jobs/claims-processor/src/main/java/com/statefarm/flink/ClaimsProcessorJob.java`)
- Claims processor → Flink application: configured by
- Flink deployment → Flink application: runs
- Metrics collection → Grafana dashboards: visualizes
- Local overlay → Confluent services: customizes
- Production overlay → Confluent services: customizes
