-
Notifications
You must be signed in to change notification settings - Fork 9
SAAS #55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
SAAS #55
Conversation
- Updated CI/CD Discord notification workflow and bot pipeline for improved automation - Modified issue templates for bug and feature requests to reflect new process - Removed deprecated automation scripts and documentation files - Enhanced environment example and configuration for Discord bot deployment - Refined GitHub and Discord bot authentication modules - Updated README and architecture documentation for clarity - Improved GitHub service, notification, and role modules for maintainability
- Add comprehensive debug logging to identify import issues - Explicitly add parent directory to Python path - Show available functions in shared.firestore module - Fix PYTHONPATH to include both repo root and discord_bot 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Show all servers found in Firestore - Display server data and available keys - Track GitHub organization extraction process - Identify missing data or configuration issues 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add detailed debug logging to /complete_setup endpoint - Log all form data and Firestore operations - Add Firestore client debug with error tracing - Track configuration save process end-to-end 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Use DEV_GOOGLE_CREDENTIALS_JSON for non-main branches - Use GOOGLE_CREDENTIALS_JSON for main branch - Update both discord_bot_pipeline.yml and pr-automation.yml - Ensures proper data separation between dev and prod 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
chores: document DISCORD_BOT_CLIENT_ID setup
chores: document DISCORD_BOT_CLIENT_ID setup
fix & readme adjustments for secrets and pipeline stability
docs: align role update instructions with pipeline workflow
feat: SaaS (Multi-tenant GitHub App flow + org-scoped user stats)
| embed.set_footer(text=f"Last updated: {last_updated or 'Unknown'}") | ||
| return embed | ||
|
|
||
| async def _trigger_data_pipeline(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need to trigger data pipeline for new users. Is there a way we can restore this logic?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
coz otherwise, the new user wont get their stats in time
|
|
||
|
|
||
| class GitHubAppService: | ||
| """GitHub App authentication helpers (JWT + installation access tokens).""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Im just curious, pretty sure before, we r using the GCP url for github auth. How come we need a new python file for this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this one is for github app, so to access the repository data, this is used when /setup and data pipeline, to basically fetch data per organization, since we dont use github oauth / PATs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okok, did u remove the old github oauth code?
|
|
||
| ### Step 5b: Create GitHub App (GITHUB_APP_ID / PRIVATE_KEY / SLUG) | ||
|
|
||
| **What this configures:** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as before, not sure why we need a new github app when the old github oauth work
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
its better to use github app
if im using the oauth of the creator of the organization ( example: PBP25-D10 which is me), then the oauth token would need to be in DB, to keep accessing repos. Usually needs repo scope, so owner may feel not safe.
as for github app, the function githubappservice uses short lived token and is autogenerated with app_id and private_key. So Creates JWT then exchanges it for short lived token
shared/firestore.py
Outdated
| if collection == 'servers': | ||
| return mt_client.set_server_config(document_id, data) | ||
|
|
||
| # Fallback to old behavior |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If u have time, could u ctrl F "fallback" and remove all of the fallback? I dont like fallbacks - prefer to keep code clean / fail as intended.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no problem
discord_bot/scripts/setup_wizard.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
u wanted to remove this file right? i saw u editing it 2 hr ago - r u sure we dont need this anymore? wut does it do btw
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yupp, basically when we dont have .env, it asked the value in terminal, then making a .env and appending the value there
chore: update readme
refactor: remove Firestore fallbacks and legacy collection routing
No description provided.