Skip to content

Commit c5af1f4

Browse files
authored
Merge pull request #98 from oslabs-beta/dev
Dev
2 parents 1ebd064 + 6b18181 commit c5af1f4

File tree

10 files changed

+240
-46
lines changed

10 files changed

+240
-46
lines changed

.github/workflows/release.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Create Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
create-release:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
with:
16+
fetch-depth: 0
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: '18'
22+
cache: 'npm'
23+
24+
- name: Install dependencies
25+
run: |
26+
npm ci
27+
cd client && npm ci
28+
cd ../server && npm ci
29+
30+
- name: Build project
31+
run: |
32+
cd client && npm run build
33+
cd ../server && npm run build
34+
35+
- name: Extract version from tag
36+
id: version
37+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
38+
39+
- name: Extract changelog for version
40+
id: changelog
41+
run: |
42+
# Extract changelog section for this version
43+
awk -v version="[${{ steps.version.outputs.VERSION }}]" '
44+
$0 ~ "^## \\[" version {flag=1; next}
45+
/^## \[/ && flag {flag=0}
46+
flag {print}
47+
' CHANGELOG.md > release-notes.md
48+
49+
# Check if release notes were extracted
50+
if [ ! -s release-notes.md ]; then
51+
echo "Release notes for version ${{ steps.version.outputs.VERSION }} not found in CHANGELOG.md"
52+
echo "Please update CHANGELOG.md with the new version before creating a release." > release-notes.md
53+
fi
54+
55+
- name: Create Release
56+
uses: actions/create-release@v1
57+
env:
58+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59+
with:
60+
tag_name: ${{ github.ref }}
61+
release_name: Coffybara v${{ steps.version.outputs.VERSION }}
62+
body_path: release-notes.md
63+
draft: false
64+
prerelease: ${{ !startsWith(steps.version.outputs.VERSION, '1.') }}
65+
66+
- name: Archive client build
67+
run: cd client && tar -czf ../coffybara-client-${{ steps.version.outputs.VERSION }}.tar.gz dist/
68+
69+
- name: Upload Client Build Artifacts
70+
uses: actions/upload-release-asset@v1
71+
env:
72+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
73+
with:
74+
upload_url: ${{ steps.create_release.outputs.upload_url }}
75+
asset_path: ./coffybara-client-${{ steps.version.outputs.VERSION }}.tar.gz
76+
asset_name: coffybara-client-${{ steps.version.outputs.VERSION }}.tar.gz
77+
asset_content_type: application/gzip
78+
79+
deploy:
80+
needs: create-release
81+
runs-on: ubuntu-latest
82+
if: startsWith(github.ref, 'refs/tags/v')
83+
84+
steps:
85+
- name: Checkout code
86+
uses: actions/checkout@v4
87+
88+
- name: Deploy to Production
89+
run: |
90+
echo "🚀 Deploying Coffybara v${GITHUB_REF#refs/tags/v} to production"
91+
# Add your Cloud Run deployment commands here
92+
# gcloud run deploy coffybara --source . --region us-central1

CHANGELOG.md

Lines changed: 93 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,99 @@
11
# Changelog
22

3-
All notable changes to this project will be documented in this file.
3+
All notable changes to Coffybara will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
47

58
## [Unreleased]
69

