Skip to content

Commit 0831186

Browse files
committed
docs: README/docs audit, gh-pages source, fix links and metrics
- README/README.ru: Discussions→Issues, support email, factual metrics - docs: faq, getting-started, contributing, performance wording - gh-pages: new folder for GitHub Pages, workflow deploys from it - SDK kotlin-enhanced: commonMain/jvmMain/iosMain layout - Remove openapi.ru.yaml links (use openapi.yaml)
1 parent e141664 commit 0831186

50 files changed

Lines changed: 1016 additions & 1436 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/pages.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
branches:
66
- main
77
paths:
8-
- 'docs/**'
8+
- 'gh-pages/**'
99
- '.github/workflows/pages.yml'
1010
workflow_dispatch:
1111

@@ -34,7 +34,7 @@ jobs:
3434
- name: Upload artifact
3535
uses: actions/upload-pages-artifact@v3
3636
with:
37-
path: './docs'
37+
path: './gh-pages'
3838

3939
- name: Deploy to GitHub Pages
4040
id: deployment

.github/workflows/release.yml

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,59 @@ jobs:
101101
run: |
102102
./gradlew build --no-daemon -x test
103103
./gradlew :backend:distZip --no-daemon
104-
./gradlew :backend:jar :ktor-flagent:jar :kotlin-client:jar :kotlin-client:sourcesJar :kotlin-client:javadocJar --no-daemon
104+
./gradlew :backend:jar :ktor-flagent:jar :kotlin-client:jar :kotlin-client:sourcesJar :kotlin-client:javadocJar :kotlin-enhanced:jar :kotlin-debug-ui:jar :java-client:jar :java-client:sourcesJar :java-client:javadocJar :flagent-spring-boot-starter:jar :flagent-spring-boot-starter:sourcesJar --no-daemon
105+
106+
- name: Set up Node.js
107+
uses: actions/setup-node@v4
108+
with:
109+
node-version: '20'
110+
111+
- name: Set version for JS SDKs
112+
id: js_version
113+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> "$GITHUB_OUTPUT"
114+
115+
- name: Build and pack JavaScript SDKs
116+
run: |
117+
VERSION="${{ steps.js_version.outputs.VERSION }}"
118+
for dir in sdk/javascript sdk/javascript-enhanced sdk/javascript-debug-ui; do
119+
(cd "$dir" && sed -i "s/\"version\": \"[^\"]*\"/\"version\": \"$VERSION\"/" package.json && npm install && npm run build && npm pack)
120+
done
121+
122+
- name: Pack Go SDKs
123+
run: |
124+
VERSION="${GITHUB_REF#refs/tags/v}"
125+
tar czvf flagent-go-sdk-$VERSION.tar.gz -C sdk go
126+
tar czvf flagent-go-enhanced-sdk-$VERSION.tar.gz -C sdk go-enhanced
127+
128+
- name: Set up Python
129+
uses: actions/setup-python@v5
130+
with:
131+
python-version: '3.11'
132+
133+
- name: Build and pack Python SDK
134+
run: |
135+
VERSION="${GITHUB_REF#refs/tags/v}"
136+
cd sdk/python
137+
sed -i "s/version=\"[^\"]*\"/version=\"$VERSION\"/" setup.py
138+
sed -i "s/__version__ = \"[^\"]*\"/__version__ = \"$VERSION\"/" src/flagent/__init__.py 2>/dev/null || true
139+
pip install build
140+
python -m build --sdist --wheel
141+
mv dist/*.tar.gz dist/*.whl ../..
142+
cd ../..
143+
144+
- name: Pack Swift SDKs
145+
run: |
146+
VERSION="${GITHUB_REF#refs/tags/v}"
147+
tar czvf flagent-swift-sdk-$VERSION.tar.gz -C sdk swift
148+
tar czvf flagent-swift-enhanced-sdk-$VERSION.tar.gz -C sdk swift-enhanced
149+
tar czvf flagent-swift-debug-ui-sdk-$VERSION.tar.gz -C sdk swift-debug-ui
105150
106151
- name: Publish to GitHub Packages
107152
env:
108153
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
109154
run: |
110155
VERSION="${GITHUB_REF#refs/tags/v}"
111-
./gradlew :shared:publish :ktor-flagent:publish :kotlin-client:publish :kotlin-enhanced:publish :kotlin-debug-ui:publish --no-daemon -Pversion="$VERSION"
156+
./gradlew :shared:publish :ktor-flagent:publish :kotlin-client:publish :kotlin-enhanced:publish :kotlin-debug-ui:publish :java-client:publish :flagent-spring-boot-starter:publish --no-daemon -Pversion="$VERSION"
112157
113158
- name: Extract version from tag
114159
id: tag
@@ -126,5 +171,19 @@ jobs:
126171
backend/build/libs/*.jar
127172
ktor-flagent/build/libs/*.jar
128173
sdk/kotlin/build/libs/*.jar
174+
sdk/kotlin-enhanced/build/libs/*.jar
175+
sdk/kotlin-debug-ui/build/libs/*.jar
176+
sdk/java/build/libs/*.jar
177+
sdk/spring-boot-starter/build/libs/*.jar
178+
sdk/javascript/*.tgz
179+
sdk/javascript-enhanced/*.tgz
180+
sdk/javascript-debug-ui/*.tgz
181+
flagent-go-sdk-*.tar.gz
182+
flagent-go-enhanced-sdk-*.tar.gz
183+
flagent-python-client-*.tar.gz
184+
flagent_python_client-*.whl
185+
flagent-swift-sdk-*.tar.gz
186+
flagent-swift-enhanced-sdk-*.tar.gz
187+
flagent-swift-debug-ui-sdk-*.tar.gz
129188
env:
130189
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
<p>
3838
<a href="#-quick-start">Quick Start</a> •
39-
<a href="https://maxluxs.github.io/Flagent">Documentation</a> •
39+
<a href="https://maxluxs.github.io/Flagent/getting-started.md">Documentation</a> •
4040
<a href="#-key-features">Features</a> •
4141
<a href="#-sdks">SDKs</a> •
4242
<a href="#-use-cases">Use Cases</a> •
@@ -63,8 +63,8 @@
6363
- **A/B Insights** - Automated experiment analysis
6464

6565
### Enterprise-Ready
66-
- **Production-Proven** - 70+ test files, comprehensive coverage
67-
- **High Performance** - Sub-millisecond evaluation, 10k+ req/s
66+
- **Extensive test coverage** - 200+ test files
67+
- **High Performance** - Low latency, high throughput (see backend PerformanceTest: >100 req/s)
6868
- **Multi-Tenancy** - Isolated environments for teams (Roadmap)
6969
- **Real-Time Updates** - SSE in Kotlin Enhanced, Go Enhanced
7070

@@ -93,8 +93,8 @@ open http://localhost:18000
9393
-**Advanced Targeting** - Segment users by attributes, percentages, or complex constraint rules
9494
-**Multi-Environment** - Separate configurations for dev, staging, and production
9595
-**Data Recorders** - Kafka, Kinesis, PubSub integration for analytics
96-
-**High Performance** - Sub-millisecond evaluation with EvalCache and TTL
97-
-**Client-Side Evaluation** - Offline-first local evaluation (< 1ms) in Kotlin Enhanced, Go Enhanced
96+
-**High Performance** - Low-latency evaluation with EvalCache and TTL
97+
-**Client-Side Evaluation** - Offline-first local evaluation in Kotlin Enhanced, Go Enhanced
9898
-**Real-Time Updates** - SSE for instant flag changes in Kotlin Enhanced, Go Enhanced
9999
-**Multiple Databases** - PostgreSQL, MySQL, SQLite support
100100
-**Docker Ready** - Production-ready Docker images with Compose
@@ -112,10 +112,10 @@ open http://localhost:18000
112112

113113
## 📖 Documentation
114114

115-
- 📖 **[Full Documentation](https://maxluxs.github.io/Flagent)** - Complete guides, API reference, and examples
116-
- 📖 **[Getting Started Guide](README.md#-quick-start)** - Quick start and setup instructions
117-
- 📖 **[API Documentation](https://maxluxs.github.io/Flagent/api/openapi.yaml)** - OpenAPI specification
118-
- 📖 **[Architecture Documentation](https://maxluxs.github.io/Flagent/#/architecture/backend)** - System architecture and design
115+
- 📖 **[Getting Started](https://maxluxs.github.io/Flagent/getting-started.md)** - Quick start and setup
116+
- 📖 **[API Reference](https://maxluxs.github.io/Flagent)** - API docs and OpenAPI
117+
- 📖 **[OpenAPI spec](https://maxluxs.github.io/Flagent/api/openapi.yaml)** - OpenAPI specification
118+
- 📖 **[Architecture](https://maxluxs.github.io/Flagent/architecture/backend.md)** - System design
119119

120120
## 🏗️ Project Structure
121121

@@ -134,7 +134,7 @@ flagent/
134134

135135
### Requirements
136136
- JDK 21+
137-
- Gradle 9.0
137+
- Gradle 8.13 (wrapper)
138138

139139
### Build
140140
```bash
@@ -213,7 +213,7 @@ Published artifacts: `shared` (KMP: root + `shared-jvm`, `shared-js`), `ktor-fla
213213

214214
- **Ktor Plugin** - [ktor-flagent](ktor-flagent) - First-class Ktor integration with middleware support
215215

216-
See [SDK Documentation](https://maxluxs.github.io/Flagent) for detailed usage guides.
216+
See [Getting Started](https://maxluxs.github.io/Flagent/getting-started.md) and [API Reference](https://maxluxs.github.io/Flagent) for usage guides.
217217

218218
## 🛠️ Technology Stack
219219

@@ -250,7 +250,7 @@ cd Flagent
250250
./gradlew :backend:run
251251
```
252252

253-
See [Deployment Guide](https://maxluxs.github.io/Flagent/#/deployment) for production setup.
253+
See [Deployment Guide](https://maxluxs.github.io/Flagent/deployment.md) for production setup.
254254

255255
## 🤝 Contributing
256256

@@ -260,7 +260,7 @@ We welcome contributions from the community! Flagent is built with love by devel
260260

261261
1. **Fork the repository**
262262
2. **Create your feature branch** (`git checkout -b feature/amazing-feature`)
263-
3. **Make your changes** - Follow our [code style guidelines](https://maxluxs.github.io/Flagent/#/contributing)
263+
3. **Make your changes** - Follow our [code style guidelines](https://maxluxs.github.io/Flagent/contributing.md)
264264
4. **Add tests** - Ensure your changes are well-tested
265265
5. **Commit your changes** (`git commit -m 'Add some amazing feature'`)
266266
6. **Push to the branch** (`git push origin feature/amazing-feature`)
@@ -276,7 +276,7 @@ We welcome contributions from the community! Flagent is built with love by devel
276276
-**Performance** - Optimize evaluation speed
277277
- 🧪 **Tests** - Increase test coverage
278278

279-
For more details, see our [Contributing Guide](https://maxluxs.github.io/Flagent/#/contributing) and [Development Setup](README.md#development).
279+
For more details, see our [Contributing Guide](https://maxluxs.github.io/Flagent/contributing.md) and [Development Setup](README.md#development).
280280

281281
## 📄 License
282282

@@ -341,9 +341,8 @@ Join our growing community of developers building better feature flag systems!
341341

342342
### Get Help
343343

344-
- 💬 **[GitHub Discussions](https://github.com/MaxLuxs/Flagent/discussions)** - Ask questions, share ideas, and connect with other users
345-
- 🐛 **[GitHub Issues](https://github.com/MaxLuxs/Flagent/issues)** - Report bugs or request new features
346-
- 📚 **[Documentation](https://maxluxs.github.io/Flagent)** - Comprehensive guides, API reference, and tutorials
344+
- 🐛 **[GitHub Issues](https://github.com/MaxLuxs/Flagent/issues)** - Ask questions, report bugs, or request features
345+
- 📚 **[Documentation](https://maxluxs.github.io/Flagent/getting-started.md)** - Guides and API reference
347346
- 💻 **[Code Examples](samples)** - Real-world examples in Kotlin, Python, JavaScript, Swift, and Go
348347
- 🎯 **[Roadmap](docs/roadmap.md)** - Our journey to becoming the best open-source feature flag platform
349348

@@ -362,7 +361,7 @@ Need help deploying Flagent in production? Want custom features or SLA guarantee
362361
- 🔒 **Priority Support** - Faster response times and dedicated Slack channel
363362
- 🚀 **Managed Hosting** (Coming Soon) - Fully managed SaaS solution
364363

365-
Contact us at: **support@flagent.io** (Coming Soon)
364+
Contact: **max.developer.luxs@gmail.com**
366365

367366
## 🎯 Use Cases
368367

@@ -377,11 +376,11 @@ Contact us at: **support@flagent.io** (Coming Soon)
377376

378377
## 📊 Performance & Scalability
379378

380-
- **Sub-millisecond latency** - Typical evaluation time under 1ms
381-
- **10,000+ evaluations/second** per instance
379+
- **Low latency** - Typical evaluation under 10ms (see backend PerformanceTest)
380+
- **High throughput** - 100+ req/s per instance (see backend PerformanceTest)
382381
- **Horizontal scaling** - Stateless architecture supports multiple instances
383-
- **Low memory footprint** - ~200MB base memory usage
384-
- **EvalCache with TTL** - Intelligent caching reduces database load by 90%
382+
- **Modest memory** - Approximately 200MB typical base usage
383+
- **EvalCache with TTL** - Caching significantly reduces database load
385384
- **Deterministic bucketing** - Consistent user assignments using MurmurHash3
386385

387386
## 👥 Who's Using Flagent?
@@ -392,14 +391,15 @@ Flagent is trusted by teams building high-performance Kotlin applications:
392391
- 🔬 **Research Projects** - Used in academic and research environments
393392
- 🏢 **Internal Tools** - Powering feature flags for internal applications
394393

395-
*Are you using Flagent in production? [Let us know!](https://github.com/MaxLuxs/Flagent/discussions/new?category=show-and-tell)*
394+
*Are you using Flagent in production? [Let us know](https://github.com/MaxLuxs/Flagent/issues) or email max.developer.luxs@gmail.com.*
396395

397396
## 🔗 Links
398397

399-
- 📖 **[Documentation](https://maxluxs.github.io/Flagent)**
400-
- 🐳 **[Docker Hub](https://github.com/MaxLuxs/Flagent/pkgs/container/flagent)**
398+
- 📖 **[Documentation](https://maxluxs.github.io/Flagent/getting-started.md)**
399+
- 📖 **[API Reference](https://maxluxs.github.io/Flagent)**
400+
- 🐳 **[Container image (GHCR)](https://github.com/MaxLuxs/Flagent/pkgs/container/flagent)**
401401
- 📦 **[Releases](https://github.com/MaxLuxs/Flagent/releases)**
402-
- 💬 **[Discussions](https://github.com/MaxLuxs/Flagent/discussions)**
402+
- 🐛 **[Issues](https://github.com/MaxLuxs/Flagent/issues)**
403403

404404
---
405405

README.ru.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
- **A/B Insights** - Автоматический анализ экспериментов
3838

3939
### Enterprise-Ready
40-
- **Production-Proven** - 70+ тестовых файлов, комплексное покрытие
41-
- **Высокая производительность** - Sub-millisecond evaluation, 10k+ req/s
40+
- **Расширенное тестовое покрытие** - 200+ тестовых файлов
41+
- **Высокая производительность** - Низкая задержка, высокая пропускная способность (см. backend PerformanceTest: >100 req/s)
4242
- **Multi-Tenancy** - Изолированные окружения для команд (в планах)
4343
- **Real-Time обновления** - SSE в Kotlin Enhanced, Go Enhanced
4444

@@ -67,7 +67,7 @@ open http://localhost:18000
6767
-**Продвинутый таргетинг** - Сегментация пользователей по атрибутам, процентам или сложным правилам ограничений
6868
-**Multi-Environment** - Отдельные конфигурации для dev, staging и production
6969
-**Data Recorders** - Интеграция с Kafka, Kinesis, PubSub для аналитики
70-
-**Высокая производительность** - Sub-millisecond evaluation с EvalCache и TTL
70+
-**Высокая производительность** - Низкая задержка evaluation с EvalCache и TTL
7171
-**Несколько БД** - Поддержка PostgreSQL, MySQL, SQLite
7272
-**Docker Ready** - Production-ready Docker образы с Compose
7373
-**Официальные SDK** - Kotlin, JavaScript/TypeScript, Swift, Python, Go с Enhanced вариантами
@@ -86,13 +86,13 @@ open http://localhost:18000
8686

8787
## 📖 Документация
8888

89-
- 📖 **[Полная документация](https://maxluxs.github.io/Flagent)** - Полные руководства, справочник API и примеры
90-
- 📖 **[Руководство по началу работы](https://maxluxs.github.io/Flagent/#/getting-started_ru)** - Быстрый старт и инструкции по настройке
91-
- 📖 **[Документация API](https://maxluxs.github.io/Flagent/api/openapi.yaml)** - OpenAPI спецификация
92-
- 📖 **[Документация архитектуры](https://maxluxs.github.io/Flagent/#/architecture/backend)** - Системная архитектура и дизайн
93-
- 📖 **[Конфигурация](https://maxluxs.github.io/Flagent/#/configuration_ru)** - Настройка переменных окружения
94-
- 📖 **[Развертывание](https://maxluxs.github.io/Flagent/#/deployment_ru)** - Руководство по production развертыванию
95-
- 📖 **[Сценарии использования](https://maxluxs.github.io/Flagent/#/use-cases_ru)** - Примеры из реального мира
89+
- 📖 **[Начало работы](https://maxluxs.github.io/Flagent/getting-started.ru.md)** - Быстрый старт и настройка
90+
- 📖 **[API Reference](https://maxluxs.github.io/Flagent)** - Документация API
91+
- 📖 **[OpenAPI спецификация](https://maxluxs.github.io/Flagent/api/openapi.yaml)** - OpenAPI YAML
92+
- 📖 **[Архитектура](https://maxluxs.github.io/Flagent/architecture/backend.md)** - Дизайн системы
93+
- 📖 **[Конфигурация](https://maxluxs.github.io/Flagent/configuration.ru.md)** - Переменные окружения
94+
- 📖 **[Развертывание](https://maxluxs.github.io/Flagent/deployment.ru.md)** - Production развертывание
95+
- 📖 **[Сценарии использования](https://maxluxs.github.io/Flagent/use-cases.ru.md)** - Примеры
9696

9797
## 🏗️ Структура проекта
9898

@@ -144,7 +144,7 @@ cd Flagent
144144
./gradlew :backend:run
145145
```
146146

147-
См. [Руководство по развертыванию](https://maxluxs.github.io/Flagent/#/deployment_ru) для production настройки.
147+
См. [Руководство по развертыванию](https://maxluxs.github.io/Flagent/deployment.ru.md) для production настройки.
148148

149149
## 🎯 SDK и интеграции
150150

@@ -309,10 +309,10 @@ Flagent полностью локализован для СНГ рынка:
309309

310310
## 💬 Сообщество и поддержка
311311

312-
- 💬 **[GitHub Discussions](https://github.com/MaxLuxs/Flagent/discussions)** - Задавайте вопросы и делитесь идеями
313-
- 🐛 **[GitHub Issues](https://github.com/MaxLuxs/Flagent/issues)** - Сообщайте о багах или запрашивайте функции
314-
- 📚 **[Документация](https://maxluxs.github.io/Flagent)** - Полные руководства и справочник API
312+
- 🐛 **[GitHub Issues](https://github.com/MaxLuxs/Flagent/issues)** - Вопросы, баги, запросы функций
313+
- 📚 **[Документация](https://maxluxs.github.io/Flagent/getting-started.ru.md)** - Руководства и API
315314
- 💻 **[Примеры](samples)** - Примеры кода и туториалы
315+
- 📧 **Поддержка:** max.developer.luxs@gmail.com
316316

317317
## ⭐ Звезды
318318

backend/docs/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1316,7 +1316,7 @@
13161316
}
13171317
},
13181318
"example" : {
1319-
"version" : "1.0.0",
1319+
"version" : "0.1.0",
13201320
"buildTime" : "2024-01-01T00:00:00Z",
13211321
"gitCommit" : "abc123"
13221322
}
@@ -1718,7 +1718,7 @@ <h1>Flagent API</h1>
17181718
<div id="header">
17191719
<div id="api-_">
17201720
<h2 id="welcome-to-apidoc">API and SDK Documentation</h2>
1721-
<div class="app-desc">Version: 1.0.0</div>
1721+
<div class="app-desc">Version: 0.1.0</div>
17221722
<hr>
17231723
<div><p>Flagent is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is &quot;/api/v1&quot;.</p>
17241724
<h2>Authentication</h2>

build.gradle.kts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ allprojects {
2424
google()
2525
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
2626
}
27+
28+
// Replace org.lz4:lz4-java with at.yawk.lz4 fork to fix CVE-2025-12183, CVE-2025-66566 (transitive from kafka-clients)
29+
configurations.all {
30+
resolutionStrategy {
31+
dependencySubstitution {
32+
substitute(module("org.lz4:lz4-java")).using(module("at.yawk.lz4:lz4-java:1.10.2"))
33+
}
34+
}
35+
}
2736
}
2837

2938
subprojects {

docs/contributing.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ There are many ways to contribute to Flagent:
1818
### Prerequisites
1919

2020
- **JDK 21+** for backend development
21-
- **Gradle 9.0+** for building
21+
- **Gradle 8.13** (wrapper) for building
2222
- **Docker** for running services
2323
- **Git** for version control
2424

@@ -266,9 +266,9 @@ Create an issue on [GitHub](https://github.com/MaxLuxs/Flagent/issues) with the
266266

267267
## Questions?
268268

269-
- [GitHub Discussions](https://github.com/MaxLuxs/Flagent/discussions) - Ask questions
270-
- [GitHub Issues](https://github.com/MaxLuxs/Flagent/issues) - Report bugs or request features
269+
- [GitHub Issues](https://github.com/MaxLuxs/Flagent/issues) - Ask questions, report bugs, or request features
271270
- [Documentation](getting-started.md) - Read the documentation
271+
- **Contact** - max.developer.luxs@gmail.com
272272

273273
## Recognition
274274

0 commit comments

Comments
 (0)