Commit Graph

300 Commits

Author SHA1 Message Date
Enver Bisevac
98436fb644 clone url implemented (#63)
Clone URL (http) used for clone/pull/push git operations
2022-11-08 18:32:01 -08:00
Tan Nhu
a418e5e94f Add some debugging info for PR deployment (#62)
* Add some debugging info for PR deployment

* Add some debugging info for PR deployment
2022-11-08 17:07:49 -08:00
Tan Nhu
93dbc6005f Correct API URL path + minor code editor change (#61)
* autoFocus editor

* Correct API URL path
2022-11-08 16:37:13 -08:00
Enver Bisevac
df76498bf5 Merge branch 'main' of github.com:harness/gitness 2022-11-09 00:11:57 +01:00
Enver Bisevac
e24c2192eb repo path fixed on gitrpc server 2022-11-09 00:10:55 +01:00
Tan Nhu
073154eebb Update clone URL + minor code refactoring (#60)
* FileEditor improvements

* Update clone URL + minor code refactoring
2022-11-08 14:34:43 -08:00
Johannes Batzill
8fe80ab811 Remove Identifier from UI - Replace with original Name (#59)
* remove identifier from UI and replace it with original 'Name'
* extend uid to length 100
* allow repo name of length 1
2022-11-07 14:37:50 -08:00
Tan Nhu
c7f852cbf4 Flow for edit file (#58) 2022-11-07 11:35:48 -08:00
Johannes Batzill
3ba0f75c8d Introduce UIDs for Space / Repo / Tokens, Add Custom Harness Validation, ... (#57)
This change adds the following:
- Space UID + Custom harness validation (accountId for top level space, harness identifier for child spaces)
- Repo UID + Custom harness validation (harness identifier)
- Store Unique casing of space / repo path and add Path.ValueUnique (with Unique index) to allow for application layer controlling the case sensitivity (case insensitive standalone vs partially case sensitive harness)
- Token UID (unique index over ownertype + ownerID + tokenUID)
- Add DisplayName for principals (replaces Name to avoid confustion)
- Store Unique casing of principal UID and add Principal.ValueUnique (with unique index) to allow for application layer, per principal type control of case sensitivity (required in embedded mode)
- Generate serviceAccount UID (+Email) Randomly (sa-{space|repo}-{ID}-{random}) - Allows to have a unique UID across all principals while reducing likelyhood of overlaps with users + avoid overlap across spaces / repos.
- Sync casing of space names (accountId orgId projectId) when creating spaces on the fly (to ensure case sensitivity of - harness code) or use the existing space to update casing.
- Update serviceaccount client to match updated NG Manager API
- in embedded mode create spaces for harness resources owning the service account
2022-11-06 23:14:47 -08:00
Tan Nhu
2fe8669119 Add clone tooltip (#56) 2022-11-06 12:39:14 -08:00
Enver Bisevac
20860ef399 [maint] app refactor, use proper package names (#53)
* app refactor, use proper package names

* minor changes

* use fat client interface, minor change on session

* initialize session and http client
2022-11-04 08:25:13 +01:00
Tan Nhu
0d5771d706 Implement Branches page (#55) 2022-11-04 00:22:21 -07:00
Tan Nhu
23e597758a Refactor: abstract parameters into hooks + add placeholders for branches and settings (#54) 2022-11-03 15:48:55 -07:00
Enver Bisevac
c607fd7b57 readme updated 2022-11-03 13:45:08 +01:00
Enver Bisevac
008e21009e ci-lint pipeline fix go version 1.17 -> 1.19 2022-11-03 13:30:41 +01:00
Enver Bisevac
578dd13d8d [maint] eb/gitrpc refactor (#51)
* pull/push impl done

* Basic auth for harness

* gitrpc as top level package

* New ctor for package

* gitrpcserver instead of server2
2022-11-03 13:17:03 +01:00
Tan Nhu
0bdae50be2 API integration for Commits page (#52) 2022-11-01 20:38:42 -07:00
Enver Bisevac
fb0e93394d [feat] pull/push over https - done (#47)
* pull/push impl done

* Basic auth for harness
2022-11-01 19:02:29 +01:00
Tan Nhu
3f7fc109d0 Branch search and styles (#50)
* Add LatestCommit component

* Add branches search

* Proper link for root
2022-11-01 00:53:46 -07:00
Johannes Batzill
2d4db78991 Add Tag Listing API (#49)
This change is adding the List Tags API. To do so, a few changes were necessary:
- Refactor List Branches on giteaAdapter / repo_service
- Expose WalkReferences via giteaAdapter
2022-10-28 13:10:26 -07:00
Tan Nhu
c21b860e46 Refactor: Use types from SCM Service (#48) 2022-10-27 00:57:20 -07:00
Tan Nhu
c8b978a6ed API integrations + simplify design (#46) 2022-10-25 03:25:46 -07:00
Johannes Batzill
2d897c4486 [MAINT] Add PAT CLI command and update readme (#45)
Add PAT CLI command and update readme
2022-10-24 22:50:33 -07:00
Johannes Batzill
c0258b34ef Add search capability to repo and space listing (for child spaces) (#44)
This change is adding search capability to the following apis:
- child repositories
- child spaces
*NOTE* The search space is limited to direct child repos/spaces.
2022-10-24 18:57:55 -07:00
Johannes Batzill
5337c46a4f Add Query and Sorting Capability to ListBranches API (#42)
This change adds the following to the list branches api:
- 'query' parameter for querying branches using arbitrary substrings
- 'sort' parameter for sorting the branches (name and date supported)
- 'direction' parameter for specifing the direction of the sorted output
2022-10-21 20:45:26 -07:00
Johannes Batzill
f655c2fae3 Add Standalone API to Harness Router (#40)
To simplify UI code we are going to expose both Harness API and Standalone API (restricted to harness embedded functionalities) when running in harness mode.

Furthermore, this PR adds a middleware that allows us to reuse standalone Handlers for Harness API for operations that don't require any request/response manipulation.
2022-10-19 18:35:40 -07:00
Johannes Batzill
743aee6029 [API] Add List Branches, Improve latestCommit Performance for listing directory (#38)
This commit has the following changes:
- API for listing branches
- Improve performance of content API for dir type responses with includeCommit=true
- swagger for git operations
- fix file names from camelCase to kebab_case
2022-10-17 23:05:50 -07:00
Johannes Batzill
e423ffda3c Fix Default Branch Creation (#37)
While the HEAD is pointed to the correct branch (might not exist), we created the initial files during repo creation still on the master branch (as it's an empty repo and clone by default sets up master when cloning an empty repo)
2022-10-17 19:09:46 -07:00
Enver Bisevac
41cbb6622f server urls added, resource moved to the root path (#35) 2022-10-18 02:24:20 +02:00
Johannes Batzill
7317ec9d62 Remove types dependency from gitrpc package, add back commits/content api (#36) 2022-10-17 17:12:52 -07:00
Johannes Batzill
0a7857f660 Fix License header to 2022 (#34) 2022-10-17 15:33:49 -07:00
Enver Bisevac
2b69b3d24a [MAINT] added repos endpoints to swagger (#33)
* added repos endpoints

* todo comments removed in create repo method
2022-10-18 00:10:36 +02:00
Johannes Batzill
91a75ed601 Add GetContent and ListCommits APIs, Fix DefaultBranch support (#32)
Adds the following:
- Add GetContent API (with gitrpc, proto, gitadapter changes)
- Add ListCommits API (with gitrpc, proto, gitadapter changes)
- DefaultBranch (to repo table in DB, update branch in git-repo, have default value in config)
2022-10-17 00:14:31 -07:00
Enver Bisevac
00647d7d1b [MAINT] golangci-lint config changed (#31)
* goheader linter added

* file header consistency
2022-10-13 14:39:15 +02:00
Johannes Batzill
ecb6276fa8 Add EOF to RPC File Chunk & Cleanups (#29)
Adds an EOF flag to data chunks to avoid using []byte("EOF") as end (due to potential false positives).
Furthermore, a few cleanups are done:
- Add TODOs for initial git changes
- Add missing file headers
- Fix typo for license (was licence)
- Fix make wire target
2022-10-12 10:21:53 -07:00
Tan Nhu
6cadb048ba Initial skeleton for Repository Resource View flow (#30)
* API integration for Repos listing page

* Add custom branch when creating a repo

* Skeleton for Repository Resource View flow
2022-10-11 23:54:10 -07:00
Enver Bisevac
1cf07b6417 initial work on create repository (#27)
* initial work on create repository

* create repository as single method call using client stream

* resources handler and files

* minor fix for wire dep graph
2022-10-11 17:48:04 +02:00
Johannes Batzill
5786ad2409 [Embedded] Harness Router, Inline Space Creation, Bootstrap, Harness/Admin User Setup (#28)
Adds the basic for harness embedded mode:
- Harness dedicated router with custom APIHandler
- Inline Space Creation
- Client for Account/Org/Project
- Bootstrap (Allows for automated creation of admin user and gitness service (used for all platform required ops))
- Inline harness service principal creation
- Ignore flag for ACL.
2022-10-10 21:32:14 -07:00
Johannes Batzill
c07dc4c779 Remove translator (#26)
Simplify the router code by removing the translator. Now that we have Api/Git/WebHandler interfaces, they can be wrapped in handlers to do any custom request translation.
2022-10-04 10:16:26 -07:00
Johannes Batzill
fad6e18898 Introduce Controller for Repo, Space, User, and ServiceAccount (#25)
Preparing the support for harness specific API router + http handler, which allows us to have complete control over the rest api naming and functionality, without having to do complex path rewrites or request / reponse rewrites inline.
2022-10-03 18:56:49 -07:00
Tan Nhu
e4cf2e7279 Update README.md 2022-10-03 12:17:43 -07:00
Tan Nhu
788ee30ba3 Add prototyping for Repos page (#24) 2022-10-03 12:06:27 -07:00
Johannes Batzill
4d3db64397 add specific handlers for api/git/web to allow replacement for harness (#23)
Abstracting the api/git/web routers will allow us to replace API routing (and potentially web?), while keeping the rest the same.
2022-09-30 17:05:39 -07:00
Johannes Batzill
4668e94027 [Harness] Adding JWT/PAT/SAT Support, Harness Clients, Inline User/ServiceAccount Creation, harness Build flag, ... (#22)
This change adds the initial stepping stones for harness integration:
- Authentication: JWT/PAT/SAT support
- Authorization: ACL integration (acl currently denies requests as gitness hasn't been integrated yet)
- Remote Clients for Token, User, ServiceAccount, ACL
- User Integration: Syncs harness users during authentication if unknown
- SA integration: syncs harness service accounts during authentication if unknown
- Initial harness API: THIS WILL BE CHANGED IN THE FUTURE!
- single harness subpackage (all marked with harness build flag)
- harness & standalone wire + make build commands
2022-09-30 16:22:12 -07:00
Johannes Batzill
5baf42d5ca Add context to pingDatabase and change logging behavior (#21)
Add cancelable context to our server CLI and adds canceling and improved logging to PingDatabase
2022-09-27 09:45:52 -07:00
Johannes Batzill
d0cba5509e Fix pingDatabase routine to complete on successful ping (#20) 2022-09-26 10:58:04 -07:00
Johannes Batzill
8c2f900c80 Principals, ServiceAccounts, Tokens and auth.Sessions (#15)
This change introduces the concept of a principal (abstraction of call identity), and adds a new service account type principal. Also adds support for different tokens (session, PAT, SAT, OAuth2) and adds auth.Session which is being used to capture information about the caller and call method.
2022-09-25 23:44:51 -07:00
Enver Bisevac
f3ef0f64fc gh token secret for ci pipeline 2022-09-22 19:44:43 +02:00
Enver Bisevac
78d5794221 makefile build rule modified, ioutil deprecated removed 2022-09-22 16:27:46 +02:00
Enver Bisevac
66f2dadb7a [MAINT] fixing linter errors (#19)
* fix linter errors

* fix exhaust linter error

* fix exhaust linter error

* fix linter errors

* golangci-lint timeout increased

* golangci-lint verbose flag
2022-09-22 16:08:41 +02:00