Skip to content

Commit 4ed4f18

Browse files
committed
docs: standardize doc filenames, fix broken links, add architecture link to README
1 parent 8bd81b8 commit 4ed4f18

5 files changed

Lines changed: 30 additions & 28 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ customize for your environment, see the [project's documentation](https://git-pr
9393
- [Configuration](https://git-proxy.finos.org/docs/category/configuration)
9494
- [Contributing](https://git-proxy.finos.org/docs/development/contributing)
9595
- [Testing](https://git-proxy.finos.org/docs/development/testing)
96+
- [Architecture](https://git-proxy.finos.org/docs/category/architecture/)
97+
- [Upgrading to v2](https://git-proxy.finos.org/docs/upgrading-to-v2)
9698

9799
## Contributing
98100

website/docs/architecture/Architecture.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ GitProxy has several main components:
1010

1111
- HTTP Proxy Express app (`/src/proxy`): The actual proxy server for Git. Git operations performed by users are intercepted here, processed by various Express middleware (such as URL rewriting) and applies the relevant **chain** of actions to the payload. Customized functionality in the form of **plugins** are inserted and added to this chain as well.
1212
- Chain: A set of **processors** that are applied to an action (i.e. a `git push` operation) before requesting review from a user with permission to approve pushes
13-
- Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](./Processors.md) for more details.`
13+
- Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](./processors.md) for more details.`
1414
- Plugin: A custom processor that can be added externally to extend GitProxy's default policies. See the [plugin guide](https://git-proxy.finos.org/docs/development/plugins) for more details.
1515
- Backend-for-frontend (BFF) Service API, Express app (`/src/service`): Handles UI requests, user authentication to GitProxy (not to Git), database operations and some of the logic for rejection/approval. Runs by default on port `8080`, and can be configured with the `GIT_PROXY_UI_HOST` and `GIT_PROXY_UI_PORT` environment variables.
1616
- Passport: The [library](https://www.passportjs.org/) used to authenticate to the GitProxy API (not the proxy itself - this depends on the Git `user.email`). Supports multiple authentication methods by default ([Local](#local), [AD](#activedirectory), [OIDC](#openid-connect)).
@@ -53,9 +53,9 @@ Don't forget to save and update the attached .drawio (XML)! -->
5353
Three types of policies can be applied to incoming pushes:
5454

5555
- Default policies: These are already present in the GitProxy pull/push chain and require modifying source code to change their behaviour.
56-
- For example, [`checkUserPushPermission`](./Processors.md#checkuserpushpermission) which simply checks if the pusher's email exists in the GitProxy database, and if their user is marked in the "Contributors" list (`canPush`) for the repository they're trying to push to.
56+
- For example, [`checkUserPushPermission`](./processors.md#checkuserpushpermission) which simply checks if the pusher's email exists in the GitProxy database, and if their user is marked in the "Contributors" list (`canPush`) for the repository they're trying to push to.
5757
- Configurable policies: These are policies that can be easily configured through the GitProxy config (`proxy.config.json` or a custom file).
58-
- For example, [`checkCommitMessages`](./Processors.md#checkcommitmessages) which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it.
58+
- For example, [`checkCommitMessages`](./processors.md#checkcommitmessages) which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it.
5959
- Custom policies:
6060
- Plugins: Push/pull plugins provide more flexibility for implementing an organization's rules. For more information, see the [guide on writing your own plugins](https://git-proxy.finos.org/docs/development/plugins).
6161
- Processors: Custom logic may require specific data within a push that isn't available at the end of the chain (where plugins are executed). In this case, the appropriate solution is to write a processor and add it to the correct place in the chain.
@@ -64,7 +64,7 @@ Three types of policies can be applied to incoming pushes:
6464

6565
### Pre-processors
6666

67-
Pre-processors run before executing the chain. Currently, only executes [`parseAction`](./Processors.md#parseaction), which is in charge of classifying requests as push/pull/default and creating the `Action` object used by the chain.
67+
Pre-processors run before executing the chain. Currently, only executes [`parseAction`](./processors.md#parseaction), which is in charge of classifying requests as push/pull/default and creating the `Action` object used by the chain.
6868

6969
### Action Chains
7070

@@ -74,45 +74,45 @@ Action chains are a list of processors that a Git operation goes through before
7474

7575
Executed when a user makes a `git push` to GitProxy. These are the actions in `pushActionChain`, by order of execution:
7676

77-
- [`parsePush`](./Processors.md#parsepush)
78-
- [`checkEmptyBranch`](./Processors.md#checkemptybranch)
79-
- [`checkRepoInAuthorisedList`](./Processors.md#checkrepoinauthorisedlist)
80-
- [`checkCommitMessages`](./Processors.md#checkcommitmessages)
81-
- [`checkAuthorEmails`](./Processors.md#checkauthoremails)
82-
- [`checkUserPushPermission`](./Processors.md#checkuserpushpermission)
83-
- [`pullRemote`](./Processors.md#pullremote)
84-
- [`writePack`](./Processors.md#writepack)
85-
- [`checkHiddenCommits`](./Processors.md#checkhiddencommits)
86-
- [`checkIfWaitingAuth`](./Processors.md#checkifwaitingauth)
87-
- [`preReceive`](./Processors.md#prereceive)
88-
- [`getDiff`](./Processors.md#getdiff)
89-
- [`gitleaks`](./Processors.md#gitleaks)
90-
- [`scanDiff`](./Processors.md#scandiff)
91-
- [`blockForAuth`](./Processors.md#blockforauth)
77+
- [`parsePush`](./processors.md#parsepush)
78+
- [`checkEmptyBranch`](./processors.md#checkemptybranch)
79+
- [`checkRepoInAuthorisedList`](./processors.md#checkrepoinauthorisedlist)
80+
- [`checkCommitMessages`](./processors.md#checkcommitmessages)
81+
- [`checkAuthorEmails`](./processors.md#checkauthoremails)
82+
- [`checkUserPushPermission`](./processors.md#checkuserpushpermission)
83+
- [`pullRemote`](./processors.md#pullremote)
84+
- [`writePack`](./processors.md#writepack)
85+
- [`checkHiddenCommits`](./processors.md#checkhiddencommits)
86+
- [`checkIfWaitingAuth`](./processors.md#checkifwaitingauth)
87+
- [`preReceive`](./processors.md#prereceive)
88+
- [`getDiff`](./processors.md#getdiff)
89+
- [`gitleaks`](./processors.md#gitleaks)
90+
- [`scanDiff`](./processors.md#scandiff)
91+
- [`blockForAuth`](./processors.md#blockforauth)
9292

9393
#### Pull action chain
9494

9595
Executed when a user makes a `git clone` or `git pull` to GitProxy:
9696

97-
- [`checkRepoInAuthorisedList`](./Processors.md#checkrepoinauthorisedlist)
97+
- [`checkRepoInAuthorisedList`](./processors.md#checkrepoinauthorisedlist)
9898

9999
At present, the pull action chain is only checking that the repository is configured in GitProxy. This ensures it will block pull requests for unknown repositories.
100100

101101
#### Default action chain
102102

103103
This chain is executed when making any operation other than a `git push` or `git pull`.
104104

105-
- [`checkRepoInAuthorisedList`](./Processors.md#checkrepoinauthorisedlist)
105+
- [`checkRepoInAuthorisedList`](./processors.md#checkrepoinauthorisedlist)
106106

107107
The default action chain, much like the pull chain, is only checking that the repository is configured in GitProxy. This ensures it will block all git client requests for unknown repositories.
108108

109109
### Post-processors
110110

111-
After processors in the chain are done executing, [`audit`](./Processors.md#audit) is called to store the action along with all of its execution steps in the database for auditing purposes.
111+
After processors in the chain are done executing, [`audit`](./processors.md#audit) is called to store the action along with all of its execution steps in the database for auditing purposes.
112112

113-
If [`pullRemote`](./Processors.md#pullremote) ran successfully and cloned the repository, then [`clearBareClone`](./Processors.md#clearbareclone) is run to clear up that clone, freeing disk space and ensuring that the _.remote/\*_ folder created does not conflict with any future pushes involving the same SHA.
113+
If [`pullRemote`](./processors.md#pullremote) ran successfully and cloned the repository, then [`clearBareClone`](./processors.md#clearbareclone) is run to clear up that clone, freeing disk space and ensuring that the _.remote/\*_ folder created does not conflict with any future pushes involving the same SHA.
114114

115-
Finally, if the action was auto-approved or auto-rejected as a result of running [`preReceive`](./Processors.md#prereceive), it will attempt to auto-approve or auto-reject it.
115+
Finally, if the action was auto-approved or auto-rejected as a result of running [`preReceive`](./processors.md#prereceive), it will attempt to auto-approve or auto-reject it.
116116

117117
### Authentication
118118

@@ -224,7 +224,7 @@ Currently supports the following out-of-the-box:
224224

225225
#### `commitConfig`
226226

227-
Used in [`checkCommitMessages`](./Processors.md#checkcommitmessages), [`checkAuthorEmails`](./Processors.md#checkauthoremails) and [`scanDiff`](./Processors.md#scandiff) processors to block pushes depending on the given rules.
227+
Used in [`checkCommitMessages`](./processors.md#checkcommitmessages), [`checkAuthorEmails`](./processors.md#checkauthoremails) and [`scanDiff`](./processors.md#scandiff) processors to block pushes depending on the given rules.
228228

229229
By default, no rules are applied.
230230

website/docs/deployment.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ remote: http://localhost:8080/dashboard/push/000000__b12557
126126
- Username: `admin`
127127
- Password: `admin`
128128

129-
See the [Authentication](https://github.com/finos/git-proxy/blob/main/docs/Architecture.md#authentication) section of the architecture guide for more details.
129+
See the [Authentication](https://github.com/finos/git-proxy/blob/main/website/architecture/architecture.md#authentication) section of the architecture guide for more details.
130130
3. Review the push and approve it
131131
4. Push again to forward to upstream:
132132
```bash
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ Changing the email address associated with commits can be accomplished via a num
9393
- `checkEmptyBranch` simply checks whether the branch has had any new commits (if not, the push will be rejected)
9494
- Added a settings page for configuring the JWT token to authenticate UI requests to API when `apiAuthentication` is enabled in [#1096](https://github.com/finos/git-proxy/pull/1096)
9595
- Previously, requests from the UI were bypassing the JWT check if the user was logged in, and failing otherwise when `apiAuthentication` was set
96-
- For more details on setting JWT, check the [architecture documentation](./architecture/Architecture.md#setting-up-jwt-authentication):
96+
- For more details on setting JWT, check the [architecture documentation](./architecture/architecture.md#setting-up-jwt-authentication):
9797
- Added the ability to create new users via the GitProxy CLI in [#981](https://github.com/finos/git-proxy/pull/981)
9898
- Added `/healthcheck` endpoint for AWS Load Balancer support [#1197](https://github.com/finos/git-proxy/pull/1197)
9999
- Improved login page flexibility, error handling and visibility of available auth methods in [#1227](https://github.com/finos/git-proxy/pull/1227)

website/sidebars.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ module.exports = {
3737
],
3838
},
3939
'deployment',
40-
'Upgrading to v2',
40+
'upgrading-to-v2',
4141
{
4242
type: 'category',
4343
label: 'Configuration',

0 commit comments

Comments
 (0)