Commit graph

27 commits

Author SHA1 Message Date
Brendan Kellam
4c52059ecc
Declarative connection configuration (#235) 2025-03-21 12:27:33 -07:00
Brendan Kellam
50b94b2c46
Connections UX pass + query optimizations (#212) 2025-02-26 15:46:37 -08:00
Michael Sukkarieh
3f586dd927
make repo garbage collection async (#211)
* add gc queue logic

* fix missing switch cases for gc status

* style org create form better with new staging domain

* change repo rm logic to be async

* simplify repo for inactive org query

* add grace period for garbage collecting repos

* make prom scrape interval 500ms
2025-02-25 15:49:09 -08:00
Brendan Kellam
70e309b310
Redeem UX pass (#204) 2025-02-21 10:42:53 -08:00
Brendan Kellam
fee0767981
Refined onboarding flow (#202) 2025-02-21 10:32:10 -08:00
msukkari
62e64c1c25 add orgid unique constraint to repo 2025-02-19 18:54:04 -08:00
Michael Sukkarieh
fdd71cfcfe
add better visualization for connection/repo errors and warnings (#201)
* replace upsert with seperate create many and raw update many calls

* add bulk repo status update and queue addition with priority

* add support for managed redis

* add note for changing raw sql on schema change

* add error package and use BackendException in connection manager

* handle connection failure display on web app

* add warning banner for not found orgs/repos/users

* add failure handling for gerrit

* add gitea notfound warning support

* add warning icon in connections list

* style nits

* add failed repo vis in connections list

* added retry failed repo index buttons

* move nav indicators to client with polling

* fix indicator flash issue and truncate large list results

* display error nav better

* truncate failed repo list in connection list item

* fix merge error

* fix merge bug

* add connection util file [wip]

* refactor notfound fetch logic and add missing error package to dockerfile

* move repeated logic to function and add zod schema for syncStatusMetadata
2025-02-19 18:10:22 -08:00
Michael Sukkarieh
3be3680ee2
cleanup org's repos and shards if it's inactive (#194)
* add stripe subscription status and webhook

* add inactive org repo cleanup logic

* mark reactivated org connections for sync
2025-02-15 09:58:17 -08:00
Brendan Kellam
86a80a4f73
Credentials provider (#192)
* email password functionality

* feedback
2025-02-14 21:00:45 -08:00
msukkari
53dac384af merge domain changes 2025-02-12 14:55:35 -08:00
bkellam
8d2c731b88 Domain support 2025-02-12 13:45:12 -08:00
msukkari
0a79f7ca80 wip add paywall 2025-02-12 13:03:31 -08:00
msukkari
e7f8f51c05 save stripe session id and add manage subscription button in settings 2025-02-11 19:06:40 -08:00
msukkari
33ae585327 add stripe subscription id to org 2025-02-11 18:40:42 -08:00
msukkari
9665f149cd wip onboarding flow 2025-02-11 17:27:02 -08:00
Michael Sukkarieh
90550181af
add invite system and google oauth provider (#185)
* add settings page with members list

* add invite to schema and basic create form

* add invite table

* add basic invite link copy button

* add auth invite accept case

* add non auth logic

* add google oauth provider
2025-02-10 14:31:38 -08:00
Brendan Kellam
846d73b0e6
Connection management (#183) 2025-02-04 15:04:05 -05:00
Michael Sukkarieh
31114a9d95
add concept of secrets (#180)
* add @sourcebot/schemas package

* migrate things to use the schemas package

* Dockerfile support

* add secret table to schema

* Add concept of connection manager

* Rename Config->Connection

* Handle job failures

* Add join table between repo and connection

* nits

* create first version of crypto package

* add crypto package as deps to others

* forgot to add package changes

* add server action for adding and listing secrets, create test page for it

* add secrets page to nav menu

* add secret to config and support fetching it in backend

* reset secret form on successful submission

* add toast feedback for secrets form

* add instructions for adding encryption key to dev instructions

* add encryption key support in docker file

* add delete secret button

* fix nits from pr review

---------

Co-authored-by: bkellam <bshizzle1234@gmail.com>
2025-01-27 14:07:07 -08:00
Brendan Kellam
dd8ff6edb0
Connection management (#178) 2025-01-24 13:16:08 -08:00
Michael Sukkarieh
a5006c52fe
Migrate to postgres (#174)
* spin up postgres in docker container

* get initial pol of postgres db working in docker image

* spin up postgres server in dev case

* updated syncedAt date after config sync:

* remove unnecessary port expose in docker file
2025-01-23 10:23:46 -08:00
Brendan Kellam
9c120c6b0a
Organization switching & active org management (#173) 2025-01-21 14:50:16 -08:00
Michael Sukkarieh
7c6adf17aa
Multi tenancy support in config syncer (#171)
* [wip] initial mt support in config syncer

* Move logout button & profile picture into settings dropdown (#172)

* update sync status properly and fix bug with multiple config in db case

* make config path required in single tenant mode

NOTE: deleting config/repos is currently not supported in multi tenancy case. Support for this will be added in a future PR

---------

Co-authored-by: Brendan Kellam <bshizzle1234@gmail.com>
2025-01-21 11:50:35 -08:00
Brendan Kellam
5d253ffa12
Add Org table (#167) 2025-01-16 16:18:16 -08:00
Brendan Kellam
6cf10b4988
Authentication (#164) 2025-01-16 15:24:13 -08:00
Michael Sukkarieh
7029aa70c1
parallelize repo indexing (#163)
* hacked together a example of using zoekt grpc api

* provide tenant id to zoekt git indexer

* update zoekt version to point to multitenant branch

* pipe tenant id through header to zoekt

* remove incorrect submodule reference and settings typo

* update zoekt commit

* remove unused yarn script

* remove unused grpc client in web server

* remove unneeded deps and improve tenant id log

* pass tenant id when creating repo in db

* add mt yarn script

* add pol of bullmq into backend

* add better error handling and concurrency setting

* spin up redis instance in dockerfile

* cleanup transaction logic when adding repos to index queue

* add NEW index status fetch condition

* move bullmq deps to backend

---------

Co-authored-by: bkellam <bshizzle1234@gmail.com>
2025-01-15 15:44:42 -08:00
Michael Sukkarieh
553f5d25f7
Add tenant ID concept into web app and backend (#160)
* hacked together a example of using zoekt grpc api

* provide tenant id to zoekt git indexer

* update zoekt version to point to multitenant branch

* pipe tenant id through header to zoekt

* remove incorrect submodule reference and settings typo

* update zoekt commit

* remove unused yarn script

* remove unused grpc client in web server

* remove unneeded deps and improve tenant id log

* pass tenant id when creating repo in db

* add mt yarn script

* add nocheckin comment to tenant id in v2 schema

---------

Co-authored-by: bkellam <bshizzle1234@gmail.com>
2025-01-14 16:46:36 -08:00
Brendan Kellam
15b9e777e4
SQL Database (#157) 2025-01-14 13:37:31 -08:00