7-
<!-- ## [0.1.0] - YYYY-MM-DD
10+
### Planned
11+
12+
- Expand AI capabilities with refined token management and advanced prompt engineering
13+
- Enable multi-cluster monitoring and integration with AWS EKS
14+
- Introduce additional notification options/connections for significant Kubernetes cluster events
15+
- Improve historical data storage for enhanced analysis and reporting
16+
- Add advanced metrics visualization and personalized recommendation algorithms
17+
- Enhanced mobile responsiveness improvements
18+
- **Target: v1.0.0 Release** - Production-ready stable release
19+
20+
## [0.9.0] - 2025-06-15
21+
22+
### Added
23+
24+
- **Real-time WebSocket Dashboard**: Complete React dashboard with real-time notifications via Socket.IO
25+
- **AI-Powered Event Analysis**: Gemini AI integration for anomaly detection and actionable insights
26+
- **Slack Integration**: Automated Slack notifications for critical Kubernetes events
27+
- **Historical Data Analysis**: Pinecone vector database integration for semantic event analysis
28+
- **User Authentication**: OAuth 2.0 authentication system using Clerk
29+
- **Responsive UI**: Mobile-first design with Tailwind CSS and ShadCN components
30+
- **Event Deduplication**: Redis-based rate limiting and event deduplication system
31+
- **Google Cloud Integration**: Complete GCP stack with Secret Manager, Pub/Sub, and Cloud Run
32+
- **Cluster Monitoring**: Multi-cluster support with GKE integration
33+
- **Dark/Light Theme**: Dynamic theme switching with system preference detection
34+
35+
### Technical Features
36+
37+
- **Backend**: Node.js/Express server with TypeScript
38+
- **Frontend**: React 18 + Vite + TypeScript with modern component architecture
39+
- **Infrastructure**: Kubernetes-native with GKE deployment
40+
- **AI/ML**: Gemini API integration for intelligent event analysis
41+
- **Real-time**: Socket.IO for live dashboard updates
42+
- **Security**: Google Secret Manager for credential management
43+
- **CI/CD**: GitHub Actions automation for deployment pipelines
44+
45+
### Infrastructure
46+
47+
- **Kubernetes Events Streaming**: Realtime event capture from GKE clusters
48+
- **Event Processing Pipeline**: Pub/Sub → Cloud Run → Redis → Dashboard workflow
49+
- **Rate Limiting**: Intelligent event throttling to prevent notification spam
50+
- **Vector Search**: Semantic similarity matching for historical event context
51+
52+
## [0.7.0] - 2025-05-10
53+
54+
### Added
55+
56+
- **Core Kubernetes Integration**: Kubernetes client libraries for event monitoring
57+
- **Google Cloud Setup**: Initial GCP infrastructure configuration
58+
- **Basic Event Streaming**: Fundamental Pub/Sub integration for event handling
59+
- **Development Environment**: Project structure and development tooling setup
60+
- **Team Collaboration**: GitHub workflow and branch protection rules
61+
62+
### Infrastructure
63+
64+
- **Container Orchestration**: GKE cluster provisioning and configuration
65+
- **Cloud Services**: Basic Google Cloud services integration
66+
- **Development Pipeline**: Initial CI/CD setup with GitHub Actions
67+
68+
## [0.5.0] - 2025-03-29
69+
870
### Added
9-
- Initial release -->
71+
72+
- **Project Initialization**: Initial project structure and repository setup
73+
- **Technology Stack Selection**: Finalized tech stack and architecture decisions
74+
- **Development Environment**: Basic development setup with React + Vite + TypeScript
75+
- **Team Setup**: Established team roles and collaboration workflows
76+
77+
### Documentation
78+
79+
- **Project README**: Initial documentation and project overview
80+
- **Team Workflow**: Jira integration and development processes
81+
- **Architecture Planning**: System design and technical architecture documentation
82+
83+
---
84+
85+
## Version History Summary
86+
87+
- **v0.9.0**: Production-ready MVP with full AI integration and real-time dashboard
88+
- **v0.7.0**: Core Kubernetes monitoring with cloud infrastructure
89+
- **v0.5.0**: Project foundation and team setup
90+
91+
## Contributors
92+
93+
- **Wenjun Song** - Backend development and Kubernetes integration
94+
- **Steven Yeung** - Infrastructure setup and deployment automation
95+
- **Amit Haror** - Backend API integration, real-time WebSocket implementation, and frontend architecture
96+
97+
---
98+
99+
_For more details about specific changes, please refer to our [GitHub releases](https://github.com/oslabs-beta/coffybara/releases) and commit history._

CONTRIBUTING.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ We're thrilled that you're interested in contributing to Coffybara! This documen
44

55
## 🎯 Ways to Contribute
66

7-
- 🐞 **Bug Reports**: Found a bug? Let us know!
8-
- **Feature Requests**: Have an idea? We'd love to hear it!
9-
- 📝 **Documentation**: Help improve our docs
10-
- 🔧 **Code Contributions**: Submit bug fixes or new features
11-
- 🧪 **Testing**: Help us test new features and find edge cases
12-
- 🎨 **Design**: Improve UI/UX and visual design
7+
🐞 **Bug Reports**: Found a bug? Let us know!
8+
**Feature Requests**: Have an idea? We'd love to hear it!
9+
📝 **Documentation**: Help improve our docs
10+
🔧 **Code Contributions**: Submit bug fixes or new features
11+
🧪 **Testing**: Help us test new features and find edge cases
12+
🎨 **Design**: Improve UI/UX and visual design
1313

1414
## 🚀 Getting Started
1515

0 commit comments

Comments
 (0)