Commit Graph

41 Commits (fix-admin-user-readme)

Author SHA1 Message Date
Enver Biševac 6d0db9512e feat: instrumentation, intitial work (#2475)
* requested changes
* requested changes
* feat: instrumentation, intitial work
2024-08-18 22:04:34 +00:00
Marko Gaćeša d089d04025 add space descendants data layer fn (#2511)
* add space descendants data layer fn
2024-08-14 16:49:30 +00:00
Marko Gaćeša 5427130a42 pull request import (#2121)
* bypass lint
* bump golang version
* using types from migrator
* moving Importing to the RepositoryOutput
* minor changes; improved unit tests
* pr comments
* pr import
* pull request import
2024-07-06 00:46:36 +00:00
Johannes Batzill 2970d52cb3 Hide ssh url field if empty (#2103) 2024-06-12 23:31:59 +00:00
Enver Biševac 2f8900e463 [code-1946] initial work on ssh server (#2075) 2024-06-03 12:47:31 +00:00
Darko Draskovic adf041d747 Add repo summary endpoint (#2037) 2024-05-23 18:45:28 +00:00
Atefeh Mohseni Ejiyeh c365ef246a Support Public Access (#2021) 2024-05-23 04:56:26 +00:00
Johannes Batzill 86537b2c39 Fix merge related issues (#2012) 2024-04-25 22:00:53 +00:00
Enver Bisevac 84cc846445 exclude version from audit log (#1192) 2024-04-09 20:30:04 +00:00
Enver Bisevac 227aac90b5 [code-1524] audit trails package (#1176) 2024-04-08 21:13:57 +00:00
Atefeh Mohseni-Ejiyeh aa330928dd Restore the space to its exact state at the time of deletion (#1180) 2024-04-08 18:19:07 +00:00
Atefeh Mohseni-Ejiyeh b64f4c41fa Update default branch on empty repo for first commit (#1122) 2024-04-04 01:16:43 +00:00
Atefeh Mohseni-Ejiyeh 24fbf49168 repo soft delete improvements (#1045) 2024-02-22 05:25:29 +00:00
Darko Draskovic c949308596 List all Repos at Account level or Space Level recursively (#999) 2024-02-21 16:59:44 +00:00
Atefeh Mohseni-Ejiyeh fc9e77c91c Support soft delete, restore and purge repos plus a cleanup job for old deleted repos (#1005) 2024-02-14 01:39:39 +00:00
Johannes Batzill adf2046a94 [MISC] Move `UID` to `Identifier` to match Harness Standards (#992) 2024-01-29 23:29:53 +00:00
Darko Draskovic c58e82672b Add func to git service to count repo objects and read repo size (#886) 2023-12-29 12:33:53 +00:00
Johannes Batzill a83cd21c17 [OPEN-SOURCE] Prepare Repository (#605) 2023-09-24 07:33:16 +00:00
Johannes Batzill 6c42b77500 [SSE] Add full stack SSE support for PRs (#591) 2023-09-21 02:55:41 +00:00
Johannes Batzill 0a9dde7459 [Refactor] Move from `paths` to `space_paths` Table (#500) 2023-09-15 15:19:53 +00:00
Marko Gaćeša 035815539d resolve issues with repo import 2023-09-13 14:23:00 +02:00
Marko Gaćeša 239ae8f10f add repo import api 2023-09-08 11:55:38 +02:00
Marko Gaćeša 4f1767d512 dedicated api to get the last commit info 2023-08-10 18:42:10 +02:00
Marko Gaćeša 4277c4c66b Simplify handling of PR events (#253) 2023-01-27 16:27:03 -08:00
Marko Gaćeša fe3d6d5990 Added num_merged_pulls (#240) 2023-01-25 11:21:19 +01:00
Enver Bisevac 6a7cc4e518 [scm-63] fix for empty commits and diff in PR (#228) 2023-01-20 02:27:51 +01:00
Johannes Batzill 335998505e [MISC] Introduce PathStore and Move PathLogic to Controller Layer (#226)
This change is a follow up on the effort to remove transactions and sync stores from the database layer, and move them in the application layer. It is addressing the repo + space store.
The following changes are included:
- Introduce PathStore storing resource paths (repo + space)
- Add foreign key from path.repo_id/space_id to repo.id/space.id
- Add foreign key from repo/space.parent_id to space.id
- Remove repo_sync and space_sync
- Move path creation logic to repo/space controller (for both creating primary paths for new repos/spaces, as well as creating alias spaces)
- Reimplement repo/space moving on controller layer
2023-01-18 11:34:12 -08:00
Marko Gaćeša 98ac3d130d techdebt: [SCM-43]: Using opt lock to generate PR number (#151) 2023-01-04 12:24:17 +01:00
Marko Gaćeša a79e187a88 DB & API refactor: Use snake case (#144)
Update DB and API to follow Harness Standard
2022-12-29 13:53:08 -08:00
Johannes Batzill ff2f949e78 add GITURL to repo apis list and create (#64)
- rename repo.url to repo.GitURL to avoid ambiguity
- add support to create / list api
- add default value (http://localhost:3000)
- remove handler backfilling host / port to simplify flow (can be added if needed)
2022-11-08 19:35:49 -08:00
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
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
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 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 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 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 f03528e862 [MAINT] initial config for ci linter (#17)
* initial config for ci linter

* more linter work

* linter errors fix

* linter errors fix

* linter conf minor changes
2022-09-19 18:13:18 +02:00
Johannes Batzill b7b9f53b0d Improve error handling to match go standards - don't wrap and rethrow, but log and return. Also adds some more validations for path creation and resource moving. Add accesslogging for git and api router (#14)
This commit contains the following:
- Improve and simplify error handling (remove unnecessary wrappers, make it feel like go)
- Add extra validation for path creation and resource moving (path has to be within same top space, no top space alias allowed)
- Add access logging for rest api and git api
2022-09-09 22:08:46 -07:00
Johannes Batzill 1115a5083b Add `Paths` support and error improvements (#11)
This change is adding the concept of Paths.
A repository and space always have a Primary Path which always is represents the ancestry to the root space.
All access history / resource visibility / child listings / UI traversal / etc. is done via that path.

Additionally, repos and spaces can have Alias Paths, which as the name states are aliases. via the primary path.
They sole impact is that a space or repo can be reached via different paths from the UI / rest apis / git apis.
This fulfills two major purposes:
- Customers can rename or move projects and spaces without breaking any existing references from CI pipeliens / code bases / local repos / ...
- Customer can create shorter aliases for important repos when in harness embeded mode! (acc/org/proj/repo can be shortened to acc/repo, or acc/repo'

Apart from the path changes, this PR adds:

Improved User facing errors
Improved internal error handling and wrapping
update / rename operation for repo and space
path list / delete / create operation for repo and space
2022-09-08 21:39:15 -07:00
Johannes Batzill d7f0ae4b2c Add base structure for rest api, git api, web api. Add base authn and authz, as well as spaces and repository apis 2022-09-05 13:47:00 -07:00