This repository was archived by the owner on May 5, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfix_docs.ps1
More file actions
126 lines (91 loc) · 4.39 KB
/
Copy pathfix_docs.ps1
File metadata and controls
126 lines (91 loc) · 4.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# This script creates your README and CHANGELOG without using complex terminal commands
$readmePath = "$pwd\README.md"
$changelogPath = "$pwd\CHANGELOG.md"
$readmeContent = @"
# StreamKernel
[](https://www.linkedin.com/in/steve-lopez-b9941/)
---


[](LICENSE)

**StreamKernel** is a high-performance, enterprise-grade event orchestration engine designed to bridge the gap between low-latency data movement and intelligent data enrichment.
Created and maintained by **Steven Lopez**, this framework utilizes **Java 21 Virtual Threads** and **ZGC** to serve as a lightweight, modular "kernel" for streaming data.
---
## 🚀 Key Features
### Core Architecture
* **Multi-Module Design**: Clean separation between \`core\`, \`spi\`, and \`plugins\`.
* **Virtual Thread Orchestrator**: Handles thousands of concurrent pipelines with minimal footprint.
* **Ring Buffer Source**: Capable of generating **>13 Million EPS** (events/sec) with zero steady-state garbage collection.
### Enterprise Reliability
* **Security First**: First-class support for **OPA (Open Policy Agent)** sidecars with fail-closed logic and caching.
* **Resilience**: Configurable **Dead Letter Queues (DLQ)** and safe shutdown mechanisms.
---
## 🏗 Architecture
StreamKernel follows a "Kernel + Plugin" architecture. The Kernel manages the thread lifecycle, while Plugins handle the I/O.
\`\`\`mermaid
graph TD
subgraph SK["StreamKernel (Host JVM)"]
SRC["Source Plugin"]
ORCH["Pipeline Orchestrator"]
AUTH["OPA Authorizer"]
BP["Backpressure / Ring Buffer"]
SINK["Sink Plugin"]
end
SRC --> ORCH
ORCH --> AUTH
AUTH -->|allow| BP --> SINK
AUTH --> OPA["OPA Server"]
SINK --> KAFKA["Kafka Broker"]
\`\`\`
## 📂 Project Structure
| Module | Description |
| :--- | :--- |
| \`streamkernel-spi\` | **Service Provider Interfaces**. The strict contract for plugins. |
| \`streamkernel-core\` | **The Engine**. Handles lifecycle, configuration, and orchestration. |
| \`streamkernel-plugins\` | **Extensions**. Contains synthetic sources, Kafka sinks, etc. |
| \`streamkernel-app\` | **Bootstrap**. The executable entry point for the application. |
---
## ⚡ Quick Start
### 1. Infrastructure Setup
\`\`\`bash
docker compose up -d
\`\`\`
### 2. OPA Sidecar (Manual Setup)
Run OPA in a separate window to watch authorization logs:
\`\`\`bash
docker run -p 8181:8181 openpolicyagent/opa run --server --log-level debug
\`\`\`
### 3. Build and Run
\`\`\`bash
./gradlew clean build -x test
./gradlew :streamkernel-app:run "-Dsk.config.path=config/profiles/01_synthetic-bench.properties"
\`\`\`
---
## 📜 License
StreamKernel is licensed under the **Apache License 2.0**.
Copyright © 2026 **IntuitiveDesigns**.
"@
$changelogContent = @"
# Changelog
All notable changes to the **StreamKernel** project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.1.0] - 2026-01-03
### 🚀 Major Architecture Overhaul
This release marks the transition from a monolithic prototype to an Enterprise Multi-Module Architecture under **Apache License 2.0**.
### Added
- **Multi-Module Structure**: Separation of \`spi\`, \`core\`, \`plugins\`, and \`app\`.
- **High-Performance Source**: \`source-synthetic\` plugin with Lock-Free Ring Buffer (>13M EPS).
- **Enterprise Security**: \`security-opa\` plugin with Fail-Closed logic and caching.
- **Configuration**: Profile-based configuration via \`SK_CONFIG_PATH\`.
### Changed
- **License**: Switched from MIT to **Apache License 2.0**.
- **Identity**: Repository ownership transferred to **IntuitiveDesigns**.
## [0.0.1] - 2025-10-15
### Added
- Initial proof-of-concept prototype.
"@
Set-Content -Path $readmePath -Value $readmeContent -Encoding UTF8
Set-Content -Path $changelogPath -Value $changelogContent -Encoding UTF8
Write-Host "Done! README.md and CHANGELOG.md have been fixed." -ForegroundColor Green