Skip to content

Commit 5bbf9b2

Browse files
committed
chore: update version to 1.0.1 and fix documentation links
- Updated version from 1.0.0 to 1.0.1 in build files - Fixed all broken links in README files - Generated SDK documentation for JavaScript, Swift, and Kotlin - Fixed SDK generation scripts to use correct project root path - Updated .gitignore to include SDK documentation - Added SDK documentation to repository for better discoverability - Fixed broken ModelError.md link in JavaScript SDK README
1 parent fc1e828 commit 5bbf9b2

116 files changed

Lines changed: 2061 additions & 2513 deletions

File tree

Some content is hidden

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

.github/workflows/cd_docker.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ jobs:
2020
else
2121
echo "RELEASE_VERSION=${{ github.event.release.tag_name }}" >> "$GITHUB_ENV"
2222
fi
23+
echo "REPO_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_ENV"
2324
2425
- name: Set up QEMU
2526
uses: docker/setup-qemu-action@v3
@@ -42,7 +43,7 @@ jobs:
4243
platforms: linux/amd64,linux/arm64
4344
push: true
4445
tags: |
45-
ghcr.io/${{ github.repository }}:latest
46-
ghcr.io/${{ github.repository }}:${{ env.RELEASE_VERSION }}
46+
ghcr.io/${{ env.REPO_NAME }}:latest
47+
ghcr.io/${{ env.REPO_NAME }}:${{ env.RELEASE_VERSION }}
4748
cache-from: type=gha
4849
cache-to: type=gha,mode=max

.gitignore

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,12 @@ inspiration/
265265
# Cursor IDE files (completely ignore Cursor directory)
266266
.cursor/
267267

268-
# Documentation (completely ignore docs directory)
269-
docs/
268+
# Documentation (ignore main docs directory, but keep SDK docs)
269+
/docs/
270+
# Keep SDK documentation (generated by OpenAPI Generator)
271+
!sdk/javascript/docs/
272+
!sdk/swift/docs/
273+
!sdk/kotlin/docs/
270274

271275
# Old documentation files (outdated)
272276
DOCUMENTATION_RU.md

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.0.1] - 2024-01-17
11+
12+
### Fixed
13+
- Fixed all broken links in README files
14+
- Generated SDK documentation (JavaScript, Swift, Kotlin)
15+
- Fixed SDK generation scripts to use correct project root path
16+
- Updated .gitignore to include SDK documentation
17+
18+
### Changed
19+
- SDK documentation is now included in repository for better discoverability
20+
21+
## [1.0.0] - 2024-XX-XX
22+
1023
### Added
1124
- Professional CI/CD infrastructure with GitHub Actions
1225
- Docker multi-stage build support
@@ -40,5 +53,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4053
- OpenAPI/Swagger documentation
4154
- Kotlin and JavaScript SDKs
4255

43-
[Unreleased]: https://github.com/MaxLuxs/Flagent/compare/v1.0.0...HEAD
56+
[Unreleased]: https://github.com/MaxLuxs/Flagent/compare/v1.0.1...HEAD
57+
[1.0.1]: https://github.com/MaxLuxs/Flagent/compare/v1.0.0...v1.0.1
4458
[1.0.0]: https://github.com/MaxLuxs/Flagent/releases/tag/v1.0.0

README.md

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,46 @@ curl --request POST \
7474

7575
Flagent maintains high performance with Kotlin Coroutines for asynchronous evaluation. The evaluation engine is designed for scalability and low latency.
7676

77+
## Performance Metrics
78+
79+
Flagent automatically collects performance metrics using Micrometer and Prometheus. Metrics are collected for all HTTP requests without any additional code.
80+
81+
### Automatic HTTP Metrics
82+
83+
The following metrics are automatically collected by the MicrometerMetrics plugin:
84+
85+
- **`http.server.requests`** - Total count of HTTP requests with tags: `method`, `uri`, `status`
86+
- **`http.server.requests.duration`** - Request duration histogram with tags: `method`, `uri`, `status`
87+
- **JVM metrics** - Memory usage, thread counts, garbage collection
88+
89+
### Enabling Metrics
90+
91+
To enable Prometheus metrics endpoint, set the environment variable:
92+
93+
```bash
94+
export FLAGENT_PROMETHEUS_ENABLED=true
95+
export FLAGENT_PROMETHEUS_PATH=/metrics # optional, defaults to /metrics
96+
```
97+
98+
After starting the server, metrics are available at:
99+
100+
```bash
101+
curl http://localhost:18000/metrics
102+
```
103+
104+
### StatsD Metrics
105+
106+
StatsD metrics can also be enabled for integration with Datadog, Graphite, etc.:
107+
108+
```bash
109+
export FLAGENT_STATSD_ENABLED=true
110+
export FLAGENT_STATSD_HOST=127.0.0.1
111+
export FLAGENT_STATSD_PORT=8125
112+
export FLAGENT_STATSD_PREFIX=flagent.
113+
```
114+
115+
See [AppConfig.kt](./flagent/backend/src/main/kotlin/flagent/config/AppConfig.kt) for all metrics configuration options.
116+
77117
## Flagent UI
78118

79119
The UI is built with Compose for Web and provides a modern, intuitive interface for managing feature flags and experiments.
@@ -107,9 +147,9 @@ Flagent provides official SDK clients:
107147

108148
| Language | SDK | Status |
109149
| ---------- | --- | ------ |
110-
| Kotlin | [Flagent Kotlin SDK](./flagent/sdk/kotlin/) | ✅ Available |
111-
| JavaScript/TypeScript | [Flagent JavaScript SDK](./flagent/sdk/javascript/) | ✅ Available |
112-
| Swift | [Flagent Swift SDK](./flagent/sdk/swift/) | ✅ Available |
150+
| Kotlin | [Flagent Kotlin SDK](./sdk/kotlin/) | ✅ Available |
151+
| JavaScript/TypeScript | [Flagent JavaScript SDK](./sdk/javascript/) | ✅ Available |
152+
| Swift | [Flagent Swift SDK](./sdk/swift/) | ✅ Available |
113153

114154
## Development
115155

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77

88
allprojects {
99
group = "com.flagent"
10-
version = "1.0.0"
10+
version = "1.0.1"
1111

1212
repositories {
1313
mavenCentral()

samples/README.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Flagent Samples
2+
3+
Эта папка содержит примеры использования Flagent SDK и плагинов для различных платформ и языков программирования.
4+
5+
## Доступные примеры
6+
7+
### Android Sample (`android/`)
8+
9+
Пример Android приложения, демонстрирующий использование Flagent Kotlin SDK для Android.
10+
11+
**Особенности:**
12+
- Single flag evaluation
13+
- Batch evaluation
14+
- Enhanced SDK с кэшированием
15+
- Debug UI
16+
17+
**Запуск:**
18+
```bash
19+
cd samples/android
20+
./gradlew build
21+
```
22+
23+
### JavaScript Sample (`javascript/`)
24+
25+
Веб-приложение с HTML/JavaScript, демонстрирующее использование Flagent API.
26+
27+
**Особенности:**
28+
- Single flag evaluation
29+
- Batch evaluation
30+
- Entity context support
31+
- Debug mode
32+
33+
**Запуск:**
34+
```bash
35+
# Откройте index.html в браузере
36+
open samples/javascript/index.html
37+
```
38+
39+
### Kotlin Sample (`kotlin/`)
40+
41+
Консольное Kotlin/JVM приложение, демонстрирующее использование Flagent Kotlin SDK.
42+
43+
**Особенности:**
44+
- Single flag evaluation
45+
- Batch evaluation
46+
- Flag ID evaluation
47+
- Basic и Enhanced SDK
48+
49+
**Запуск:**
50+
```bash
51+
cd samples/kotlin
52+
./gradlew run
53+
```
54+
55+
### Swift Sample (`swift/`)
56+
57+
Консольное Swift приложение, демонстрирующее использование Flagent Swift SDK.
58+
59+
**Особенности:**
60+
- Single flag evaluation
61+
- Batch evaluation
62+
- Flag ID evaluation
63+
- Basic и Enhanced SDK
64+
65+
**Запуск:**
66+
```bash
67+
cd samples/swift
68+
swift build
69+
swift run
70+
```
71+
72+
### Ktor Plugin Sample (`ktor/`)
73+
74+
Пример Ktor приложения, демонстрирующий использование Flagent Ktor плагина.
75+
76+
**Особенности:**
77+
- Flagent plugin integration
78+
- Custom endpoints с evaluation
79+
- Batch evaluation
80+
- Cache usage
81+
- Plugin endpoints
82+
83+
**Запуск:**
84+
```bash
85+
cd samples/ktor
86+
./gradlew run
87+
```
88+
89+
## Общие требования
90+
91+
Перед запуском любого примера убедитесь, что Flagent backend сервер запущен:
92+
93+
```bash
94+
cd flagent/backend
95+
./gradlew run
96+
```
97+
98+
Сервер запустится на `http://localhost:18000` по умолчанию.
99+
100+
## Структура
101+
102+
```
103+
samples/
104+
├── android/ # Android sample application
105+
├── javascript/ # JavaScript/HTML sample
106+
├── kotlin/ # Kotlin/JVM sample
107+
├── swift/ # Swift sample
108+
├── ktor/ # Ktor plugin sample
109+
└── README.md # Этот файл
110+
```
111+
112+
## Лицензия
113+
114+
Apache 2.0 - См. лицензию родительского проекта
File renamed without changes.

0 commit comments

Comments
 (0)