From 66361d436a5d6c1710304b38ba4c1db4cef781e6 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Sat, 27 Dec 2025 16:03:18 +0900 Subject: [PATCH 01/45] docs: add basic overview of app architecture --- docs/Architecture.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 docs/Architecture.md diff --git a/docs/Architecture.md b/docs/Architecture.md new file mode 100644 index 000000000..b76100b0e --- /dev/null +++ b/docs/Architecture.md @@ -0,0 +1,18 @@ +# GitProxy Architecture + +This guide explains GitProxy's various components GitProxy, and how they communicate with each other when performing a `git push`. + +As mentioned in [the README](/README.md), GitProxy is an application that intercepts pushes and applies rules/policies to ensure they're compliant. Although a number of policies are available by default, these can be extended by using plugins. + +## Overview + +GitProxy has several main components: + +- Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000`. + - Chain: A set of **processors** that are applied to an action (i.e. a `git push` operation) before requesting review from an approved user + - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the list of default processors below for more details.` + + - Plugin: A custom processor that can be easily added externally to extend GitProxy's default policies. See the plugin guide for more details. + +- Service/API (`/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`. +- UI (`/src/ui`): Allows user-friendly interactions with the application. Shows the list of pushes requiring approval, the list of repositories that users can contribute to, and more. Also allows users to easily review the changes in the push, and approve or reject it manually according to company policy. From e514aebcfe110534513b011cd62f9d6d53ad49c8 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Sun, 28 Dec 2025 13:52:13 +0900 Subject: [PATCH 02/45] docs: extend app architecture overview --- docs/Architecture.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index b76100b0e..c013b18ee 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -12,7 +12,11 @@ GitProxy has several main components: - Chain: A set of **processors** that are applied to an action (i.e. a `git push` operation) before requesting review from an approved user - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the list of default processors below for more details.` - - Plugin: A custom processor that can be easily added externally to extend GitProxy's default policies. See the plugin guide for more details. + - Plugin: A custom processor that can be added externally to extend GitProxy's default policies. See the plugin guide for more details. - Service/API (`/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`. -- UI (`/src/ui`): Allows user-friendly interactions with the application. Shows the list of pushes requiring approval, the list of repositories that users can contribute to, and more. Also allows users to easily review the changes in the push, and approve or reject it manually according to company policy. + - Passport: The library 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, AD, OIDC). + + - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom application development, there is no need for users or GitProxy administrators to interact with the API directly. +- Configuration (`/src/config`): Loads and validates the configuration from `proxy.config.json`, or any provided config file. Allows customising several aspects of GitProxy, including databases, authentication methods, predefined allowed repositories, commit blocking rules and more. For a full list of configurable parameters, check the [config file schema reference](https://git-proxy.finos.org/docs/configuration/reference/). +- UI (`/src/ui`): Allows user-friendly interactions with the application. Shows the list of pushes requiring approval, the list of repositories that users can contribute to, and more. Also allows users to easily review the changes in a push, and approve or reject it manually according to company policy. From 4e853c2c45bf126c877b183a7543c3c3b5e8cbc1 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Sun, 28 Dec 2025 19:10:18 +0900 Subject: [PATCH 03/45] docs: add architecture diagram --- docs/Architecture.md | 6 ++++++ docs/img/architecture.png | Bin 0 -> 174757 bytes 2 files changed, 6 insertions(+) create mode 100644 docs/img/architecture.png diff --git a/docs/Architecture.md b/docs/Architecture.md index c013b18ee..97654afef 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -20,3 +20,9 @@ GitProxy has several main components: - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom application development, there is no need for users or GitProxy administrators to interact with the API directly. - Configuration (`/src/config`): Loads and validates the configuration from `proxy.config.json`, or any provided config file. Allows customising several aspects of GitProxy, including databases, authentication methods, predefined allowed repositories, commit blocking rules and more. For a full list of configurable parameters, check the [config file schema reference](https://git-proxy.finos.org/docs/configuration/reference/). - UI (`/src/ui`): Allows user-friendly interactions with the application. Shows the list of pushes requiring approval, the list of repositories that users can contribute to, and more. Also allows users to easily review the changes in a push, and approve or reject it manually according to company policy. + +## Diagram + +These are all the core components in the project, along with some basic user interactions: + +![GitProxy Architecture Diagram](./img/architecture.png) diff --git a/docs/img/architecture.png b/docs/img/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..04f6b3f5792624bc8bf75a95d6320ff3fd84fc25 GIT binary patch literal 174757 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

f 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�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 literal 0 HcmV?d00001 From b9a69d4359cd7d74fb853e046162286823bb9d3a Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Mon, 29 Dec 2025 23:51:23 +0900 Subject: [PATCH 04/45] docs: add basic flows and policy definition --- docs/Architecture.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/Architecture.md b/docs/Architecture.md index 97654afef..c6c028425 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -26,3 +26,32 @@ GitProxy has several main components: These are all the core components in the project, along with some basic user interactions: ![GitProxy Architecture Diagram](./img/architecture.png) + +### Pushing to GitProxy + +1. Alice (contributor) sets the GitProxy server as their Git remote +2. Alice commits and pushes something to the proxy +3. The Proxy module intercepts the request, and applies the Push Action Chain to process it +4. The push goes through each step in the chain and either gets rejected, or gets added to the list of pushes pending approval +5. Bob (admin/approver) reviews the push to ensure it complies with policy (Attestation), and approves/rejects it +6. If approved, Alice can push once again to update the actual remote in the Git Host. If rejected, the push will be marked as "rejected", and Alice must update the PR and push again for re-approval + +### Approving/Rejecting a push + +1. Alice makes a push +2. Bob (approver) logs into his GitProxy account through the UI +3. Bob sees the push on the dashboard, pending review +4. Bob can review the changes made (diff), commit messages and other push info +5. Before approving/rejecting, Bob must review the attestation (list of questions about company policy) +6. Bob can approve the push, allowing Alice to push again (to the actual remote), or reject the push and optionally provide a reason for rejection + +### Defining Policies + +Three types of policies can be applied to incoming pushes: + +- Default policies: These are already present in the GitProxy pull/push chain and require modifying source code to change their behaviour. + - For example, `checkUserPushPermission` which simply checks if the user'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. +- Configurable policies: These are policies that can be easily configured through the GitProxy config (`proxy.config.json`). + - For example, `checkCommitMessages` which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it. +- Custom policies (Plugins): Writing your own Push/Pull plugins provides more flexibility for implementing an organization's rules. For more information, see the guide on writing plugins. + From b45d091667175404a73959d6e2f51f0d359d5e10 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Tue, 30 Dec 2025 22:32:00 +0900 Subject: [PATCH 05/45] docs: add descriptions for all push/pull actions --- docs/Architecture.md | 254 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) diff --git a/docs/Architecture.md b/docs/Architecture.md index c6c028425..d5103ce11 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -55,3 +55,257 @@ Three types of policies can be applied to incoming pushes: - For example, `checkCommitMessages` which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it. - Custom policies (Plugins): Writing your own Push/Pull plugins provides more flexibility for implementing an organization's rules. For more information, see the guide on writing plugins. + +## The nitty gritty + +### Action Chains + +Action chains are a list of processors that a Git operation automatically goes through before awaiting approval. Three action chains are currently available: + +#### Push action chain + + + +Executed when a user makes a `git push` to GitProxy. These are the actions in `pushActionChain`, by order of execution: + +- `parsePush` +- `checkEmptyBranch` +- `checkRepoInAuthorisedList` +- `checkCommitMessages` +- `checkAuthorEmails` +- `checkUserPushPermission` +- `pullRemote` +- `writePack` +- `checkHiddenCommits` +- `checkIfWaitingAuth` +- `preReceive` +- `getDiff` +- `gitleaks` +- `clearBareClone` +- `scanDiff` +- `blockForAuth` + +#### Pull action chain + +Executed when a user makes a `git clone` or `git pull` to GitProxy: + +- `checkRepoInAuthorisedList` + +#### Default action chain + +This chain is executed when making any operation other than a `git push` or `git pull`. + +- `checkRepoInAuthorisedList` + + +### Processors + +Processors (also known as: push/pull actions) represent operations that each push or pull must go through in order to get approved or rejected. + +Processors do not necessarily represent policies. Some processors are just operations that help fetch or process data: For example, `pullRemote` simply clones the remote repository from the Git host. + +#### `checkRepoInAuthorisedList` + +Checks if the URL of the repo being pushed to is present in the GitProxy repo database. If no repo URL in the database matches, the push is blocked. + +Source: [/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts](/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts) + +#### `parsePush` + +Parses the push request data which comes from the Git client as a buffer that contains packet line data. If anything unexpected happens during parsing, such as malformed pack data or multiple ref updates in a single push, the push will get rejected. + +Also handles extraction of push contents, such as commit and committer data. + +Source: [/src/proxy/processors/push-action/parsePush.ts](/src/proxy/processors/push-action/parsePush.ts) + +#### `checkEmptyBranch` + +Checks if the push contains any commit data, or is just an empty branch push (pushing a new branch without any additional commits). Empty branch pushes are blocked because subsequent processors require commit data to work correctly. + +Source: [/src/proxy/processors/push-action/checkEmptyBranch.ts](/src/proxy/processors/push-action/checkEmptyBranch.ts) + +#### `checkCommitMessages` + +A **configurable** processor that blocks pushes containing commit messages that match the provided literals or patterns. These patterns can be configured in `proxy.config.json` or the active configuration file: + +```json +"commitConfig": { + "author": { + "email": { + "local": { + "block": "" + }, + "domain": { + "allow": ".*" + } + } + }, + // Defines patterns/literals to block pushes based on their commit messages + "message": { + "block": { + "literals": [], + "patterns": [] + } + }, + "diff": { + "block": { + "literals": [], + "patterns": [], + "providers": {} + } + } +}, +``` + +If the arrays are empty, the checks will pass and chain execution will continue. + +Note that invalid regex patterns will also fail the `isMessageAllowed` check. + + + +Source: [/src/proxy/processors/push-action/checkCommitMessages.ts](/src/proxy/processors/push-action/checkCommitMessages.ts) + +#### `checkAuthorEmails` + +Similar to `checkCommitMessages`, allows configuring allowed domains or blocked "locals" (the part before "@domain.com"). If any commit(s) author email(s) match the `local.block` regex, the push gets blocked. Likewise, if any of the emails' domains does not match the `domain.allow` regex, the push gets blocked. + +If neither of these are configured (set to empty strings), then the checks will pass and chain execution will continue. + + + +Source: [/src/proxy/processors/push-action/checkAuthorEmails.ts](/src/proxy/processors/push-action/checkAuthorEmails.ts) + +#### `checkUserPushPermission` + +Checks if the push has an valid user email associated to it, and if that user is allowed to push to that specific repo. + +This step will fail on various scenarios such as: + +- Push has no email associated to it (potentially a push parsing error) +- The email associated to the push matches multiple GitProxy users +- The user with the given email isn't in the repo's contributor list (`canPush`) + +Source: [/src/proxy/processors/push-action/checkUserPushPermission.ts](/src/proxy/processors/push-action/checkUserPushPermission.ts) + +#### `pullRemote` + +Clones the repository and temporarily stores it locally. For private repos, it obtains the authorization headers and uses them to authenticate the `git clone` operation. + +For security reasons, the cloned repository is deleted later in `clearBareClone`. + +Source: [/src/proxy/processors/push-action/pullRemote.ts](/src/proxy/processors/push-action/pullRemote.ts) + +#### `writePack` + +Executes `git receive-pack` with the incoming pack data from the request body in order to receive the pushed data. It also identifies new `.idx` files in `.git/objects/pack` for other processors (such as `checkHiddenCommits`) to scan more efficiently. + +Note that `writePack` sets Git's `receive.unpackLimit` to `0`, which forces Git to always create pack files instead of unpacking objects individually. + +Source: [/src/proxy/processors/push-action/writePack.ts](/src/proxy/processors/push-action/writePack.ts) + +#### `checkHiddenCommits` + +Detects "hidden" commits in a push, which is possible if the pack file in the push was tampered in some way. + +It calls `git verify-pack` on each of the new `.idx` files found in `writePack`. If any unreferenced commits are present, the push is blocked. + +Source: [/src/proxy/processors/push-action/checkHiddenCommits.ts](/src/proxy/processors/push-action/checkHiddenCommits.ts) + +#### `checkIfWaitingAuth` + +Checks if the action has been authorised (approved by a reviewer). If so, allows the push to continue to the remote. It simply continues chain execution if the push hasn't been approved. + +Source: [/src/proxy/processors/push-action/checkIfWaitingAuth.ts](/src/proxy/processors/push-action/checkIfWaitingAuth.ts) + +#### `preReceive` + +Allows executing pre-receive hooks from `.sh` scripts located in the `./hooks` directory. **Also allows bypassing the manual approval process.** This enables admins to reuse GitHub enterprise commit policies and provide a seamless experience for contributors who no longer need to wait for approval or be aware of GitProxy intercepting their pushes. + +Pre-receive hooks are a feature that allows blocking unwanted commits based on rules described in `.sh` scripts. GitHub provides a set of [sample rules](https://github.com/github/platform-samples/blob/master/pre-receive-hooks) to get started. + +This processor will block the push depending on the exit status of the pre-receive hook: + +- Exit status `0`: Sets the push to `autoApproved`, skipping the requirement for subsequent approval. Note that this doesn't affect the other processors, which may still block the push. + +- Exit status `1`: Sets the push to `autoRejected`, automatically rejecting the push regardless of whether the other processors succeed. +- Exit status `2`: Requires subsequent approval as any regular push. + +Source: [/src/proxy/processors/push-action/preReceive.ts](/src/proxy/processors/push-action/preReceive.ts) + +#### `getDiff` + +Executes `git diff` to obtain the diff for the given revision range. If the commit data is empty or has no entries (possible due to a malformed push), the push is blocked. + +The data extracted in this step is later used in `scanDiff`. + +Source: [/src/proxy/processors/push-action/getDiff.ts](/src/proxy/processors/push-action/getDiff.ts) + +#### `gitleaks` + +Runs [Gitleaks](https://github.com/gitleaks/gitleaks) to detect sensitive information such as API keys and passwords in the commits being pushed to prevent credentials from leaking. + +The following parameters can be configured: + +- `enabled`: Whether scanning is active. `false` by default +- `ignoreGitleaksAllow`: Forces scanning even if developers added `gitleaks:allow` comments +- `noColor`: Controls color output formatting +- `configPath`: Sets a custom Gitleaks rules file + +This processor runs the Gitleaks check starting from the root commit to the `commitFrom` value present in the push. If the Gitleaks check fails (nonzero exit code), or otherwise cannot spawn, the push will be blocked. + +Source: [/src/proxy/processors/push-action/gitleaks.ts](/src/proxy/processors/push-action/gitleaks.ts) + +#### `clearBareClone` + +Recursively removes the contents of `./.remote`, which is the location where the bare repository is cloned in `pullRemote`. This exists to prevent tampering with Git data. + + + +Source: [/src/proxy/processors/push-action/clearBareClone.ts](/src/proxy/processors/push-action/clearBareClone.ts) + +#### `scanDiff` + +A **configurable** processor that blocks pushes containing diff (changes) that match the provided literals or patterns. These patterns can be configured in `proxy.config.json` or the active configuration file: + +```json +"commitConfig": { + "author": { + "email": { + "local": { + "block": "" + }, + "domain": { + "allow": ".*" + } + } + }, + "message": { + "block": { + "literals": [], + "patterns": [] + } + }, + // Defines patterns/literals to block pushes based on their diff + "diff": { + "block": { + "literals": [], + "patterns": [], + "providers": {} + } + } +}, +``` + +This will scan every file changed and try to match the configured literals, patterns or providers. If any diff violations are found, the push is blocked. + +Source: [/src/proxy/processors/push-action/scanDiff.ts](/src/proxy/processors/push-action/scanDiff.ts) + +#### `blockForAuth` + +This action appends a message to be displayed after all the processors have finished on a pre-approval push. + +Note that this message will show again even if the push had been previously rejected by a reviewer. After a manual rejection, pushing again creates a new `action` object so that the push can be re-reviewed and approved. + + + +Source: [/src/proxy/processors/push-action/blockForAuth.ts](/src/proxy/processors/push-action/blockForAuth.ts) From 95e4ecae1d13918f9d9a42deb8981690de52e77c Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 31 Dec 2025 15:28:31 +0900 Subject: [PATCH 06/45] docs: add authentication section --- docs/Architecture.md | 68 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 66 insertions(+), 2 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index d5103ce11..2b007ace7 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -10,8 +10,7 @@ GitProxy has several main components: - Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000`. - Chain: A set of **processors** that are applied to an action (i.e. a `git push` operation) before requesting review from an approved user - - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the list of default processors below for more details.` - + - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - Plugin: A custom processor that can be added externally to extend GitProxy's default policies. See the plugin guide for more details. - Service/API (`/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`. @@ -309,3 +308,68 @@ Note that this message will show again even if the push had been previously reje Source: [/src/proxy/processors/push-action/blockForAuth.ts](/src/proxy/processors/push-action/blockForAuth.ts) + +### Authentication + +Currently, three different authentication methods are provided for interacting with the UI and adding users. This can be configured by editing the `authentication` array in `proxy.config.json`. + +#### Local + +Default username/password auth method. Note that this authentication method does not allow adding users directly from the UI (`/api/auth/create-user` must be used instead). + +Default accounts are provided for testing: + +- Admin: Username: `admin`, Password: `admin` +- User: Username: `user`, Password: `user` + +#### ActiveDirectory + +Allows AD authentication and user management. The following parameters must be configured in `proxy.config.json`, and `enabled` must be set to `true`: + +```json +{ + "type": "ActiveDirectory", + "enabled": false, + "adminGroup": "", + "userGroup": "", + "domain": "", + "adConfig": { + "url": "", + "baseDN": "", + "searchBase": "", + "username": "", + "password": "" + } +} +``` + +#### OpenID Connect + +Allows authenticating to OIDC. The following parameters must be configured in `proxy.config.json`, and `enabled` must be set to `true`: + +```json +{ + "type": "openidconnect", + "enabled": false, + "oidcConfig": { + "issuer": "", + "clientID": "", + "clientSecret": "", + "callbackURL": "", + "scope": "" + } +} +``` + +When logging in for the first time, this will create a GitProxy user with the email associated to the OIDC, the user will be set to the local portion of the email. + +For example: logging in with myusername@mymail.com will create a new user with username set to `myusername`. + +#### Adding new methods + +New methods can be added by: + +1. Extending `/src/service/passport` with the relevant [passport.js strategy](https://www.passportjs.org/packages/). + - The strategy file must have a `configure` method and a `type` string to match with the config method. See the pre-existing methods in [`/src/service/passport`](/src/service/passport) for more details. +2. Creating a `proxy.config.json` entry with the required configuration parameters +3. Importing the new strategy and adding it to the `authStrategies` array in `/src/service/passport/index.ts` From e3ea8640b0653f8009b3b7417ebdf406cc817b28 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Sun, 4 Jan 2026 17:14:26 +0900 Subject: [PATCH 07/45] docs: add entries for config parameters and customization --- docs/Architecture.md | 231 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) diff --git a/docs/Architecture.md b/docs/Architecture.md index 2b007ace7..a5945a8b5 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -373,3 +373,234 @@ New methods can be added by: - The strategy file must have a `configure` method and a `type` string to match with the config method. See the pre-existing methods in [`/src/service/passport`](/src/service/passport) for more details. 2. Creating a `proxy.config.json` entry with the required configuration parameters 3. Importing the new strategy and adding it to the `authStrategies` array in `/src/service/passport/index.ts` + +### GitProxy Configuration + +Many of the proxy, API and UI behaviours are configurable. The most important ones will be covered here. For a comprehensive list of parameters, see the [config file schema reference](https://git-proxy.finos.org/docs/configuration/reference/). + +GitProxy ships with a default configuration which can be customised in various ways. See the [configuration guide](https://git-proxy.finos.org/docs/configuration/overview) for more details on providing custom config files and validating them. + +### Config parameters + +#### `cookieSecret` + +This is the secret that is passed in to `express-session` for signing the session ID cookie for the **GitProxy API Express app** (not the proxy itself). + +As per their documentation: + +> This is the secret used to sign the session ID cookie. The secret can be any type of value that is supported by Node.js `crypto.createHmac` (like a string or a Buffer). This can be either a single secret, or an array of multiple secrets. If an array of secrets is provided, only the first element will be used to sign the session ID cookie, while all the elements will be considered when verifying the signature in requests. The secret itself should be not easily parsed by a human and would best be a random set of characters. +> +> A best practice may include: +> +> - The use of environment variables to store the secret, ensuring the secret itself does not exist in your repository. +> - Periodic updates of the secret, while ensuring the previous secret is in the array. +> +> Using a secret that cannot be guessed will reduce the ability to hijack a session to only guessing the session ID (as determined by the `genid` option). +> +> Changing the secret value will invalidate all existing sessions. +> In order to rotate the secret without invalidating sessions, provide an array of secrets, with the new secret as first element of the array, and including previous secrets as the later elements. +> +> Note HMAC-256 is used to sign the session ID. For this reason, the secret should contain at least 32 bytes of entropy. + +#### `sessionMaxAgeHours` + +Specifies the number of hours to use when calculating the `Expires Set-Cookie` attribute **for the GitProxy API** (not the proxy itself). + +Default: `12` + +#### `api` + +Allows defining and configuring third-party APIs. + +Currently supports the following out-of-the-box: + +- ActiveDirectory auth configuration for querying via a REST API rather than LDAP +- Gitleaks configuration + +#### `commitConfig` + +Used in [`checkCommitMessages`](#checkcommitmessages), [`checkAuthorEmails`](#checkauthoremails) and [`scanDiff`](#scandiff) processors to block pushes depending on the given rules. + +By default, no rules are applied. + +These are some sample values for allowing commits associated to one's own company/organization, and blocking commits containing sensitive information such as AWS tokens or SSH private keys: + +```json +"commitConfig": { + "author": { + "email": { + "local": { + "block": "(test|noreply|do-not-reply)" + }, + "domain": { + "allow": "(mycompany\\.com|myorg\\.io)$" + } + } + }, + "message": { + "block": { + "literals": [ + "password", + "secret", + "TODO", + ], + "patterns": [ + "AKIA[0-9A-Z]{16}", + "postgresql://[^\\s]+:[^\\s]+@", + "mongodb://[^\\s]+:[^\\s]+@", + ] + } + }, + "diff": { + "block": { + "literals": [ + "DEBUG_MODE=true", + "-----BEGIN PRIVATE KEY-----", + "-----BEGIN RSA PRIVATE KEY-----" + ], + "patterns": [ + "AKIA[0-9A-Z]{16}", + ], + "providers": { + "AWS Access Key": "AKIA[0-9A-Z]{16}", + "GitHub Token": "ghp_[a-zA-Z0-9]{36}", + "Google API Key": "AIza[0-9A-Za-z\\-_]{35}", + "JWT Token": "eyJ[a-zA-Z0-9_-]*\\.[a-zA-Z0-9_-]*\\.[a-zA-Z0-9_-]*", + "Private Key Pattern": "-----BEGIN (RSA |EC |DSA )?PRIVATE KEY-----" + } + } + } +} +``` + +#### `attestationConfig` + +Allows configuring the attestation form displayed to reviewers. Reviewers must check each box to complete the review. + +Has a list of `questions`, each of which can be configured with a `label` and a `tooltip` with various `links`: + +```json +"attestationConfig": { + "questions": [ + { + "label": "I am happy for this to be pushed to the upstream repository", + "tooltip": { + "text": "Are you happy for this contribution to be pushed upstream?", + "links": [] + } + }, + { + "label": "I have read and agree to the Code of Conduct", + "tooltip": { + "text": "Please read the Code of Conduct before pushing your contribution.", + "links": [{ + "text": "Code of Conduct", + "url": "https://www.finos.org/code-of-conduct" + }] + } + } + ] +} +``` + + + +#### `domains` + +Allows setting custom URLs for GitProxy interfaces in case these cannot be determined. + +This parameter is used in [`/src/service/urls.ts`](/src/service/urls.ts) to override URLs for the proxy (default: http://localhost:8000) and service (default: http://localhost:8080). + +Sample configuration: + +```json +"domains": { + "proxy": "https://git-proxy.mydomain.com", + "service": "https://git-proxy-api.mydomain.com" +} +``` + +#### `rateLimit` + +Defines the rate limiting parameters (`express-rate-limit`) for the GitProxy API (not the proxy). + +Sample values: + +```json +"rateLimit": { + "windowMs": 60000, + "limit": 150 +} +``` + +This will limit the number of **requests made to the API** to 150 per minute. + +Optionally, a `statusCode` and a `message` can be specified to override the default responses. + +#### `privateOrganizations` (deprecated) + +Formerly used to block organizations, replaced by `commitConfig.diff.block.providers`. + +#### `urlShortener` + +Currently unused. + +#### `contactEmail` + +Sets the contact email for the Open Source Program Office in the attestation form: + + + +#### `csrfProtection` + +Enables `lusca` Cross-Site Request Forgery protection for the API. This prevents third-party services from making requests to the API without proper CSRF token handling. + +For example, the Cypress UI tests need to call `getCSRFToken` before making requests: + +```js +Cypress.Commands.add('getCSRFToken', () => { + return cy.request('GET', 'http://localhost:8080/api/v1/repo').then((res) => { + let cookies = res.headers['set-cookie']; + + if (typeof cookies === 'string') { + cookies = [cookies]; + } + + if (!cookies) { + throw new Error('No cookies found in response'); + } + + const csrfCookie = cookies.find((c) => c.startsWith('csrf=')); + if (!csrfCookie) { + throw new Error('No CSRF cookie found in response headers'); + } + + const token = csrfCookie.split('=')[1].split(';')[0]; + return cy.wrap(decodeURIComponent(token)); + }); +}); +``` + +#### `plugins` + +Defines a list of plugins to integrate on GitProxy's push or pull actions. Accepted values are either a file path or a module name. + +See the plugin guide for more setup details. + + + +#### `authorisedList` + +Defines a list of repositories that are allowed to be pushed to through the proxy. Note that **repositories can also be added through the UI or manually editing the database**. + +Sample values: + +```json +"authorisedList": [ + { + "project": "my-organization", + "name": "my-repo", + "url": "https://github.com/my-organization/my-repo.git", + } +] +``` From 57ebd03f39938eae1dc5748142b358fffea7a613 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Mon, 5 Jan 2026 11:57:09 +0900 Subject: [PATCH 08/45] docs: add remaining config entries --- docs/Architecture.md | 108 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/docs/Architecture.md b/docs/Architecture.md index a5945a8b5..77ebc03ea 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -604,3 +604,111 @@ Sample values: } ] ``` + +#### `sink` + +List of database sources. The first source with `enabled` set to `true` will be used. Currently, MongoDB and filesystem databases (`NeDB`) are supported. By default, the filesystem database is used. + +Each entry has its own unique configuration parameters. + +Extending GitProxy to support other databases requires adding the relevant handlers and setup to the [`/src/db`](/src/db/) directory. Feel free to [open an issue](https://github.com/finos/git-proxy/issues) requesting support for any specific databases - or [open a PR](https://github.com/finos/git-proxy/pulls) with the desired changes! + +#### `authentication` + +List of authentication methods. See the [authentication](#authentication) section for more details. + +#### `tempPassword` + +Currently unused. + +#### `apiAuthentication` + +Allows defining methods for authenticating to the API. This is useful for securing custom/automated solutions that rely on the GitProxy API, as well as adding an extra layer of security for the UI. + +Currently, only JWT auth is supported. See the [`jwtAuthHandler` middleware](/src/service/passport/jwtAuthHandler.ts) for more details. + +If `apiAuthentication` is left empty, API endpoints will be publicly accesible. + + + +#### `tls` + +Allows configuring TLS (Transport Layer Security) **for the proxy** (not for the API): + +```json +"tls": { + "enabled": true, + "key": "certs/key.pem", + "cert": "certs/cert.pem" +} +``` + +#### `configurationSources` + +Allows setting custom sources for configuring GitProxy. Configuration can be customised through files, HTTP or Git servers. + +Furthermore, configuration can be reloaded periodically or merged from multiple sources. + +Sample values: + +```json +"configurationSources": { + "enabled": true, + "reloadIntervalSeconds": 60, + "merge": true, + "sources": [ + { + "type": "file", + "enabled": true, + "path": "./external-config.json" + }, + { + "type": "http", + "enabled": true, + "url": "http://config-service.com/git-proxy-config", + "headers": {}, + "auth": { + "type": "bearer", + "token": "" + } + }, + { + "type": "git", + "enabled": true, + "repository": "https://git-server.com/project/git-proxy-config", + "branch": "main", + "path": "git-proxy/config.json", + "auth": { + "type": "ssh", + "privateKeyPath": "/path/to/.ssh/id_rsa" + } + } + ] +}, +``` + +#### `uiRouteAuth` + +Allows defining which UI routes require authentication to access. Rules are set through URL patterns, and can be set to require a logged-in user or an admin to access. + +If the default values are set to `enabled: true`, any routes matching `/dashboard/*` will require login, and any routes matching `/admin/*` will require a logged-in admin user: + +```json +"uiRouteAuth": { + "enabled": true, + "rules": [ + { + "pattern": "/dashboard/*", + "adminOnly": false, + "loginRequired": true + }, + { + "pattern": "/admin/*", + "adminOnly": true, + "loginRequired": true + } + ] +} +``` + +When the constraints are not met, the user will be redirected to the login page or a 401 Unauthorized page will be shown. From 3e2ca5619fea13059ea99cc9ef693c70ffd300cd Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Mon, 5 Jan 2026 14:12:18 +0900 Subject: [PATCH 09/45] docs: improve wording, fix typos, add missing links --- docs/Architecture.md | 96 ++++++++++++++++++++++---------------------- 1 file changed, 49 insertions(+), 47 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 77ebc03ea..ff6305d59 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -1,6 +1,6 @@ # GitProxy Architecture -This guide explains GitProxy's various components GitProxy, and how they communicate with each other when performing a `git push`. +This guide explains GitProxy's various components, and how they communicate with each other when performing a `git push`. As mentioned in [the README](/README.md), GitProxy is an application that intercepts pushes and applies rules/policies to ensure they're compliant. Although a number of policies are available by default, these can be extended by using plugins. @@ -9,14 +9,14 @@ As mentioned in [the README](/README.md), GitProxy is an application that interc GitProxy has several main components: - Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000`. - - Chain: A set of **processors** that are applied to an action (i.e. a `git push` operation) before requesting review from an approved user + - 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 - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - Plugin: A custom processor that can be added externally to extend GitProxy's default policies. See the plugin guide for more details. - Service/API (`/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`. - - Passport: The library 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, AD, OIDC). + - 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, AD, OIDC). - - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom application development, there is no need for users or GitProxy administrators to interact with the API directly. + - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom plugin and processor development, there is no need for users or GitProxy administrators to interact with the API directly. - Configuration (`/src/config`): Loads and validates the configuration from `proxy.config.json`, or any provided config file. Allows customising several aspects of GitProxy, including databases, authentication methods, predefined allowed repositories, commit blocking rules and more. For a full list of configurable parameters, check the [config file schema reference](https://git-proxy.finos.org/docs/configuration/reference/). - UI (`/src/ui`): Allows user-friendly interactions with the application. Shows the list of pushes requiring approval, the list of repositories that users can contribute to, and more. Also allows users to easily review the changes in a push, and approve or reject it manually according to company policy. @@ -29,11 +29,11 @@ These are all the core components in the project, along with some basic user int ### Pushing to GitProxy 1. Alice (contributor) sets the GitProxy server as their Git remote -2. Alice commits and pushes something to the proxy +2. Alice commits and pushes something to the proxy remote 3. The Proxy module intercepts the request, and applies the Push Action Chain to process it 4. The push goes through each step in the chain and either gets rejected, or gets added to the list of pushes pending approval -5. Bob (admin/approver) reviews the push to ensure it complies with policy (Attestation), and approves/rejects it -6. If approved, Alice can push once again to update the actual remote in the Git Host. If rejected, the push will be marked as "rejected", and Alice must update the PR and push again for re-approval +5. Bob (admin/approver) reviews the push to ensure it complies with policy (attestation), and approves/rejects it +6. If approved, Alice can push once again to update the actual remote in the Git host. If rejected, the push will be marked as "rejected", and Alice must fix the conflicting commit/changes and push again for re-approval ### Approving/Rejecting a push @@ -41,7 +41,7 @@ These are all the core components in the project, along with some basic user int 2. Bob (approver) logs into his GitProxy account through the UI 3. Bob sees the push on the dashboard, pending review 4. Bob can review the changes made (diff), commit messages and other push info -5. Before approving/rejecting, Bob must review the attestation (list of questions about company policy) +5. Before approving/rejecting, Bob must review the attestation (list of questions about company policy) and check all the boxes 6. Bob can approve the push, allowing Alice to push again (to the actual remote), or reject the push and optionally provide a reason for rejection ### Defining Policies @@ -49,59 +49,59 @@ These are all the core components in the project, along with some basic user int Three types of policies can be applied to incoming pushes: - Default policies: These are already present in the GitProxy pull/push chain and require modifying source code to change their behaviour. - - For example, `checkUserPushPermission` which simply checks if the user'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. -- Configurable policies: These are policies that can be easily configured through the GitProxy config (`proxy.config.json`). - - For example, `checkCommitMessages` which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it. -- Custom policies (Plugins): Writing your own Push/Pull plugins provides more flexibility for implementing an organization's rules. For more information, see the guide on writing plugins. - + - For example, [`checkUserPushPermission`](#checkuserpushpermission) which simply checks if the user'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. +- Configurable policies: These are policies that can be easily configured through the GitProxy config (`proxy.config.json` or a custom file). + - For example, [`checkCommitMessages`](#checkcommitmessages) which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it. +- Custom policies: + - Plugins: Push/pull plugins provide more flexibility for implementing an organization's rules. For more information, see the guide on writing your own plugins. + - 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. + ## The nitty gritty ### Action Chains -Action chains are a list of processors that a Git operation automatically goes through before awaiting approval. Three action chains are currently available: +Action chains are a list of processors that a Git operation goes through before awaiting approval. Three action chains are currently available: #### Push action chain - - Executed when a user makes a `git push` to GitProxy. These are the actions in `pushActionChain`, by order of execution: -- `parsePush` -- `checkEmptyBranch` -- `checkRepoInAuthorisedList` -- `checkCommitMessages` -- `checkAuthorEmails` -- `checkUserPushPermission` -- `pullRemote` -- `writePack` -- `checkHiddenCommits` -- `checkIfWaitingAuth` -- `preReceive` -- `getDiff` -- `gitleaks` -- `clearBareClone` -- `scanDiff` -- `blockForAuth` +- [`parsePush`](#parsepush) +- [`checkEmptyBranch`](#checkemptybranch) +- [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) +- [`checkCommitMessages`](#checkcommitmessages) +- [`checkAuthorEmails`](#checkauthoremails) +- [`checkUserPushPermission`](#checkuserpushpermission) +- [`pullRemote`](#pullremote) +- [`writePack`](#writepack) +- [`checkHiddenCommits`](#checkhiddencommits) +- [`checkIfWaitingAuth`](#checkifwaitingauth) +- [`preReceive`](#prereceive) +- [`getDiff`](#getdiff) +- [`gitleaks`](#gitleaks) +- [`clearBareClone`](#clearbareclone) +- [`scanDiff`](#scandiff) +- [`blockForAuth`](#blockforauth) #### Pull action chain Executed when a user makes a `git clone` or `git pull` to GitProxy: -- `checkRepoInAuthorisedList` +- [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) #### Default action chain This chain is executed when making any operation other than a `git push` or `git pull`. -- `checkRepoInAuthorisedList` +- [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) ### Processors -Processors (also known as: push/pull actions) represent operations that each push or pull must go through in order to get approved or rejected. +Processors (also known as push/pull actions) represent operations that each push or pull must go through in order to get approved or rejected. -Processors do not necessarily represent policies. Some processors are just operations that help fetch or process data: For example, `pullRemote` simply clones the remote repository from the Git host. +Processors do not necessarily represent policies. Some processors are just operations that help fetch or process data: For example, [`pullRemote`](#pullremote) simply clones the remote repository from the Git host. #### `checkRepoInAuthorisedList` @@ -166,7 +166,7 @@ Source: [/src/proxy/processors/push-action/checkCommitMessages.ts](/src/proxy/pr #### `checkAuthorEmails` -Similar to `checkCommitMessages`, allows configuring allowed domains or blocked "locals" (the part before "@domain.com"). If any commit(s) author email(s) match the `local.block` regex, the push gets blocked. Likewise, if any of the emails' domains does not match the `domain.allow` regex, the push gets blocked. +Similar to [`checkCommitMessages`](#checkcommitmessages), allows configuring allowed domains or blocked "locals" (the part before "@domain.com"). If any commit(s) author email(s) match the `local.block` regex, the push gets blocked. Likewise, if any of the emails' domains does not match the `domain.allow` regex, the push gets blocked. If neither of these are configured (set to empty strings), then the checks will pass and chain execution will continue. @@ -190,13 +190,15 @@ Source: [/src/proxy/processors/push-action/checkUserPushPermission.ts](/src/prox Clones the repository and temporarily stores it locally. For private repos, it obtains the authorization headers and uses them to authenticate the `git clone` operation. -For security reasons, the cloned repository is deleted later in `clearBareClone`. +For security reasons, the cloned repository is deleted later in [`clearBareClone`](#clearbareclone). + + Source: [/src/proxy/processors/push-action/pullRemote.ts](/src/proxy/processors/push-action/pullRemote.ts) #### `writePack` -Executes `git receive-pack` with the incoming pack data from the request body in order to receive the pushed data. It also identifies new `.idx` files in `.git/objects/pack` for other processors (such as `checkHiddenCommits`) to scan more efficiently. +Executes `git receive-pack` with the incoming pack data from the request body in order to receive the pushed data. It also identifies new `.idx` files in `.git/objects/pack` for other processors (such as [`checkHiddenCommits`](#checkhiddencommits)) to scan more efficiently. Note that `writePack` sets Git's `receive.unpackLimit` to `0`, which forces Git to always create pack files instead of unpacking objects individually. @@ -206,7 +208,7 @@ Source: [/src/proxy/processors/push-action/writePack.ts](/src/proxy/processors/p Detects "hidden" commits in a push, which is possible if the pack file in the push was tampered in some way. -It calls `git verify-pack` on each of the new `.idx` files found in `writePack`. If any unreferenced commits are present, the push is blocked. +It calls `git verify-pack` on each of the new `.idx` files found in [`writePack`](#writepack). If any unreferenced commits are present, the push is blocked. Source: [/src/proxy/processors/push-action/checkHiddenCommits.ts](/src/proxy/processors/push-action/checkHiddenCommits.ts) @@ -235,7 +237,7 @@ Source: [/src/proxy/processors/push-action/preReceive.ts](/src/proxy/processors/ Executes `git diff` to obtain the diff for the given revision range. If the commit data is empty or has no entries (possible due to a malformed push), the push is blocked. -The data extracted in this step is later used in `scanDiff`. +The data extracted in this step is later used in [`scanDiff`](#scandiff). Source: [/src/proxy/processors/push-action/getDiff.ts](/src/proxy/processors/push-action/getDiff.ts) @@ -256,7 +258,7 @@ Source: [/src/proxy/processors/push-action/gitleaks.ts](/src/proxy/processors/pu #### `clearBareClone` -Recursively removes the contents of `./.remote`, which is the location where the bare repository is cloned in `pullRemote`. This exists to prevent tampering with Git data. +Recursively removes the contents of `./.remote`, which is the location where the bare repository is cloned in [`pullRemote`](#pullremote). This exists to prevent tampering with Git data. @@ -361,7 +363,7 @@ Allows authenticating to OIDC. The following parameters must be configured in `p } ``` -When logging in for the first time, this will create a GitProxy user with the email associated to the OIDC, the user will be set to the local portion of the email. +When logging in for the first time, this will create a GitProxy user with the same email associated to the OIDC provider. The username will be set to the local portion of the email. For example: logging in with myusername@mymail.com will create a new user with username set to `myusername`. @@ -492,7 +494,7 @@ Has a list of `questions`, each of which can be configured with a `label` and a { "label": "I have read and agree to the Code of Conduct", "tooltip": { - "text": "Please read the Code of Conduct before pushing your contribution.", + "text": "Please read the Code of Conduct before approving this contribution.", "links": [{ "text": "Code of Conduct", "url": "https://www.finos.org/code-of-conduct" @@ -522,7 +524,7 @@ Sample configuration: #### `rateLimit` -Defines the rate limiting parameters (`express-rate-limit`) for the GitProxy API (not the proxy). +Defines the rate limiting parameters (via [express-rate-limit](https://www.npmjs.com/package/express-rate-limit)) for the GitProxy API (not the proxy). Sample values: @@ -553,7 +555,7 @@ Sets the contact email for the Open Source Program Office in the attestation for #### `csrfProtection` -Enables `lusca` Cross-Site Request Forgery protection for the API. This prevents third-party services from making requests to the API without proper CSRF token handling. +Enables [lusca](https://github.com/krakenjs/lusca) (Cross-Site Request Forgery protection) for the API. This prevents third-party services from making requests to the API without proper CSRF token handling. For example, the Cypress UI tests need to call `getCSRFToken` before making requests: @@ -607,7 +609,7 @@ Sample values: #### `sink` -List of database sources. The first source with `enabled` set to `true` will be used. Currently, MongoDB and filesystem databases (`NeDB`) are supported. By default, the filesystem database is used. +List of database sources. The first source with `enabled` set to `true` will be used. Currently, MongoDB and filesystem databases ([NeDB](https://www.npmjs.com/package/@seald-io/nedb)) are supported. By default, the filesystem database is used. Each entry has its own unique configuration parameters. From ce66b6ef06fdec8277760e11786e610e7fba8257 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Mon, 5 Jan 2026 17:48:03 +0900 Subject: [PATCH 10/45] docs: add screenshots and missing links, remove todos --- docs/Architecture.md | 17 +++++++++-------- docs/img/attestation_example.png | Bin 0 -> 130367 bytes docs/img/blockForAuth_output.png | Bin 0 -> 28319 bytes 3 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 docs/img/attestation_example.png create mode 100644 docs/img/blockForAuth_output.png diff --git a/docs/Architecture.md b/docs/Architecture.md index ff6305d59..182b80b1d 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -14,8 +14,7 @@ GitProxy has several main components: - Plugin: A custom processor that can be added externally to extend GitProxy's default policies. See the plugin guide for more details. - Service/API (`/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`. - - 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, AD, OIDC). - + - 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)). - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom plugin and processor development, there is no need for users or GitProxy administrators to interact with the API directly. - Configuration (`/src/config`): Loads and validates the configuration from `proxy.config.json`, or any provided config file. Allows customising several aspects of GitProxy, including databases, authentication methods, predefined allowed repositories, commit blocking rules and more. For a full list of configurable parameters, check the [config file schema reference](https://git-proxy.finos.org/docs/configuration/reference/). - UI (`/src/ui`): Allows user-friendly interactions with the application. Shows the list of pushes requiring approval, the list of repositories that users can contribute to, and more. Also allows users to easily review the changes in a push, and approve or reject it manually according to company policy. @@ -160,8 +159,6 @@ If the arrays are empty, the checks will pass and chain execution will continue. Note that invalid regex patterns will also fail the `isMessageAllowed` check. - - Source: [/src/proxy/processors/push-action/checkCommitMessages.ts](/src/proxy/processors/push-action/checkCommitMessages.ts) #### `checkAuthorEmails` @@ -170,7 +167,7 @@ Similar to [`checkCommitMessages`](#checkcommitmessages), allows configuring all If neither of these are configured (set to empty strings), then the checks will pass and chain execution will continue. - +Note that this processor will also fail on invalid regex in the configuration. Source: [/src/proxy/processors/push-action/checkAuthorEmails.ts](/src/proxy/processors/push-action/checkAuthorEmails.ts) @@ -299,6 +296,8 @@ A **configurable** processor that blocks pushes containing diff (changes) that m This will scan every file changed and try to match the configured literals, patterns or providers. If any diff violations are found, the push is blocked. +Note that this processor will fail if the configured regex patterns are invalid. + Source: [/src/proxy/processors/push-action/scanDiff.ts](/src/proxy/processors/push-action/scanDiff.ts) #### `blockForAuth` @@ -307,7 +306,7 @@ This action appends a message to be displayed after all the processors have fini Note that this message will show again even if the push had been previously rejected by a reviewer. After a manual rejection, pushing again creates a new `action` object so that the push can be re-reviewed and approved. - +![blockForAuth output](./img/blockForAuth_output.png) Source: [/src/proxy/processors/push-action/blockForAuth.ts](/src/proxy/processors/push-action/blockForAuth.ts) @@ -505,7 +504,9 @@ Has a list of `questions`, each of which can be configured with a `label` and a } ``` - +Given the previous configuration, the attestation prompt would look like this: + +![Attestation Prompt](./img/attestation_example.png) #### `domains` @@ -551,7 +552,7 @@ Currently unused. Sets the contact email for the Open Source Program Office in the attestation form: - +![Attestation Form](./img/attestation_example.png) #### `csrfProtection` diff --git a/docs/img/attestation_example.png b/docs/img/attestation_example.png new file mode 100644 index 0000000000000000000000000000000000000000..92a7c923fc0bccfed0ad05246ade333d5ecaf9b2 GIT binary patch literal 130367 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 literal 0 HcmV?d00001 diff --git a/docs/img/blockForAuth_output.png b/docs/img/blockForAuth_output.png new file mode 100644 index 0000000000000000000000000000000000000000..c21e8c441a4f09bb8d08a46c8394b9260ed0131e GIT binary patch literal 28319 zcmcG#1z225*DlzE1VXSRSO}H`cXvwyf#B{If=lC#TMq8-9xMd6MjL_$cWvCQao5?& zk?-6)ckcaXp85NMhTVJbuG&?r)_T{w-U^bJ6~}z?@(Bn8!j$+Zst5u-6afCudW-_R z)6bQHfj4o>=ZMj#U_Yp@Zcy@8#Pk(IrvwZlGg zvk-6*?XQbO?2Pms%&e_mDVu?fKr+BTES#?-^{rm9v9NKyV&ULpApJs~_$Pc~ZeEje++H15e;3w_m>YCh8f0|;~(h;Y9|N3f8-h4YG2{1F z4rNdX06hpi#-bFrt2Jc=Uh10P%h=TPjg7^mEZD0tH*m+tXP#77%kXGCJlYH;kijkg zedlKAUw2A=w>Psg>+GJuF>$l*V?ov|FyrZ(_NUM^gISUo8yiZi?O=; z;rIJyED7fuEQ(wb3jTdu4@=_BeXfViNZI_14aO@m99&~%7bOv)74sp}GdyfREJSN| zZUt!>`Fpuj?jsgkxLI!N16=u23)5NQrL69-C0otpm+B51+w)i-v|GnKMh804*!#YH zXU=YfdMEo!!s3seUUomN*`X=yUNaqtcpEcpfb)9&149=M_M#|zd~)riy; zZPtQ)?+=Lk`!O{~uN$zJ3dEs~wbG7O#1KeAGvaFWp!t)*$`9D_{GN@cga#K`vCi01 zc=WMbKIVlD~y-yK{&y0bxx@NK6U+xCQ!bQ&S} zZ}7A{J#kR^)$*jBK~9sezJHheI2c5=-QFpi&|tOuJ~^4$>x<*MC59tZHi2>D(|+eg z)G>%hO+{Ml%vO;-;$WY7e=&|4d$al7`^|R?XY{@W)m2b=)s#}FiZUs$_!<$O7RZvXS-WD@m#1);bbcmIh+=j=eW!QQSzT>%b%6MdWf?e1KX zeOrv?DA(NyU6gq9T0ok$U2oVR5yWFTqJIjZ_E;pXkUp#KL-T4%T@tU-1A^uGjn=v= zn*k=f9vo@B^gqo}q~>8Vm z%YkB0__|gV1MU_4X=fsBl>qm1w&K$Cf=^dG6BW%*JtgCffjL}!JY;z_JvkSbM;1*Q z`APe$MaFx(EXA&;L6gd!HxN9`uxf3uehl;q&$Bj3%(b?2F z+1V(lE@_Xw%`qV{xX9ePxC~w1@F4qSY~0z`?S)`j&v3jCY4W&YHEKmpm}?rK$iMIW zLT>SKP$*o|sOuys1ahV}79>NFv-`S+CFm&FT|4de;FPqx3N6G2G7LKvqP%^|e-4v- zXGSriA?1Pjli>mA3bLK>UoixH~REdrJC++D!>ksIGTKvx!rZRiSvAu|!t zXPFTd!S0^?_~99Yrpd`fJT|LDM^EH%7TM#8O0Lm8kvkpeb#rguXEYTk+d|-VBeQ*} zs+wkCgmal9dtdE@myk#*b85n9uM%(ctuZy(_(4I`t;r3F2&!$o4A_QiRMdYw6^ zOWmVyX;+5}r@{w6NAiF2ri5gaV!NH+iix%h$y{O*L67FIGZb}{+QQiL*^Q+i7ZeZ* zlurYm!u|?zHSz+tb5v)ld8MFKQkNU#->KPuKE|$KxZ$)v z`E#`3dK&NYS$Pn@%Y9)(_fMhl2B}wT8%I-h`^YkNdgQ|TE8&yhEQ<7Re!5^hsSU5Z z3~D@IOEXLp%%$Bx@P@(ynpO+Lyhi8emob{O?`f!UygCO>a6uhL8oN`+)+3eSJMDNG zjRAqkg|vk~*`49Ry%iT1@cY;7)c#E#sWkM$y`3bbwtOnr<>_Jkx|F3XNq1I0b&k6_ zJTncpJg$QD!gVSZaFA@;UEKJ>temW_K$C8Et??LGU2FPir$z2#Zzvm&>d?Kqp>f)$ zHF0iR0W11jL4P)`Rb#rskjv#}uQlb7Qod8q!`tVcGq+5qGS#6ko_ChL8>OL<)}MnC zRQ1pns4bkOq`3t%HaC9IsN1uh^;)%X{NO2y_^{$d6QtkoPt9ZZ8QB9&Oi1L84y;G_ zgKx7qGD~~xAMFO;1d=q| zcTDcw`+Mk_h+(G47|UYpdqB8Z^F29uewpS%Q$Z}DF@|Hxk7Dxl&ytHU^+YWPb*so7 zPU(XY+0|V+?EG>GQj=%DBElwE%q7RDf96!6>VovneaEuDid}iJh+8SIge+TQdzSJv)s8*`T{vUx z*xU_X3w_!5|@ebcy)d^N>)FonFtQwaM4{#y?bnXB!nv*=TLZgkNAg@6x1wU54P^9$cD8v)S{z$B|kzHcM`H!tL-Mg zZTapE@aVGkH&p)f-OWNNgV+tKEavURKHJJO%qNHx$!Yaz+tI}i(8Ck-H_dEGqkc2U zku#e7HlvXpnxjp8cP~3Qr%_7Peml4qay5GgrrfT|WvUg(i^+%J8V>8(s7+y8>Xwh_4W5aa0I!Xi7DzW{Ft5APc}q- zt3HK$xK5P5@ZIJyqr8i+X)?Tui5#A+${KjtR zX?wTMTu&6V^l~*e%BPCmfkpZz!ZRc;4pWI*U}}lY=Z4B$M;-}-On}7Opj^w;^1DIn zCO-!O1hgVP*fz)O9UCeV8=p2V-3)k)P*T*nDqFf($Mx&u^KfS zUzJ9YAsf#^jWojo$%B$RwCYZs!!zQ}vM({Tr9a7eZ@K@OY0hd6d2O}t zmqG&@RDFF+H{H7ih@T|ndLx=tZ%*AL9Dh%-_PbEKfUX=1ezM6ol+_5^XK~fRQ|bs- zG8T5^SM>Y=LqpJwjAE6EfafX|X>Ck5Q zC#&>J%Y1^h77-IiO+5)0c*l>o_h@{_4{ke^;IYMHKK7hQ|?smvav(VTdrV_)O7#zWwO@GI;N`QFS@5o+qSY5a3n2IV1|8RE6 zs;;c+AtA~CjdL&*3e}a5?HT$KgG9q1=u=o(s`{Yi#VOr0wiB`N4lAnCR}whl%9dKK zpZk8I8=%kzWmO3fc)t}!949tg)8MbG1{*XcHi1VXJ@o@iW_(`Xz{Iy?iCE%mbM$Cw zxf$MNSLxAgrATscO~xoX;1Xm&?Ze#2xKk|!X$yEm;`}gUkoQ_U)?101W%0$L(+@*hgV%)wHF@(LQ6b-f1di!8IL$RB0z!{(Yj%tuc3 z`o^a-;Kncv@8U3WII??yuUV-s@_IYx@GR)H(#(vF*EwoTsq=*H_nyg8 z)(E~?%sK09DLL+XZIynAD}%||PPtFT3L&%LX3mZ%CSMVsD{*npZ>ZD~tlQg7Ow_d!RLOxw{|z`f|umNoq*6h}?=P5~E*y{|+C( z889bHV{>#IsB$z|l<SoPDHP$cRFj+I>craDb z3+G40j-?t!!kxuxb)BVYo9n#;R|ok>rj&oLp%biZ3IT>lY`*(o^e&?Fb76&n z%_1Z?zPwBs!Z)Zn4)xk0azOPdvNq+9rz7G|bAdY*x6ky%1MrON=Hf}spi6Gsm5Be` z&+;k8js0(?ulSkM3nm3JX*@+pg64k|tj>j!T$=1Pon~kr&)-@KX_y#P=kfB@R&EZA zD=XtiYDKn}*A}-^?HcZ94cb;YvG>qxHt^wdeTUxO>>aK4PK;aG)?t>*3d=1yb@t&CDYitLZlcez?Vlibe_U#-pq)9+5FCVsajI+1IM5q=%mAai ztjL&9_jCWd;ES&%+0HwKNb(v)_||eK=pHH)1omgM8jZW~y`sY{?%3~F&y63MMWCJ- zETcy6{?7Ai9}pU0M3gwYRqN0Ic;scZuG%D2@BQ%+q-)ExS*i`@)1}eJ$Y5%=bwi+~ z)KMsUaM^;(?<(bAo~SR2E_mP5?uiAyuE|k8=RF@8ftu{4U7OvHGy&|vuiR+AQ6-d! zGs35BuI;K69foeYCV#?*MRsisud;O_vPI`hh#lrKZs})FpGZbvL9kRse9HH=CIs+Nzh%WuO8 zMOF~Sp0)+GH-gE7@3vpha;$n)ty{}p1Rl+#%ZQ@?PQ7mv1(sMnT;cXt8D5vg3Olf~ zn-oRQ@TqK0SXEJKn|S!j+FJLIOi0 zIr$7=3+M(;Z@fmtvCJ9-Zw}B9{HAn+c+WB_uuV=u?pJy*64r*w_jzs2`6t74eg?kg zE<1?#S}Y>{;iQ$mb?{&u!1T9sDE2pFT;XXmV&3~a+NmBg4GJ68>0Umf8h&RV7WaHI zwjm}Dy;JP9QmU)Unxwn;h}?uE${>?Z1bY`GWx$V`clE$yz|aX-6yF(8*F43!$H6+Y zdU#>p%qt;*(S|CEyl7ftb5_UNI$kJ4w?(jh>;yO5Fl%1t+1V{1m2);U{-EU0 ztxm`q#4oRL{@VE?yihajnYG+mh}4=&o+F>N*ShM6WcXr1l1}s9#`xsC zac5|^vT~}yZD%nD2S?fFT{vn11}UrWSQQ398vXI(tuQDxb-XW)#CXIxP7~mNF6?fz zZ#GgsgrcSQmSuM1CK%zka1etm3Zd}b!tYYNDPBtmvM`y`swyrs%(2ZSF8PfxRHP<@ zZbs>4fLIz@@OV6QwtJg%c%JCc(0Gk)a1vOT%2S;-*yNUIo4u}}qSBf!qBk_AJvh51 zXWFxlM^SFJK~&3+YAV=zv`9jBu$O;)d2>xE05fbD;G^bDLSAnoAFPbSd|W z%9eTo?Bbu&nx0o)m!30*Oe|E6|1qD?%1c(WQ)5F9O@F#$M z8AUuJY@Ouy-RW9r`|_>2=w{QngwTU%Z{W)qr)o^}9Z`8u^FcGVuf@E-z0#CYs=zHe z|JhB*%~xfA6x|3P7?H~(380~LllyuRTbO^9p4@qhb1fFdc01Ltn65w4Ha7!hZLz;} zS-8G&ym158J>jYsqeh+W&C5$Pe6ji;P1?T}69@%GTT1fE+WiP|&+_^Ni=n@G>Zn)i z1Th*>?>g5dE#1*N8;srT;!QYt`=~+49E%t|zluS8qq;?M8G!&++joDqib10#1L3z8 zuF@^9!;N>+y?%$=_PDlHG;D8iQcrJv5!A!mE3%7Erv%AcSXgJFFL@s{9IqJDoSsyO zA0D24K8`2jb*6dZ{R1R?ceySVN=h=j#3n_m;alhTs4Kj~hJi1>vr`NO<&o)g(!5Z$ zpq6(r7jU2ZwQDf59m5%FcxTn^m8G$9OOCCReOnGx%``7PXnE(f-rAz>qMy!b?gqOv zB0Zn;9y;C2%3ZnWFoP65;+0)jhh!b0PbKI47Otf>tMh>8=_%%6H`r;@xgK*ls-gLl z%@Bo5-Qax#u6Ku%`GUePQ{wg$>{w4LJ)XlJw4G#}DV2bE-oPy9FHr#4B8>rSYuB=G zfvn(q2j`C!P~l<9pLi&dO;Yl>&^1 zL;d|puH3H#8`PI^%0?D&@7F$dOOdzNHQW-DVj|Gd)TU<#eN_NI+_rEy(6&2%K2^KI z3A#Gl>XKnk|9l0(CM4dE8)9ZsT~KbD4mK?I6}JV`HXB*R^7H?m^%9$347}i-F!bVL zRJ~9c17pM^Ei;Raz0%gfVe_Dvan2~%Ij*NKIIp}Q{RzvU_3NkvbstsucL(GZ7;k}>h>_7+{`5WvyoZh zB-~lDcR*1&xnMFAD!I*x=kb|_sXM3Y4MDXJY6(+)L_4A6Z&CplH(%eM&`K;+h0Mh6 z^X25maT3R#l~oEXHI%)JwWh3n(#x!S9rLY@4i2Q+xY6^NAc2|T_haKqNey-`OrqPP&pqRJUB!x!!Xy)F--KLUZZ#>6 zs7pU9RRmbG6UWC?OIt!yn~=Q-P2?YtEE3^~F&uZ8$O+R9g165%iUwzsUv|F&!0@SK zx?-i1$|pfB9n;tZCc@dJTE8CwNV#4T$FN>r`|CD6?OBFJUwzP5p|UWzd*{{FVi+r` zq-rrm@ASJKAUe1m=Ns^}Q&lm(e`)h{Y(nK}Oc{=F2J6GCuzf^XJ6U2?_dUM%PRZZ!$y&%GQ* zsJt>Bqy{`!dhyP~08+DK4h9o>QM4mm$wjGtk4o%z9P6(_$Zy#9_;r0@A*+Bx{$EGH z=Qjfq|IdXMay0DU@#fc?HiTm7pM$`{@ZUv}KflLz{I7b$A2n*ldkB_)n$v$D4qbDTYc|roc>kP*`6%s7YG;q5EC2Qlgg`)OAuGa4ol z=3q#Hn1tBW3cU1oRUhjP|AU7JGT@v=Nd&(HG!T9H;t8^xDvKK@^YDwS#v9F-ZSB^O zk?y1Q44P`IEzh=fR78GSZo!-%qex4`@HI0taAHC=IXM~LM1Vg$HPzmZX21#0wQeK` z37qPR7SC8uv7WTw7d*zC%l+FPe20`YG$^+{u@aL~w))t6UXWT$lx$>moF8mxnONkJ z1O-pHd)^j10fn%og~ItCgM+Bve&`#An+AhNhxry&(U?|NOblKwgdl*g&8(^ljZiHe zbC>%lO~qjOWNj_Z9p*@KcIH^5c}TZMY6bEQpYQ5XAv;=ATWY+#LI*Lp7)IsY{ZITG z{onQzNFSlldGJDzPMv-l$)^8;6=eC}#^ne|AM*WK!UHB-Ut6rM&0wTDEy5xyIvLBm zNArWFW#gH2B~(kcqQd?$CMMDkO{3x@aJFKWVgbj3%EW~7}QF)@de{#=v5^99c9$NC1OXl+RN%{D^Y+kruG)Xe)}&=&|JkE;U$ya{DXcwuLAj)FHtxcC z=IDWRVboPG+xwz*VgkjxenvCR1p_?zM1%Ts_S+qLn|!4 zJDjYmsXDMk-gS6%WcW$md%$i$cAJSzf|X-FFwmnfwc0zW5}!s>_8$k(X%Z{0SEarq;M@HF0l@O}Ycn~wKUExM zQ@`tZ@&Nf3WMikw?&O##v4Z#aIEfCjy0juMMg@?4ni_iN-h78Dq<-sXT<_x}m@O9m zWACPxP*M=KtKi-Un`&GW$07}W@QUR}gjdt$^K5Zcr`o<~aeRF%{g!eAR^pKG-173M zFYl0&eFJF!-2_WvzmyeXE3UIEqf;~Y^QXw>;qAV@zRuy{thO4cLjvvcfBJL&PhEU3 zkOcOxQn>GCNy&3kDzd6Sll5PN_BH?iqnkFeMtv2UpIMcd>@W6Jlo604{HX=d)YK{~ zhqm@k7uSe9|9gmB{U`)V9+-rn2lde8hM`Vznnaa4ibp(wdl?i;G-@QnWSQ zHbv&Ea)|(pwERbMfMowU)}V-0P6bBpU21- zUY|O?n2Xj@Y-gt3_{Nv9d$2j$jxa#oiA~`*rn%>hlvT2)cNw1uo>0)$?M7#YNkC*U z?M(&^4>I5GlI;HM9-w5p6`PJPlmOyWzYgBkmWeCllK!`p^}C=>|IT@=zx5ZP z%h(AA7chDzW)nGcT1YYUEjg)&RwCCBZ1l*Zh_RpuoC7V_7^ zmm@Hi_I)(_`P0d=q~i`_r7Qo#zwCx3*^2W25bT#)YyW#{;hU|m()gYB^2)xwFm)5n zYHa+2bD?Oo&*@KZp$fZdhZD(e;C?=cXQko3+RU=j;B`%=fl z`U);Y-BF#D;yGQb;s@=$tked2ZS;Iy~?BbiD(INp6W<7ph%|UU6 zsxb*#-ZKSc_d55;5kLhvwX*Kw@~X^f!CF*wcQkgPOrIWrRJ7xqoB-3nXVB>znVj5$ z)2sW2l2b&9iToIYdgVC}VZvJ_rAlLM|1&RI+AYn0;76YZI#8o~=j3RX&vtZtX?V`+ zm;r84G?MwC@hCuX#M%8;e?p8jKj*7Zh5JXTH1Wc1S}Ma>A!86H(Ow&!WiL7s_BmH)dYbW z&qRGQ?cbPOa7|c`$G?MZW8U1%pm=H5+K@&FoiUJk)%yqGbei|n*VUQMKWDX{cpxd& zdtrJi*?;caZrIwIClAc|q{XDZwRP8bywc^pC6u?Dn;u2lr?2%q@di>#n?XN-KxDR^ z;nnpSP|xTz3BH$T6ntHi6X;soqTK|huV476+r)yFme#=V=i{`RO6_e?Y2t|c{kFbz z2r}sKFy93b3Ruom=vYkSS;P7wUn5t?3qt6ks53MNw(s3r8uo8sZC7E_1F@Zv$?+|1 z*mGUrk&ZWl~0k9PJGdF{;;u5;Pd-t#w{#%m;tYv2o?To|D;h6!aYur`em z==mSt)-y^sdA?y5y7xWgdixhx;2Q>VgPAZ=yduc6C;u}FT>pyoV_Kpgal9U#l2UrQ zW8=L5>Nkn&dD$G&)KFIk3?|Z#bXe5bBsU9y2B@Zyp5k*o64oONCyB@{%lvoY#5)sm77~7uVK;h9lBLjOEujfnURgCZG0nX^PjZ zK{%|osewT&rBe8|z5O#j+E)%NXMR2~L6eFKNFEuVL+r}1EudLavcF4QU&k8)USzHX3T@g9NmR?<>{x`N(jA63Yl-xw3pI@(rJMtuta+jOrj z8KHZ&)Pk7Ow(<<0yi@?>4^*tL8*^}5M35bATUgs4$m4=;uiX}xcXQN;e?N4sGe4Y{ zw*ZNTmUhQZ!=T+Qcj){@4Zp+c3m+7eXlFh@k$~{CtIXy<0au{#|GK~f)o~slpV;mz zEG$IMl+)AdI8CP0&218l7KLQvfk-`)IZD$pPj&~VM?{w`icHN}$;)fwwkI?@uQfiI z&8g1M%_mDBD~m}uYMYOJd)9}M(j&+37!{eAbMfFTLGR2C=r{L3YG+Ks&GLN>wO&re zk#>IX%fesI*Da-99o&EEXncJQHpx4?VZZMkD~M5d-hZxIqS@a?R?(fGGD;ZbuL{*vsDq>hoM|r&oSZ1^$-;EY zgz=Hj`x}sF7Zv6=LDOxKiJdKb36yEv&S>R{rhsLoIXfFCY1VYU{SB;)@2TGbDR^AnUYY=jWE&V-ldo zlN%gmwaJ4SqC!{RH-AQjb~3+i9MaKzIh4g?=4MWF*d$O-=oozFR+X0!A7_8@)3&iu zfba!wW@Tz+OntBTBaE=g#M0dULemC|j@jAJLu5Wu8;9Cb<`C+KY(`VBic++G%JhFK z3n3g_5Ky7#{roL<41=zRojiMd5S zfBg9I4ZRdUVTFk`1s4}x|B4WSJ--)$h?uKt%?j)#1_@svKf$b|q8(j^`VQ9-4aSUG2x~0WRWaBuLWquFegfh{xY8(oDqN)USGhMZ(wP zF9T2XSiuBX=|6G-2?Sx%&B?Kqot+&T2~O*eS6&^b;iPzd0G=-2p1VI-L`FBWG^gO> z3r7gw{!tl|9Id#vqVHX?V*C*UNNIn0=2^&w0P!y3!mNv_qGGUO@hpWubi?0lveI_c zQT6s(_=eW<)?VNtK!IIX9CYnuQdJ6#<)H%4zFg`f!s^yD)Zgx01)9ZF)`iG zI%*ngZx}%+7tV)AA@^Ma8RzoPA+w8#r-HyTU;%GK42_MC0ac%Qo=gT;(7lGcTtNB5 zhZhyg#R-?YA=U29R_HP^G7nKM%$}1O4oLkNGRXBnQ2J*M5be*vr7SPihQorPQ}htM6z1YO)ar^gOd z?CeD1;sIC-Gb1{Afi?8`l@);>t=)*id>}ZJ*KiA6#uPox)~wLycHbGYs^f%ISIgp^HkfCh!wdHeD!$^&pS!{mB$>6hMu9b<$F-~ z9o=8*mS3QUWHSojZ1wLr#$qmZ1qM>-vuP^h@iQYdNbWq6U+f|NNT}Si_>*A%-C48< z`s5fN@=0u`)vI|d(Z5NSi?k?l&A*=J{bSqlD1eFnJ0CCM`xoEv|3Z3y93b^OQMNAC zocka6Tn0CO@AUY{L|@Ih(weq^+VMrZUE2GX$bY<4%gLEID42?tHjdZ6m4=BJgsfqwsb;KvyJWmA5(k22T$U$P0j18St8on-;$NoL~%P4 zWn1y@X7D_)ns>WrKid=jIW-g|aKF2v$!d8|`$w^sQ?#CZV3?$zi5E7hR(&EsA;}~G z$)A$CGR9jS55cuHyrN6vG~=e2%H+DrwyN!MYTdt#4`92K7<9GIrs(~d8o_Yc3Gh^K zegKhm<0&(M)?X~H0LmVuVd~}D>k>GK$Aiz$NRE-3k~1wbQXhj*AaHe+!|~>Z{@uH~ z3+Hpx#X5rd#l@^_9zLF-*_qZaKii0J7=y3;QHY6mgZNw@U^{XDBCMu>^r}$!>IuCC zeV$yJFVLyPM5UYOdI2*D$1*izI*qqxVRW7CDnK^Gkh&C5Bil+ zK&2L(nehP*gfc>?pL?NXW8Q6@s9x%COMIM_Ur`}Bc1z5{&OMrB0+4?bMLL5bA^S^% zH3JjU{Lk@x?GoPs!ddb5$eF4qamXN3~}FnyNM9_w(yusK1w$IRgC$;tw9K zP;-tV-=LTZ6)I0$=$y>;_xk~qJ?LyVET^gI3owx!-B{jbWwb!*YP0Li05C_vH6P3x z5vi$TfcA@=!Z~pn@(+X6TKg|887B$omy~SE8IfcRu1PgC+Iaf%DqT+&*0;E^M%^+_8Ec5MPppnY1Ct2DZKe4fQQmJB;TmcijeEF4K=I=%L6xK$A zhRt0w5c8zY1snvV*+RQj(h9ag>y>_fe(RM$brpYoUGw-Q5fOmx7*XFAJB}3$b{8P3 zf%6?#z6-_9|4gCn8Y`fl8u@-~zKgheaL^kLNsDLoEiT3cL8`0yj<>hBL7StKsA*nvqJ~G7stD*N;-RDXM6j>TivET9ukC;S*_CnPYBQjV0TQ~gvIy&G&O85 zoqmug*QFgeGvFM zC(o$tCJyf*$`#V$pW7H>I{(dWANivGAjcN|QI_R%;dzVgUUr4v?|_QxCKg8gW$x0J zJ=WEAI{U)et=y$If>;3e(c4enWcTjJlwuKBK%zz&!O#k@-v(WudGJZ33=GJTeI9V2 zVJrQ+34PU+gxQ%<`mhM$uxiN;0E1+YCnY6?WoL^7ScA8il-mE(pFN3xS0*X{Q$~9{ ztfNCIAT4BC@XvUO%EkQu;HLj~g}Yyju)|s$_rWqYtu*1c^(Kq!b4MOQD%iL9ulAVQ zIE&wEccF>zq3!r)ahErDOH@IlFJjxT#m%tYq9u8iv;)H8cztHCSvn`PMk@;ZIEniO z0_r0kt=wEM&DI<%B^7MLVx!NlcRO*DleL`PT0X&cxP7CcF-n?UM_@B)qTO~u908e^ z2?ey%&643-a;&Nu`{wZa(Frf>6Eo~bc$kLqW1kJoI)5UiWst{if1fAc!b@YCRB;oC z)|LINi&=7}8hUQuKHgH_`=W_2QOeShGVZkhhhH;i-rljqVcczZXbNuq@n^m=Nw8aXocW2Z}x|hY`Vhhl}evqoz+YgNp2@=9@;}& z<`l+_(sbfDRkilFwZHE3R%d=qH!z{2{bu=UXgr?QCykFG|3sYz9Fwp^(EW%rR)yQK z-rd9&K$s|3HK-!j@^T6@1EIqUp~FdsRtQla-OmU4mWlZ8=Bd~>*>_C%Y)ht12FRc16w!?=lLj)^_R=cQSQ z7Uj@6$FFR3&bCr?9V)=KF7ZpAgAU|+iA(~n{IV70^7V$gB*Obz@GEwIzVnZ;G=&jQ zoTKmGtj&iD=lA4C9L-;9@kFUeWEK{8uds1aUaNK6?$CB_AE$w}oZwgcVM2(d(j~MU zg2`ob>;A!rfS2Goo$-cMxUXyiywL%-X<){Kl`S{ago{!Mo(W^LzIA!!^>S%MU(m_Z zE_(G3^Q&{ErM*m#CH?P0UfY&<5uOPjjleMz4*YSCnES9cIaEEi8pvYrFij`Nh4^DN z2iQ}h3;4WPhXy8QQa4N%{9)< z#=Fqt)^%LT??f(!!Ps6&yE2NNocDK}A#Gc0jb*%k+;;-eXX{n3=P8> z?3C34HMD*v+<6Bbw-de>Qz?z};WTE=%RRQ7WHkfO;s)@odDVK2wxoG7litw7Q`bUp zt!?d|*A(+@#NL-xHc~yOWKU?k07rMgTQ#jGgPb-TmC?za;rGXh%JMRH?>LXUTn}c8 z(k)h0ApIv!%C@~9xo>nV70%07SEuPbL+RJ+`e|!tw00l~AH-vKQ7OHUXLPJGa`DGU zrbc>53U4&9YG!9t)2RM1^$X(i3Q?pBZ{-|VzMd-2QY#G70`c{&++mCZqZDM7|P%5y71ii~`d1K^O zPn>Cz6k{5iO^D}ix5!ZNfs=!)`swO?f(0@$rx(UM4Y)Y#GV9g};j(HAnten_q2}&J*l#>E|JU+a${8~x3 zwQt&%`bmwncCWP-|7veR3gS2$n|du-m~tUR7oo4~C{2AmIVD5%4vr zjF}eqs=IOUvEgBzm=JGde-Qh|&w_6T-ZSx(qwWr8yfoI>rB-s}L%G;B5s;03k}aM1 zaT7R3!MR;{PC|^LdOzS!s_xnrqRzO`Z1Qpt11)WYc$zh@olY_=Jgx<3;MfEf_nbW0 z>gVBN9^vKDx0$Qf-q9XhwLW@{NF|u&4fZ_MWiy%1a6(t1ozN`AJ2L-NvXd=>+wm*v z&DdCQzO~lmhB^&z{(5S2%=y)qnT_ICH9{CR6>IXYyp-cI!CgvTd)@DKB;YQ#K6f9DKR-pd1uI&D% z3AquF;4JS{6Fh&CFPC3txTUl^1B>tm=@}0sikX@5_UdVMXSH>4thF{T0BVoI?q0^X zh_Q(KlKU^>@j@R4rnP}xMpF&@+;85Tne|u$svlr?Z|rvRORH4gG**N6A7%O%gN&E~ zIZ767LX?X?uzNB!R4TKeAgTV!wf`JA%*iozV)IymsRLUufgJ4zP;slTl&W5h9Y3Bt z5S3k1&4O0HscB5Fam=x&sTQ0cLjGF|pshs3+nl_j5l1}uJ*S{9Zl)8z{~S1^SXUub zh8}1mXM9*MbG62jv;O#1k4);0W7bcpPDS7XBJd2Y!@(P9(`2!%i}$_hwvlri~0Mn8wTa!Q+-vhWdZL@ zRs79gt;V7zt;W$fQd7MRm?nnDr$5H$gTsa&G2HAL2AtAm$+^kbgRf(xT%5rV&|Eei zA6BePC|I48v#o^utQ5_ti%e4+ab$9=J7bwBB{MdT)F`?Z=c@Ud{>6$wwk&@j9r@Li z7WXt)4?G?4j{tU(*0dI{H;)+vOB#;`y(b1UBoXaOzB59`E)B|uW@+RXMMJaqZ7uSx z;Yfk~C7-9SD2Oc?Yt3?q#!qD$>&VlJsh>cgS__VOReHpdj2o3diQhbz(zt;Luug9r zIBkh|8VQmi8X`@VD!iD-r)`z&_UKE^R)Nc~D0c2N8!7W5ncobW%doH6j+($@p^)6J ze%y`jnCT7m16vH?PCVA1+1U0zI<&=Bi{1C>#tW3qBlKWw!137g!2U>BM={N-hC&_H zRTscYn${K;aIQ|nwCv2US#4|xWVj63$k~pytqQp5c0u(tUi=LWcOJ4u8q})PfhN)yAdrHrl6VGM}(iBL|G%6hhu^F2Jgcta<*byI}Jgf^h;qhGQuXL2~#{4e9f8!T^lBbI6ZHI!*LRpfWvfvilCL%v%3oC1lUbKK=Z+#2o|n>+^cO95 z@FMjQjmAF{h=PQ7=w&RYkh@3=WGJ{@ecdR^gV|$j2*sy0Aw(pm9VISR7_MW4(YtDl z>^8z2SLO#-oSoG0_1o%&<%gn9o-ErJ*4po`S<|X1Lg{nIW!$TTi2$76RBK&JMGq5% zMkdtc9p2s7IISNl;7ya>pGNOFobByW7?Qt!8vj)Fo#oa+#bT3$RRuJ|23xmuA$_I% zYE4~*eos%&mq56*yXg-o4U|g!R z_Ac#3u3g7E^We+F)n>^uOU>3YKV*&0#zarhL$4~w)8)5GXqVKSk`D7Gx`2tXHu3T*Y?_i;lU z+=^6Lpy=RT5p%_|nO35C_h=JsXM>$Xs*`i%$&CuUZ^T&mUWIQT_j13Ch z6~9kWuU(g_KZri~nZnl1IE@6VG?sk?vYf9#c7-8D2-!8$yMRE$e2iB0`e^gcJ08S> zu1`ku&`6@A;+M^{RSP4zHWzGdSy@v2ipJ7Q&$B8k(YbFN$^m^QNKFUA%LShICl{A{ zzc3bB>)iCNyRZ}|O*W)E#?C*O=-JBi_d3k=pvZ*h;W^(vsc|9RKP7p&>bivL3-e4c z`k*gYj<%3iIM1K(J1uhk#5JP8p#m`@p=d8G3( z626KK`rIne{5J4Q2iaaa`;&K)kM3$MUP+Z;DlB{L_qANS(;{aGFD2JEf7C>4)uNOl z_3W$Srv)YUXL+ji)lrIjpZt%z!PI^MKVTx^csicbro<<9xP%e=2Qy*R@tg1em?d>g zvVE=2A{(OfL2Q?vQ{O5+9zNI}9+G4hMJnE)v#!280B`ou529==k9b6jSU0S7TRDZ0 zHb^|9USKwT8}olPc9v05Ene6k3#2 zXaF- z3cbFW`~(Dly^?o2Yp6Xm?vq z@7vbFKib?kbxzIMJpLg@7Jaw8FF<#DqFQr_ zv(_HzdFc`^V$qv*o14%2n)+Zx#Aa$2>$!g>bRw~aJc7?7qZLeyuPhGejbY1s9oXqk zOe|bY1LkfV&j2E&N43P&^wv5j*^9#Rz1w|z`O$(s>PEGwn!f9i>0{ajIibwHpxjYDMYlctg) zJh3#XsC3}`z${Dt{l5H_*VfI>sTA91Sz$#>Lt^l zd*Q5|bx2TTRk75DYTGNb;Dj%4hJW0DZdR7jklik%U-)P;nx@#v>mF@X=`$5}c9G0h z+mI2bK%KN6$wl)-y>q{#*_>SY#kt&M%$kCw6S_msa5GaePEYTA;k|0-xKGKQF|~-+ zb6f5{dgQow5so|3D0GfT*zhMx6m=O?d_`eky) zVQ17msyHE<+sJoJg@5OpiprkAF9ijtZZyfk>xGqou|e3j9UorTy7#4u%GJ%S@<5Tp za>nc#(A5zuYD^!^DwhhGV(027(C#sMmXanKKBY}m+#zD+Rxli8Yh+q6=JnJYvMRg(L;2ZFasn*}yLfyUJH!WZR!oB90ZE z2Ib@ViFT)8I`R*Uo0+jkON>+V-pF2JSh>8G9vC-0rX8j$59mTQUbLLzQ{%9x(!;!8 z@c&ePd|AOYg|>v8?x6&A<`#lf-C=lg`LnpL-=BaeZI%|iNr|O+2;&XDTdj9!GeeqEyBM;fe2R8alB0>= ztby|9`~ZK|QnTqQjD-;gQ71a56m*Kk#E#bcrottow3*?3g!VSP8bjCQlxmP( zL;!Zvm*C~PYyFzHo&kXUl z)6e{PM8ddZiP*8&%_&N+`12xo}vkW~S|X zPtt&+=;p6-es!r`$gPeaR@-guv;&{}X9JpN1PGTD>f!XOL%OyQ+6a+3oZC&y6;Vr1 zBEp~iX^cuQg=UfN_rY^o5s?ZsNEZ%cEyx7aF%<9s%Dt@(I8A<(!W}!D> z=9fNt%AQK#8B@mj9oMWMM_pmXQ~Ui5?av)qwYX<}257gA3+nFdS5zq?Fy~<$HQabK z)qL;E+&$|>x~e~zW<(0wOmAnSHEQU`mQpmyN>WHeR)e{`zOJSXv%8R!ek4uzx)lgI z&rPW`v)YtbilGn>$3Onk9eQxbH8fnKo_jsvrey}Iw*sQ;XP8V8L=Zv~IQ+P({JYpq zmqK&()p_1=%C71)zPK#sw6fzY6u$F>#r~A%(V1>3?p<4rJ2U@JqD4aJ-hrsQrJ35@#4GHwhXc}s?3xHg$kK>pZW&E|FrDB z*o)%&>mujY-6>yq_)B}bX&!@}Z_a=Rg))SHBIwefeYPIcSazHgyVDHCY55Yrprl56 z$QPHOi=}06TU16~mr*{kWI3QsgE6kD?54o|eQ;t7W{zv3x|xl?t9fMq)DD{$>8xo( zS`m}^r2~HNWZsnC^XwF}|M+s#X}9XmJdGk2gNYd#{k`8WD=p)z2gd~V{6TJ#L|kY{Eh@m@<9SL18-G3??` zL?Loo`eR^;$b*9fe5LBN#YCvt9i2exw{`57-CJ~o;vA!@W)=UbTyG;F*kdNLs$1Dw zC3@cHaRoKKw-54?D*No%=(9JTn9Bf5zX8>2x_ne%V5?X8h%B7VOFemajgvLq!#r>2 zc36h92g>O)N{-PK;|ewi^?-xk1+r7*5JFkkW zDNh`9f@?RqSp^BfVqsZXPhVMhZWD!%z6qK6cwfhaBPx4Ej;dhqt5#So`hBvF7R@yF zNrGkM-RB&9@FGhc#DU(Vx;iZ&TKx=zm4_jAHyB%^nRqdno7FAPF%nmSUKM@cXCobY z`>2bD>nQABLin*L4G>)#qyFSD|9& zy~XZQ+lh@$3z-Z%NNYW=q~#2%w#&0}W7rp0rzNI)&@~eEcE;nJi}>glLHea@8`(2G zs7a&wR=S-doc&XA?U(vU^xf7c6Ok*kFz>W6d(94|)!v_TZn{LAWb;6>?Ig`(=ERTG zZiAjaR{MO~|2ZaKZzoc>M8x={0yj;tg3nGNcM{1d5GM^T-?|9hu4HH2ILB?P`I2HvKZF-&9%qpH#X%lpDLZk6Sjd7PX z!IBOeYIqx$(qy$fDDfyHqiBFv?wNv!y_w#^YA>otlEcl=_Ax7Y#<~7%cP$I%_+R;m zT zBl@;aCZ3c^JzEO%peL_iiogk3jEuUWT)TmweQk!)vXIb&TC8)~mLPMBnML-vc8BC`>3) zb~n-P-=%6l|F$h;xpvj26At><0v8IXMVW&{`Lz~1{-=;Wp3l*lx(;h~I zjXM8j-k&Eh={UCKcea8NEMIB^N*CU47wPD@yOKOPp-v*E7csCHoR7Ktv3GZGRXY?P z$KS5I{pG{2m}%O=()~%*Fww_M9Qd_^iY*}_v`(9oFZ9G%z;A|H*VeW>7xpQ)ByBnj zj#QplR|QWoz)X=MU>!T|pz1=Z>z*BkEC1X_yyg=rDj7JT_Wc=~hG}7D5{IqgR$%&a zLf>8p@=!1nq~S`_`%ou=xx1f&j zt{nGK0$$9Hi~@atKW=5=Wy`s3+GZ?SdJQP0bRR{UeiV{>sqO#Di0^fd+-EI^_JQGk z(J5283gK~d8lsC5BFXXEkgm{L&NZB1Sd$q!`ij_G1e_HCC}PQ5dgl>cD9zIcoRGh@ z&I5HAs3o9xM{eM_e7tU*tnqYGykwJvWFhgRIEk6rV$`7L-WbBv#hJ9`*A?vAXl5p|s1IMaO;*__`&W<6aE3;=^4(2Y+Z|nNQ%K7a<$U;_&9Cmx><|%QMWrZELl_jEZr1Va21ZMJvz=`|C#*lh+MT?CRvCSH`2hrDzqJ>VG% zM%mU6hv6De7)8u44SZdugoTe0el;R$;R==xQkP9%aS`?qY>;B)=zMlcMfrhV z%%F7d7hWRBkuckfa3l+>t%RgwRGkXeG(RUv?dkDk%aY|Kbuk`F%APia%3XW0a#-Hm zZF230nUXyh*l50~1D$b_`TR}QLb#xO<8IP?jB^q`?{wly%~SP<^`KAcO}>_d@o+~h z273Drg^-||7Vdq@9U?5OwHBF;P0T3!qVrcWj~*u5mGBdR##ACur6n#qf;v)U;yik$ zXp?tR@nxtcwo=HlQoQZlK@spijLa0rM1nc};m_9(zw(EKQ)y%}0Ib zeXz>DxN~Wb)w(Sf`&1iG;j6)R$0JAJ9zG!y;CfBe0Z>)IK3-*Q5djo!uf!x}R+2^c ztL}{Zq_M^CHcGi19xlvWxWe48T9o~O(}Atj(AByDxC^7izXT1h)O)kN%Si^aYYmGn zM_{L0g2F#xqJW9+BLETDMgXGqswVg&2#vDL&0C|>vKFckxV4%W7bg@N5wYuO-K!Wa zGshs7yE*A}Bpy`f>UlH0QJ5Z>cRy=%%UA8-fo6HFT1=XXI(FhCTGjW1OMmwbyFG|q z7ynG4?Lj_@kqfBD8{rn#J@9ZKAE{=Rl%e1CscI~nHE_zL_(jNsC-qP{a;PDiDr6>dNo6cA96|OY@{Xtx1=Sb&%e?I7EvfgWnS_pOgcTfO{0&=+<@o zu7)KP@5ae8f(+nV6lYof-X9t7`ZI=J?cgWu)-f8qyxZ2Z15ajAGVre>{-Ay-TAzq^ zj}`k9-G!7LmIcgih^2;E8I!PK zkP$-l?b(F;Dz{#m36`u^!qfprCiCt9vYm}3I7U3tU@Tn*m{&8u{0v1<`$9z$1qsk= zTkB*jM=nO<;FC43mv$2NW9>h2i(bb16|$k~jNn%7_ddZbH^Vr9It&8ge(Qr-Kf{@% z$Dw4SiKA;q3f~H6>uNAsMbG(UvqGw~Z`be~o%vo`>f4JwV;Q5mw7qeB7!tKDNmpv$ znWz^z*DR>%b8+$jVK`c25GBNP^;B>`s46p8UDWkdS2t&&WFozXKD|bBtyi4Kd!e79 z31ZXncBT3y6oI$w+KohDejXXYxQ*fKM4k22i{%ntT~{b)p~7UauCGQpEnI z0y^66Ck}C85h+Z;n$Zu+bDkkOB0-LU8Jc8r?QO%CvLWqv+1DgP+{@a5% zp9BH6ZqYC7a&)j1zm7wlK(eT6 z_VY!*`b>USom)NzRD`-UUoxkBoH^nQ%gau0;Xw}$a&I9F(`(LpRoLw+pw7;sr>A~o zLdBA<^KUqVnxLpVc&hPgkTjFvCSTM3A1Ykwbm1{0#m6&;xYr41M#DlGYWN0&kPreQ z^lr-X!Ti`*R^~UWc88kS#b)7z#WXLiM2MK7GyR`iX?O6BD(sQI80K`A2I6Z$b6Hk- zQy{4i4J=C~n*!f!H>=0(%g=ic^dXHnY;2nv@yrAgSQ=*Vw1+;TNn6kF!?IdP+LPXM*8+y-{{+ER{X8%a-S`U=sASm$UiO$?DUq3Y+T7F~SyS|DTfqK4taGi3q zGbTIAu-(I*LN9CL9G%60Gv{b(p)%w=>J7#oo%NBE5)3z$j%eZ%+wER?b9St~e!SoB z&(P%l*?0T_mbwAQZwf&kz2jX+W-+hRGVfWdv4^?Sv3JisCiJGyQA)OwlMlou%GRxz z<>m4*n>K+RudS=F3Mnn-OWbiWLkn2fBIw^pAl3rAqGCL~4XowgH{Ajng5t;ON zt*Y|$WyDeO%|SGKS7IXZ^dku{d|ZD4^R}{@7W9FHY!OqL)omIpg$9*a4Y5ljtGO<*#N zO9y)*Zh~Uhi%V=E7hZX75t_&ek}?M1DFx%#&j_HXRZ(|LDf5)Q9ye|Iso|G=i9m@v zUR_{KEwYm{tfO%sQ0`D2#%5iC{%5b{GGP`WuhS%6;}>cT-!#yY}hv@5Xl-Z6!wor{=_hDi3rJ zho2~E905BhH{n%X$-&Xl*XpEn$~#H;d5>VM!W-Oa-C_Hw)0N%mt?l-q4IR2-d%1e^ zJtLcnuO;-wZdU~tDcmgM&W4C?Q6pvPo0tFwNLdfK2WSCJ=oa6 zRvW2Wc3Sh={xUIe0J=8{%LjhsI9(2Nm7PU_ z1l^tS2)Ft-ZggLyxSM>vqHNY{V$8LR>)<{l#(=%K8BAVqzO))w2cY!|vc^(H(7O(H z3LPGmP7`-sGxY4sW!8{eYh7M<2mk|44=LKdvnECZrsg0)ZzFFh718c3mU;G2 z_pI!V{}s%?>|Yn2|JuKeqV_%>F8>Q8)9(Wj9@se(kBXu|qF953P7?K05QWmAboEoW zR9jR!l+0N^Xd&Q?wZ3}J7s`0!bp=i{Eto5CfOmlU13g1GhJd>c5@K5`{ zO*w>v$mk&iB_`AO0cJV7z2jB#+18=+?}G#LxP-t?jepI=`N9I>r|++jg4j!BGi)Cq z&iWH>nu*iX;+C;f2P+AYs8+M6FpCwS-=lBGlc!+;UW)Ye2WHVOmO!X+JR$H9hwt{A ztqU7Ez;y8rdz8wo{URnfO@*P@y0hWdH3DABIN9#K&_5en7PVVBQRn<{k0DIxnc&dW z6hd81$h_A{;*~&>LGv@FgfYs-%g=Z?&d<~=P(h}xqTFs2_sUCu2G;Ap-1apc`Rn%8 zWUOxDTJrB=_*m5ndgo)ox*S2X+w3nOSU_)}+JKd|QL+7m9yAY_t1MzPgb?gH3 zDUNgM?x+KzCREwaN4@`P;>-2XVBLQjiNm{{E456gX%M>QV>E5CAD~%DY^AJGwVk7`l6pHLB))K zU1vY`_C;GpETZU`1=RN~v}4nKxn*)BoJ`2BTWU7Y!XdSzSH#kM^7CQ@gXFw%H|Dfa zv~M7^ZR1?Cv8wP#b;T?8|J!d`S}nTZbSIyPK;WY$zdBFfz*B02!istg?sSx7ee&O132tnhC> zA@V4|Q&F23)qI>W)%WdhW#iw??GL;m7sEZf;mAFc-jLHGtM=A_DyM{_WqF81&wb}M zT_Gv%vC*$YeEeTOirB9ioB2pFb#~;+$KC*WmaX<9H&1`$S1M}@)8_7+PAfh$Ezu|) zeT^YoS^1(PGW*mAPxGG7PT!CaHTHtE{~L$Et_)?f z=JQOv7ZSd1zTHan*Qnm^^z6*(OAdiF?qgQgp!)desRkc)(N|Fiivwr@h_gp1f|&Ku z0ju~I*_m2M)ud-5u8=2q6{lzQ5b z;>`s_Ii1fPhbDA2dsfPWsNq&t=-oklPjL?Q2q0%*kzoLw7#eRf3%VIk#C@_xo>i&M> z{Qp9(#J!~W3`Ns0LO_HiCV_*B>WHgc59a|@Bl$Q#1o@SSvy@toyVBZ*qsR!En2;@} zsl^wzF;#w{B?zE>_7wpLM5=SdZRXOGuDF7cM}{D#nzj_3k2#*=q`b>k4M=S}K~f9~ z(E4AIbYp77q#$wJlp)jg4u4y2zySRCE$$no8Zd6@c*7`VX9u9H7z-X7_ly2wC2W8w!$Wpi-Up0NOB_Ee`<%BpJ*(Io| zw*V^z&=YJ+$HA=!KlQhckH5-yTL?@;xTUN9)A*m`0N;w=nORxO0G~4oQV>bM1wxj0X+x#%P zidW`gjO0%JA5nz)uC_dH_?sz`mjZ~>*<&)jz~*Q-2$)joiik;RF(eOlNdt0=$xrtp z@ZJqF0A|7N_N7?k*X99NJKzkA>$$OKyZVU$>0hiXGO?`XfZyS2v}Szh_0ECl z$%;%5kW(PXf*b;$izfg9FJ-9wE06MB=B06c^ie@%I&e_~2f0EdHn7;Gn`+JHo&gj) zec6xn0sK|&nXS|7V`H5gPyWX}0^#2{tv{qE->y&4o?}*n{lOvE(8!wsKv;LT?iK!# zhSzUOf!G)R0ZstHlEY?!{F#1%>Q=Y*`9DPK{{u8>v<3VriU2hWCsh9LDL4&D;}HEp z5x`M+#4hJpAn6{5Ea&ShV@(c1|2gu94_CK_zS9Wat@_dgJUkAhB&YVYM8?$r{{VEd B;!OYm literal 0 HcmV?d00001 From e2ad0529fef7b54e9419347bcddc8b7e439b64a7 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Mon, 12 Jan 2026 13:16:17 +0900 Subject: [PATCH 11/45] Update docs/Architecture.md Co-authored-by: Fabio Vincenzi <93596376+fabiovincenzi@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 182b80b1d..b8ad74520 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -11,7 +11,7 @@ GitProxy has several main components: - Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000`. - 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 - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - - Plugin: A custom processor that can be added externally to extend GitProxy's default policies. See the plugin guide for more details. + - 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. - Service/API (`/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`. - 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)). From 5ee2aef0781b6e058735eb1e0fc33c730ed26767 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Mon, 12 Jan 2026 13:17:04 +0900 Subject: [PATCH 12/45] Update docs/Architecture.md Co-authored-by: Fabio Vincenzi <93596376+fabiovincenzi@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index b8ad74520..da33eb1a2 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -219,7 +219,7 @@ Source: [/src/proxy/processors/push-action/checkIfWaitingAuth.ts](/src/proxy/pro Allows executing pre-receive hooks from `.sh` scripts located in the `./hooks` directory. **Also allows bypassing the manual approval process.** This enables admins to reuse GitHub enterprise commit policies and provide a seamless experience for contributors who no longer need to wait for approval or be aware of GitProxy intercepting their pushes. -Pre-receive hooks are a feature that allows blocking unwanted commits based on rules described in `.sh` scripts. GitHub provides a set of [sample rules](https://github.com/github/platform-samples/blob/master/pre-receive-hooks) to get started. +Pre-receive hooks are a feature that allows blocking or automatically approving commits based on rules described in `.sh` scripts. GitHub provides a set of [sample rules](https://github.com/github/platform-samples/blob/master/pre-receive-hooks) to get started. This processor will block the push depending on the exit status of the pre-receive hook: From d3e6650b5777afdf264453df2d87ba86e21d9d74 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Mon, 12 Jan 2026 13:18:50 +0900 Subject: [PATCH 13/45] Update docs/Architecture.md Co-authored-by: Fabio Vincenzi <93596376+fabiovincenzi@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Architecture.md b/docs/Architecture.md index da33eb1a2..f9239c951 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -221,6 +221,7 @@ Allows executing pre-receive hooks from `.sh` scripts located in the `./hooks` d Pre-receive hooks are a feature that allows blocking or automatically approving commits based on rules described in `.sh` scripts. GitHub provides a set of [sample rules](https://github.com/github/platform-samples/blob/master/pre-receive-hooks) to get started. +**Important**: The pre-receive hook does not bypass the other processors in the chain. All processors continue to execute normally, and any of them can still block the push. The pre-receive hook only determines whether the push will be auto-approved, auto-rejected, or require manual review after all processors have completed. This processor will block the push depending on the exit status of the pre-receive hook: - Exit status `0`: Sets the push to `autoApproved`, skipping the requirement for subsequent approval. Note that this doesn't affect the other processors, which may still block the push. From cd16b787abb74c3b37adff9303eba9ab949c06ef Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Mon, 12 Jan 2026 13:21:09 +0900 Subject: [PATCH 14/45] Update docs/Architecture.md Co-authored-by: Fabio Vincenzi <93596376+fabiovincenzi@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index f9239c951..ab5ded3f1 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -217,7 +217,7 @@ Source: [/src/proxy/processors/push-action/checkIfWaitingAuth.ts](/src/proxy/pro #### `preReceive` -Allows executing pre-receive hooks from `.sh` scripts located in the `./hooks` directory. **Also allows bypassing the manual approval process.** This enables admins to reuse GitHub enterprise commit policies and provide a seamless experience for contributors who no longer need to wait for approval or be aware of GitProxy intercepting their pushes. +Allows executing pre-receive hooks from `.sh` scripts located in the `./hooks` directory. **Also allows automating the approval process.** This enables admins to reuse GitHub enterprise commit policies and provide a seamless experience for contributors who no longer need to wait for manual approval or be aware of GitProxy intercepting their pushes. Pre-receive hooks are a feature that allows blocking or automatically approving commits based on rules described in `.sh` scripts. GitHub provides a set of [sample rules](https://github.com/github/platform-samples/blob/master/pre-receive-hooks) to get started. From 754f5ecb043da53065b40f6fb71f6842c6cabaf2 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Mon, 12 Jan 2026 13:21:37 +0900 Subject: [PATCH 15/45] Update docs/Architecture.md Co-authored-by: Fabio Vincenzi <93596376+fabiovincenzi@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index ab5ded3f1..2efbfc9cb 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -225,7 +225,6 @@ Pre-receive hooks are a feature that allows blocking or automatically approving This processor will block the push depending on the exit status of the pre-receive hook: - Exit status `0`: Sets the push to `autoApproved`, skipping the requirement for subsequent approval. Note that this doesn't affect the other processors, which may still block the push. - - Exit status `1`: Sets the push to `autoRejected`, automatically rejecting the push regardless of whether the other processors succeed. - Exit status `2`: Requires subsequent approval as any regular push. From 3975018ce1555f0fe39a1a20a612bd4726116075 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Mon, 12 Jan 2026 13:23:26 +0900 Subject: [PATCH 16/45] Update docs/Architecture.md Co-authored-by: Fabio Vincenzi <93596376+fabiovincenzi@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 2efbfc9cb..3b5405314 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -226,7 +226,9 @@ This processor will block the push depending on the exit status of the pre-recei - Exit status `0`: Sets the push to `autoApproved`, skipping the requirement for subsequent approval. Note that this doesn't affect the other processors, which may still block the push. - Exit status `1`: Sets the push to `autoRejected`, automatically rejecting the push regardless of whether the other processors succeed. -- Exit status `2`: Requires subsequent approval as any regular push. +- Exit status `2`: Requires subsequent manual approval as any regular push, even if all processors succeed. + +For detailed setup instructions and examples, see the [Pre-Receive Hook configuration guide](https://git-proxy.finos.org/docs/configuration/pre-receive/). Source: [/src/proxy/processors/push-action/preReceive.ts](/src/proxy/processors/push-action/preReceive.ts) From c8528755f8b28aedded87dfad2744b906510d536 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Mon, 12 Jan 2026 13:25:20 +0900 Subject: [PATCH 17/45] Update docs/Architecture.md Co-authored-by: Fabio Vincenzi <93596376+fabiovincenzi@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 3b5405314..7aa3c3da9 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -225,7 +225,7 @@ Pre-receive hooks are a feature that allows blocking or automatically approving This processor will block the push depending on the exit status of the pre-receive hook: - Exit status `0`: Sets the push to `autoApproved`, skipping the requirement for subsequent approval. Note that this doesn't affect the other processors, which may still block the push. -- Exit status `1`: Sets the push to `autoRejected`, automatically rejecting the push regardless of whether the other processors succeed. +- Exit status `1`: Sets the push to `autoRejected`, automatically rejecting the push after the chain completes, regardless of whether the other processors would have allowed it. - Exit status `2`: Requires subsequent manual approval as any regular push, even if all processors succeed. For detailed setup instructions and examples, see the [Pre-Receive Hook configuration guide](https://git-proxy.finos.org/docs/configuration/pre-receive/). From c6da24b97704ead3f52e3e8603635e5ff9d776e3 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Mon, 12 Jan 2026 14:17:04 +0900 Subject: [PATCH 18/45] docs: document missing audit processor and prereceive handling after chain execution --- docs/Architecture.md | 63 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/docs/Architecture.md b/docs/Architecture.md index 7aa3c3da9..be149589a 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -96,6 +96,12 @@ This chain is executed when making any operation other than a `git push` or `git - [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) +#### Finally + +After processors in the chain are done executing, [`audit`](#audit) is called to store the action along with all of its execution steps in the database for auditing purposes. + +Then, if the action was auto-approved or auto-rejected as a result of running [`preReceive`](#prereceive), it will attempt to auto-approve or auto-reject it. + ### Processors Processors (also known as push/pull actions) represent operations that each push or pull must go through in order to get approved or rejected. @@ -312,6 +318,63 @@ Note that this message will show again even if the push had been previously reje Source: [/src/proxy/processors/push-action/blockForAuth.ts](/src/proxy/processors/push-action/blockForAuth.ts) +#### `audit` + +This action is executed at the end of the chain. It stores in the database the entire `Action` object along with the list of `steps` that the action has gone through. It also stores any error messages that might have come up in one of the processors. + +Note: **`audit` does not write pull actions** to the DB. + +An action object (or entry in the pushes table) might look like this: + +```json +{ + "steps": [ + { + "logs": [ + "checkRepoInAuthorisedList - repo https://github.com/finos/git-proxy.git is in the authorisedList" + ], + "id": "73d47899-b1f8-45f0-9fd5-ef2535a07bbd", + "stepName": "checkRepoInAuthorisedList", + "content": null, + "error": false, + "errorMessage": null, + "blocked": false, + "blockedMessage": null + } + ], + "error": false, + "blocked": false, + "allowPush": false, + "authorised": false, + "canceled": false, + "rejected": false, + "autoApproved": false, + "autoRejected": false, + "commitData": [], + "id": "1763522405484", + "type": "default", + "method": "GET", + "timestamp": 1763522405484, + "url": "https://github.com/finos/git-proxy.git", + "repo": "https://github.com/finos/git-proxy.git", + "project": "finos", + "repoName": "git-proxy.git", + "lastStep": { + "logs": [ + "checkRepoInAuthorisedList - repo https://github.com/finos/git-proxy.git is in the authorisedList" + ], + "id": "73d47899-b1f8-45f0-9fd5-ef2535a07bbd", + "stepName": "checkRepoInAuthorisedList", + "content": null, + "error": false, + "errorMessage": null, + "blocked": false, + "blockedMessage": null + }, + "_id": "h69TOxN1AMsxd0xr" +} +``` + ### Authentication Currently, three different authentication methods are provided for interacting with the UI and adding users. This can be configured by editing the `authentication` array in `proxy.config.json`. From 7fd31dbaa341ddecbc574e2cfc6598828695fb19 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Mon, 12 Jan 2026 14:50:47 +0900 Subject: [PATCH 19/45] docs: improve clearBareClone explanation, add plugin guide links, remove todos --- docs/Architecture.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index be149589a..7b73391d5 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -12,7 +12,6 @@ GitProxy has several main components: - 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 - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - 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. - - Service/API (`/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`. - 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)). - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom plugin and processor development, there is no need for users or GitProxy administrators to interact with the API directly. @@ -52,9 +51,8 @@ Three types of policies can be applied to incoming pushes: - Configurable policies: These are policies that can be easily configured through the GitProxy config (`proxy.config.json` or a custom file). - For example, [`checkCommitMessages`](#checkcommitmessages) which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it. - Custom policies: - - Plugins: Push/pull plugins provide more flexibility for implementing an organization's rules. For more information, see the guide on writing your own plugins. + - 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). - 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. - ## The nitty gritty @@ -193,9 +191,7 @@ Source: [/src/proxy/processors/push-action/checkUserPushPermission.ts](/src/prox Clones the repository and temporarily stores it locally. For private repos, it obtains the authorization headers and uses them to authenticate the `git clone` operation. -For security reasons, the cloned repository is deleted later in [`clearBareClone`](#clearbareclone). - - +The cloned repository is deleted later in [`clearBareClone`](#clearbareclone). This is done for a few reasons, including security (removing existing user credentials), disk space management and multiuser support. Source: [/src/proxy/processors/push-action/pullRemote.ts](/src/proxy/processors/push-action/pullRemote.ts) @@ -263,9 +259,16 @@ Source: [/src/proxy/processors/push-action/gitleaks.ts](/src/proxy/processors/pu #### `clearBareClone` -Recursively removes the contents of `./.remote`, which is the location where the bare repository is cloned in [`pullRemote`](#pullremote). This exists to prevent tampering with Git data. +Recursively removes the contents of `./.remote`, which is the location where the bare repository is cloned in [`pullRemote`](#pullremote). This exists for various reasons: - +- Security (isolating credentials): + - Since repositories require `username` and `password` on clone, these variables must be removed to prevent leaking between requests. +- Managing disk space: + - Without deletion, `./.remote` would grow indefinitely as new repositories are added/proxied + - Each action gets a unique directory for isolation in [`pullRemote`](#pullremote), which is then deleted in `clearBareClone` +- Multiuser support: + - Manage access to different repositories for multiple users + - Prevent one user from accessing another user's cached session data Source: [/src/proxy/processors/push-action/clearBareClone.ts](/src/proxy/processors/push-action/clearBareClone.ts) @@ -653,9 +656,7 @@ Cypress.Commands.add('getCSRFToken', () => { Defines a list of plugins to integrate on GitProxy's push or pull actions. Accepted values are either a file path or a module name. -See the plugin guide for more setup details. - - +See the [plugin guide](https://git-proxy.finos.org/docs/development/plugins) for more setup details. #### `authorisedList` From 5bf8f5184b7c399fa7922fc6427d7491ad8d64f2 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Mon, 12 Jan 2026 15:19:59 +0900 Subject: [PATCH 20/45] docs: update architecture diagram and set bg to white --- docs/Architecture.md | 2 +- docs/img/GitProxy_Architecture.png | Bin 0 -> 172425 bytes docs/img/architecture.png | Bin 174757 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/img/GitProxy_Architecture.png delete mode 100644 docs/img/architecture.png diff --git a/docs/Architecture.md b/docs/Architecture.md index 7b73391d5..c6a779b48 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -22,7 +22,7 @@ GitProxy has several main components: These are all the core components in the project, along with some basic user interactions: -![GitProxy Architecture Diagram](./img/architecture.png) +![GitProxy Architecture Diagram](./img/GitProxy_Architecture.png) ### Pushing to GitProxy diff --git a/docs/img/GitProxy_Architecture.png b/docs/img/GitProxy_Architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..2effa86ebc4ee09ba845c615babc2b668dbab6d6 GIT binary patch literal 172425 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

U=mYh%C0@P_f26x?y>yrv4QO7@*Rl8jl!Yl*r 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 FngBp)4=w-z literal 0 HcmV?d00001 diff --git a/docs/img/architecture.png b/docs/img/architecture.png deleted file mode 100644 index 04f6b3f5792624bc8bf75a95d6320ff3fd84fc25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174757 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

U=mYh%C0@P_f26x?y>yrv4QO7@*Rl8jl!Yl*r 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 FngBp)4=w-z

f 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�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 From 4ea94338aa9afdc15b26c0f911a5a88d18bb4bda Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Fri, 16 Jan 2026 22:48:34 +0900 Subject: [PATCH 21/45] docs: add JWT api authentication guide --- docs/Architecture.md | 64 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index c6a779b48..47cb304c0 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -692,13 +692,69 @@ Currently unused. #### `apiAuthentication` -Allows defining methods for authenticating to the API. This is useful for securing custom/automated solutions that rely on the GitProxy API, as well as adding an extra layer of security for the UI. - -Currently, only JWT auth is supported. See the [`jwtAuthHandler` middleware](/src/service/passport/jwtAuthHandler.ts) for more details. +Allows defining ways to authenticate to the API. This is useful for securing custom/automated solutions that rely on the GitProxy API, as well as adding an extra layer of security for the UI. If `apiAuthentication` is left empty, API endpoints will be publicly accesible. - +Currently, only JWT auth is supported. This is implemented via the [`jwtAuthHandler` middleware](/src/service/passport/jwtAuthHandler.ts). Aside of validating incoming access tokens, it can also assign roles based on the token payload. + +##### Setting up JWT Authentication + +When JWT authentication is enabled, all incoming requests must provide a valid JWT access token in the UI. This can be set in the settings tab. + +If no token, or an invalid/expired token is set, requests will fail with a `401` Unauthorized response. + +The JWT auth configuration looks like this: + +```json +{ + "type": "jwt", + "enabled": true, + "jwtConfig": { + "authorityURL": "https://accounts.google.com", + "clientID": "my-client-id.apps.googleusercontent.com", + "expectedAudience": "https://accounts.google.com", + "roleMapping": { + "admin": { + "name": "John Doe" + } + } + } +} +``` + +`authorityURL` must point to an OIDC issuer. This URL is used to fetch signing keys and to verify the token’s issuer. If this value is missing, the server will return a 500 error. + +`clientID` is required and used for token validation. If not configured, requests will fail with a server error. + +`expectedAudience` defines which audience (aud claim) the token must contain. When not explicitly set, the middleware falls back to using the `clientID` as expected audience. Tokens issued for a different audience will be rejected, even if they are otherwise valid. + +If the JWT cannot be verified, is expired, or doesn't match the expected issuer or audience, the API responds with `401 Unauthorized`. + +##### Role Mapping + +After a token is successfully validated, role assignment is done based on `roleMapping`. The decoded JWT payload is matched against these rules. Roles will be assigned when a key-value pair in the claims matches the ones in the configuration. These roles are then assigned to the `Request.user` value. + +For example, to assign `req.admin` to users whose name matches "John Doe": + +```json +"roleMapping": { + "admin": { + "name": "John Doe", + } +} +``` + +##### Errors + +If JWT authentication is enabled, requests may fail for various reasons, including: + +- Missing JWT token (must set token in UI Settings page) +- Invalid or expired token +- Mismatched issuer or audience +- Missing required configuration in `proxy.config.json` + +To solve most of these, check that GitProxy's JWT configuration is correct, and that the user has set a valid JWT in the UI Settings page. #### `tls` From 378c7f21174bf7af5a2ee88104cd9c0e72434c0c Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 4 Feb 2026 02:57:33 +0000 Subject: [PATCH 22/45] Update docs/Architecture.md Co-authored-by: Fabio Vincenzi <93596376+fabiovincenzi@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 47cb304c0..9c35ca327 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -226,7 +226,7 @@ Pre-receive hooks are a feature that allows blocking or automatically approving **Important**: The pre-receive hook does not bypass the other processors in the chain. All processors continue to execute normally, and any of them can still block the push. The pre-receive hook only determines whether the push will be auto-approved, auto-rejected, or require manual review after all processors have completed. This processor will block the push depending on the exit status of the pre-receive hook: -- Exit status `0`: Sets the push to `autoApproved`, skipping the requirement for subsequent approval. Note that this doesn't affect the other processors, which may still block the push. +- Exit status `0`: Sets the push to `autoApproved`. If no other processors block the push, the contributor can immediately push again to the upstream repository without waiting for manual approval. - Exit status `1`: Sets the push to `autoRejected`, automatically rejecting the push after the chain completes, regardless of whether the other processors would have allowed it. - Exit status `2`: Requires subsequent manual approval as any regular push, even if all processors succeed. From 562c3b136b74fcd05e5f11c94b1651ce9b78a5ec Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 4 Feb 2026 03:09:22 +0000 Subject: [PATCH 23/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 9c35ca327..848beaeec 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -8,7 +8,7 @@ As mentioned in [the README](/README.md), GitProxy is an application that interc GitProxy has several main components: -- Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000`. +- Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000` or ``8443` if TLS is enabled. - 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 - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - 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. From 7fa4b29be9b77099cec1f4dca67d0af8feec0c34 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 4 Feb 2026 12:20:48 +0900 Subject: [PATCH 24/45] docs: proxy env variables configuration, add suggestions section --- docs/Architecture.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 848beaeec..5ee7f3c28 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -8,11 +8,11 @@ As mentioned in [the README](/README.md), GitProxy is an application that interc GitProxy has several main components: -- Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000` or ``8443` if TLS is enabled. +- Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000` or `8443` if TLS is enabled. These can be changed through the `GIT_PROXY_SERVER_PORT` and `GIT_PROXY_HTTPS_SERVER_PORT` environment variables. - 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 - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - 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. -- Service/API (`/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`. +- Service/API (`/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. - 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)). - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom plugin and processor development, there is no need for users or GitProxy administrators to interact with the API directly. - Configuration (`/src/config`): Loads and validates the configuration from `proxy.config.json`, or any provided config file. Allows customising several aspects of GitProxy, including databases, authentication methods, predefined allowed repositories, commit blocking rules and more. For a full list of configurable parameters, check the [config file schema reference](https://git-proxy.finos.org/docs/configuration/reference/). @@ -224,6 +224,7 @@ Allows executing pre-receive hooks from `.sh` scripts located in the `./hooks` d Pre-receive hooks are a feature that allows blocking or automatically approving commits based on rules described in `.sh` scripts. GitHub provides a set of [sample rules](https://github.com/github/platform-samples/blob/master/pre-receive-hooks) to get started. **Important**: The pre-receive hook does not bypass the other processors in the chain. All processors continue to execute normally, and any of them can still block the push. The pre-receive hook only determines whether the push will be auto-approved, auto-rejected, or require manual review after all processors have completed. + This processor will block the push depending on the exit status of the pre-receive hook: - Exit status `0`: Sets the push to `autoApproved`. If no other processors block the push, the contributor can immediately push again to the upstream repository without waiting for manual approval. @@ -837,3 +838,7 @@ If the default values are set to `enabled: true`, any routes matching `/dashboar ``` When the constraints are not met, the user will be redirected to the login page or a 401 Unauthorized page will be shown. + +## Suggestions? + +If you have suggestions to improve this guide or fill in missing details, feel free to [raise an issue](https://github.com/finos/git-proxy/issues/new?template=feature_request.md) or open a PR with the desired changes. From faa0dc2eef615d7fdc0bb3783253c484b3d72fbe Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 4 Feb 2026 13:02:30 +0900 Subject: [PATCH 25/45] chore: fix invalid JSON and todo --- docs/Architecture.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 5ee7f3c28..f5482b3ee 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -92,7 +92,6 @@ Executed when a user makes a `git clone` or `git pull` to GitProxy: This chain is executed when making any operation other than a `git push` or `git pull`. - [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) - #### Finally @@ -128,7 +127,7 @@ Source: [/src/proxy/processors/push-action/checkEmptyBranch.ts](/src/proxy/proce #### `checkCommitMessages` -A **configurable** processor that blocks pushes containing commit messages that match the provided literals or patterns. These patterns can be configured in `proxy.config.json` or the active configuration file: +A **configurable** processor that blocks pushes containing commit messages that match the provided literals or patterns. These patterns can be configured in the `commitConfig.message` entry in `proxy.config.json` or the active configuration file: ```json "commitConfig": { @@ -142,7 +141,6 @@ A **configurable** processor that blocks pushes containing commit messages that } } }, - // Defines patterns/literals to block pushes based on their commit messages "message": { "block": { "literals": [], @@ -275,7 +273,7 @@ Source: [/src/proxy/processors/push-action/clearBareClone.ts](/src/proxy/process #### `scanDiff` -A **configurable** processor that blocks pushes containing diff (changes) that match the provided literals or patterns. These patterns can be configured in `proxy.config.json` or the active configuration file: +A **configurable** processor that blocks pushes containing diff (changes) that match the provided literals or patterns. These patterns can be configured in the `commitConfig.diff` entry in `proxy.config.json` or the active configuration file: ```json "commitConfig": { @@ -295,7 +293,6 @@ A **configurable** processor that blocks pushes containing diff (changes) that m "patterns": [] } }, - // Defines patterns/literals to block pushes based on their diff "diff": { "block": { "literals": [], From 8e86cb88c8403e312adce3b2acbd8be24688ff05 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:07:45 +0900 Subject: [PATCH 26/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index f5482b3ee..7aa0428e4 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -77,7 +77,6 @@ Executed when a user makes a `git push` to GitProxy. These are the actions in `p - [`preReceive`](#prereceive) - [`getDiff`](#getdiff) - [`gitleaks`](#gitleaks) -- [`clearBareClone`](#clearbareclone) - [`scanDiff`](#scandiff) - [`blockForAuth`](#blockforauth) From add83447301e607e29f4764fc4d580d5415672c2 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:09:03 +0900 Subject: [PATCH 27/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 7aa0428e4..b4bd96e57 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -94,9 +94,11 @@ This chain is executed when making any operation other than a `git push` or `git #### Finally -After processors in the chain are done executing, [`audit`](#audit) is called to store the action along with all of its execution steps in the database for auditing purposes. +After processors in the chain are done executing, [`audit`](#audit) is called to store the action along with all of its execution steps in the database for auditing purposes. -Then, if the action was auto-approved or auto-rejected as a result of running [`preReceive`](#prereceive), it will attempt to auto-approve or auto-reject it. +If [`pullRemote`](#pullremote) ran successfully and cloned the repository, then [`clearBareClone`](#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. + +Finally, if the action was auto-approved or auto-rejected as a result of running [`preReceive`](#prereceive), it will attempt to auto-approve or auto-reject it. ### Processors From 232fce049f6e46c21c97242636cc0f9b7bcb29b4 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:10:16 +0900 Subject: [PATCH 28/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/Architecture.md b/docs/Architecture.md index b4bd96e57..9a120488f 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -85,6 +85,9 @@ Executed when a user makes a `git push` to GitProxy. These are the actions in `p Executed when a user makes a `git clone` or `git pull` to GitProxy: - [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) +- + +At present the pull action chain is only checking that the repository is configured in Git Proxy, ensuring that it will block pull requests for unknown repositories. #### Default action chain From cd2099d33cfa40f38d3ea52a8405b331551263de Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:10:44 +0900 Subject: [PATCH 29/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/Architecture.md b/docs/Architecture.md index 9a120488f..578fc7216 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -94,6 +94,9 @@ At present the pull action chain is only checking that the repository is configu This chain is executed when making any operation other than a `git push` or `git pull`. - [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) +- + +At present the default action chain is only checking that the repository is configured in Git Proxy, ensuring that it will block all git client requests for unknown repositories. #### Finally From 8e8a0a0c1dbad8e15207af5e40bd3e5cf94518ff Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:13:43 +0900 Subject: [PATCH 30/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 578fc7216..6a6795bef 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -122,7 +122,7 @@ Source: [/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts](/src/pr Parses the push request data which comes from the Git client as a buffer that contains packet line data. If anything unexpected happens during parsing, such as malformed pack data or multiple ref updates in a single push, the push will get rejected. -Also handles extraction of push contents, such as commit and committer data. +Also handles extraction of push contents, such as the details of the individual commits contained in the push and the details of `committer` (the user attempting to push the commits through the proxy). Source: [/src/proxy/processors/push-action/parsePush.ts](/src/proxy/processors/push-action/parsePush.ts) From 2f2966a67ad311daca1aad936cac16ddb238041b Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:14:58 +0900 Subject: [PATCH 31/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 6a6795bef..fd9e619ef 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -194,7 +194,9 @@ Source: [/src/proxy/processors/push-action/checkUserPushPermission.ts](/src/prox #### `pullRemote` -Clones the repository and temporarily stores it locally. For private repos, it obtains the authorization headers and uses them to authenticate the `git clone` operation. +Clones the repository and temporarily stores it locally in a subdirectory of the _.remote_ folder in the deployment. Each clone is named using the base and head SHA of the push, ensuring a unique clone for each different push. The path to the subdirectory is set in the action as the `proxyGitPath` property and is used in subsequent steps. + +For private repos, `pullRemote` uses the authorization headers from the push and uses them to authenticate the `git clone` operation. The cloned repository is deleted later in [`clearBareClone`](#clearbareclone). This is done for a few reasons, including security (removing existing user credentials), disk space management and multiuser support. From 3402ccb19a6cd63e84431855a2f1d01477757f2c Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:17:11 +0900 Subject: [PATCH 32/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index fd9e619ef..1d768a440 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -198,7 +198,9 @@ Clones the repository and temporarily stores it locally in a subdirectory of the For private repos, `pullRemote` uses the authorization headers from the push and uses them to authenticate the `git clone` operation. -The cloned repository is deleted later in [`clearBareClone`](#clearbareclone). This is done for a few reasons, including security (removing existing user credentials), disk space management and multiuser support. +In the event that the clone fails, pullRemote will automatically delete the _.remote/*_ directory that it created - unless that failure was caused by a concurrent request for the same push (so that the earlier request can complete if it is going to). + +If the clone succeeds then the chain will schedule deletion of the clone by [`clearBareClone`](#clearbareclone) after processing of the chain completes. This ensures that disk space used is recovered, subsequent pushes of the same SHA don't conflict and that user credentials cached in the git clone are removed. Source: [/src/proxy/processors/push-action/pullRemote.ts](/src/proxy/processors/push-action/pullRemote.ts) From 4c5d95b38feb491d77ad380760f51f45314e6d33 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:22:48 +0900 Subject: [PATCH 33/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 1d768a440..c0eb19312 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -280,7 +280,15 @@ Recursively removes the contents of `./.remote`, which is the location where the - Manage access to different repositories for multiple users - Prevent one user from accessing another user's cached session data -Source: [/src/proxy/processors/push-action/clearBareClone.ts](/src/proxy/processors/push-action/clearBareClone.ts) +Recursively removes the contents of the (modified) repository clone stored in `./.remote` by [`pullRemote`](#pullremote) and indivated by the `proxyGitPath` property of the `Action`. This clean-up is necessary for: + +- Security (cached credentials): + - Since repositories require a git username and password or personal access token (PAT) on clone and these are cached in the clone, they must be removed to prevent leakage. +- Managing disk space: + - Without deletion, `./.remote` would grow indefinitely as new repository clones are added for each push (rather than each repository!) + - Each action gets a unique directory for isolation in [`pullRemote`](#pullremote), which allows pushes to the same repository for multiple users to be processed concurrently without conflicts or confusion over credentials. + +Source: [/src/proxy/processors/push-action/clearBareClone.ts](/src/proxy/processors/post-processor/clearBareClone.ts) #### `scanDiff` From ac4895658f431cbf85f57157b9ff349aa1cfa161 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:25:28 +0900 Subject: [PATCH 34/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index c0eb19312..c064c126d 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -332,7 +332,7 @@ Source: [/src/proxy/processors/push-action/scanDiff.ts](/src/proxy/processors/pu This action appends a message to be displayed after all the processors have finished on a pre-approval push. -Note that this message will show again even if the push had been previously rejected by a reviewer. After a manual rejection, pushing again creates a new `action` object so that the push can be re-reviewed and approved. +Note that this message will show again even if the push had been previously rejected by a reviewer or cancelled and resubmitted by the committer. After a manual rejection, pushing again creates a new `action` object so that the push can be re-reviewed and approved. ![blockForAuth output](./img/blockForAuth_output.png) From 5548c1502f423d89666f81ea4e68869449b3a982 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:26:54 +0900 Subject: [PATCH 35/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index c064c126d..30e152fce 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -340,7 +340,7 @@ Source: [/src/proxy/processors/push-action/blockForAuth.ts](/src/proxy/processor #### `audit` -This action is executed at the end of the chain. It stores in the database the entire `Action` object along with the list of `steps` that the action has gone through. It also stores any error messages that might have come up in one of the processors. +This action is executed after a chain has been executed. It stores in the database the entire `Action` object along with the list of `steps` that the action has gone through and their associated logs or error messages that occurred during processing of the chaind. Note: **`audit` does not write pull actions** to the DB. From addb952679df4318f1115ce645835d9660762649 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:30:42 +0900 Subject: [PATCH 36/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 30e152fce..8be5f8a63 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -635,7 +635,7 @@ Currently unused. #### `contactEmail` -Sets the contact email for the Open Source Program Office in the attestation form: +Sets the contact email for the Open Source Program Office (or equivalent organisational contact) in the attestation form: ![Attestation Form](./img/attestation_example.png) From 43c20afd9fbe83ae4edd43e51e2eadc09edaf6b0 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:31:07 +0900 Subject: [PATCH 37/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 8be5f8a63..8b2c84f39 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -677,7 +677,7 @@ See the [plugin guide](https://git-proxy.finos.org/docs/development/plugins) for #### `authorisedList` -Defines a list of repositories that are allowed to be pushed to through the proxy. Note that **repositories can also be added through the UI or manually editing the database**. +Defines a initial list of repositories that are allowed to be pushed to through the proxy. Note that **repositories can also be added through the UI, API or by manually editing the database**. Sample values: From e4343f7d313daf02d903a98dca7ed6d78819ac7a Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:34:12 +0900 Subject: [PATCH 38/45] Update docs/Architecture.md Co-authored-by: Kris West Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 8b2c84f39..72783dcf4 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -719,7 +719,7 @@ Currently, only JWT auth is supported. This is implemented via the [`jwtAuthHand When JWT authentication is enabled, all incoming requests must provide a valid JWT access token in the UI. This can be set in the settings tab. -If no token, or an invalid/expired token is set, requests will fail with a `401` Unauthorized response. +If no token, or an invalid/expired token is sent, requests will fail with a `401` Unauthorized response. The JWT auth configuration looks like this: From 012d9128a872ca9cab1bf13480d81368dc1480f7 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:36:33 +0900 Subject: [PATCH 39/45] Update docs/Architecture.md Co-authored-by: Thomas Cooper <57812123+coopernetes@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 72783dcf4..876113b1a 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -8,7 +8,7 @@ As mentioned in [the README](/README.md), GitProxy is an application that interc GitProxy has several main components: -- Proxy (`/src/proxy`): The actual proxy for Git. Git operations performed by users are intercepted here to apply the relevant **chain**. Also loads **plugins** and adds them to the chain. Runs by default on port `8000` or `8443` if TLS is enabled. These can be changed through the `GIT_PROXY_SERVER_PORT` and `GIT_PROXY_HTTPS_SERVER_PORT` environment variables. +- 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. - 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 - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - 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. From 04f241b03008756bc594ac19f0ba96cac7b99a7e Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:38:36 +0900 Subject: [PATCH 40/45] Update docs/Architecture.md Co-authored-by: Thomas Cooper <57812123+coopernetes@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 876113b1a..94d1111f1 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -16,7 +16,7 @@ GitProxy has several main components: - 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)). - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom plugin and processor development, there is no need for users or GitProxy administrators to interact with the API directly. - Configuration (`/src/config`): Loads and validates the configuration from `proxy.config.json`, or any provided config file. Allows customising several aspects of GitProxy, including databases, authentication methods, predefined allowed repositories, commit blocking rules and more. For a full list of configurable parameters, check the [config file schema reference](https://git-proxy.finos.org/docs/configuration/reference/). -- UI (`/src/ui`): Allows user-friendly interactions with the application. Shows the list of pushes requiring approval, the list of repositories that users can contribute to, and more. Also allows users to easily review the changes in a push, and approve or reject it manually according to company policy. +- Web UI, React (`/src/ui`): Allows user-friendly interactions with the application. Shows the list of pushes requiring approval, the list of repositories that users can contribute to, and more. Also allows users to easily review the changes in a push, and approve or reject it manually according to company policy. ## Diagram From 48bbf14178c4e884bede282ec342f9699c684112 Mon Sep 17 00:00:00 2001 From: Juan Escalada <97265671+jescalada@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:41:07 +0900 Subject: [PATCH 41/45] Update docs/Architecture.md Co-authored-by: Thomas Cooper <57812123+coopernetes@users.noreply.github.com> Signed-off-by: Juan Escalada <97265671+jescalada@users.noreply.github.com> --- docs/Architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 94d1111f1..2a3f9ddb2 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -12,7 +12,7 @@ GitProxy has several main components: - 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 - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - 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. -- Service/API (`/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. +- 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. - 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)). - Routes: All the API endpoints used by the UI and proxy to perform operations and fetch or modify GitProxy's state. Except for custom plugin and processor development, there is no need for users or GitProxy administrators to interact with the API directly. - Configuration (`/src/config`): Loads and validates the configuration from `proxy.config.json`, or any provided config file. Allows customising several aspects of GitProxy, including databases, authentication methods, predefined allowed repositories, commit blocking rules and more. For a full list of configurable parameters, check the [config file schema reference](https://git-proxy.finos.org/docs/configuration/reference/). From 4e0382c11e9249d506529882de0edfa9572815d1 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 11 Feb 2026 13:08:39 +0900 Subject: [PATCH 42/45] docs: add parseAction entry and pre-processors section --- docs/Architecture.md | 59 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index 2a3f9ddb2..f683d0de9 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -8,7 +8,7 @@ As mentioned in [the README](/README.md), GitProxy is an application that interc GitProxy has several main components: -- 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. +- 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. - 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 - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` - 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. @@ -56,6 +56,10 @@ Three types of policies can be applied to incoming pushes: ## The nitty gritty +### Pre-processors + +Pre-processors run before executing the chain. Currently, only executes [`parseAction`](#parseaction), which is in charge of classifying requests as push/pull/default and creating the `Action` object used by the chain. + ### Action Chains Action chains are a list of processors that a Git operation goes through before awaiting approval. Three action chains are currently available: @@ -85,7 +89,6 @@ Executed when a user makes a `git push` to GitProxy. These are the actions in `p Executed when a user makes a `git clone` or `git pull` to GitProxy: - [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) -- At present the pull action chain is only checking that the repository is configured in Git Proxy, ensuring that it will block pull requests for unknown repositories. @@ -94,15 +97,14 @@ At present the pull action chain is only checking that the repository is configu This chain is executed when making any operation other than a `git push` or `git pull`. - [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) -- At present the default action chain is only checking that the repository is configured in Git Proxy, ensuring that it will block all git client requests for unknown repositories. -#### Finally +### Post-processors -After processors in the chain are done executing, [`audit`](#audit) is called to store the action along with all of its execution steps in the database for auditing purposes. +After processors in the chain are done executing, [`audit`](#audit) is called to store the action along with all of its execution steps in the database for auditing purposes. -If [`pullRemote`](#pullremote) ran successfully and cloned the repository, then [`clearBareClone`](#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. +If [`pullRemote`](#pullremote) ran successfully and cloned the repository, then [`clearBareClone`](#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. Finally, if the action was auto-approved or auto-rejected as a result of running [`preReceive`](#prereceive), it will attempt to auto-approve or auto-reject it. @@ -112,6 +114,12 @@ Processors (also known as push/pull actions) represent operations that each push Processors do not necessarily represent policies. Some processors are just operations that help fetch or process data: For example, [`pullRemote`](#pullremote) simply clones the remote repository from the Git host. +#### `parseAction` + +A pre-processor that classifies the request into a pull, a push or "default" if it fails to match these. This allows GitProxy to run the correct chain (`pushActionChain`, `pullActionChain` or `defaultActionChain`). Then, it creates an Action object which is used by the selected chain. + +This action also handles fallbacks for v1 legacy proxy URLs. + #### `checkRepoInAuthorisedList` Checks if the URL of the repo being pushed to is present in the GitProxy repo database. If no repo URL in the database matches, the push is blocked. @@ -198,7 +206,7 @@ Clones the repository and temporarily stores it locally in a subdirectory of the For private repos, `pullRemote` uses the authorization headers from the push and uses them to authenticate the `git clone` operation. -In the event that the clone fails, pullRemote will automatically delete the _.remote/*_ directory that it created - unless that failure was caused by a concurrent request for the same push (so that the earlier request can complete if it is going to). +In the event that the clone fails, pullRemote will automatically delete the _.remote/\*_ directory that it created - unless that failure was caused by a concurrent request for the same push (so that the earlier request can complete if it is going to). If the clone succeeds then the chain will schedule deletion of the clone by [`clearBareClone`](#clearbareclone) after processing of the chain completes. This ensures that disk space used is recovered, subsequent pushes of the same SHA don't conflict and that user credentials cached in the git clone are removed. @@ -267,29 +275,6 @@ This processor runs the Gitleaks check starting from the root commit to the `com Source: [/src/proxy/processors/push-action/gitleaks.ts](/src/proxy/processors/push-action/gitleaks.ts) -#### `clearBareClone` - -Recursively removes the contents of `./.remote`, which is the location where the bare repository is cloned in [`pullRemote`](#pullremote). This exists for various reasons: - -- Security (isolating credentials): - - Since repositories require `username` and `password` on clone, these variables must be removed to prevent leaking between requests. -- Managing disk space: - - Without deletion, `./.remote` would grow indefinitely as new repositories are added/proxied - - Each action gets a unique directory for isolation in [`pullRemote`](#pullremote), which is then deleted in `clearBareClone` -- Multiuser support: - - Manage access to different repositories for multiple users - - Prevent one user from accessing another user's cached session data - -Recursively removes the contents of the (modified) repository clone stored in `./.remote` by [`pullRemote`](#pullremote) and indivated by the `proxyGitPath` property of the `Action`. This clean-up is necessary for: - -- Security (cached credentials): - - Since repositories require a git username and password or personal access token (PAT) on clone and these are cached in the clone, they must be removed to prevent leakage. -- Managing disk space: - - Without deletion, `./.remote` would grow indefinitely as new repository clones are added for each push (rather than each repository!) - - Each action gets a unique directory for isolation in [`pullRemote`](#pullremote), which allows pushes to the same repository for multiple users to be processed concurrently without conflicts or confusion over credentials. - -Source: [/src/proxy/processors/push-action/clearBareClone.ts](/src/proxy/processors/post-processor/clearBareClone.ts) - #### `scanDiff` A **configurable** processor that blocks pushes containing diff (changes) that match the provided literals or patterns. These patterns can be configured in the `commitConfig.diff` entry in `proxy.config.json` or the active configuration file: @@ -395,6 +380,20 @@ An action object (or entry in the pushes table) might look like this: } ``` +#### `clearBareClone` + +Recursively removes the contents of the (modified) repository clone stored in `./.remote` by [`pullRemote`](#pullremote) and indivated by the `proxyGitPath` property of the `Action`. This clean-up is necessary for: + +- Security (cached credentials): + - Since repositories require a git username and password or personal access token (PAT) on clone and these are cached in the clone, they must be removed to prevent leakage. +- Managing disk space: + - Without deletion, `./.remote` would grow indefinitely as new repository clones are added for each push (rather than each repository!) + - Each action gets a unique directory for isolation in [`pullRemote`](#pullremote), which allows pushes to the same repository for multiple users to be processed concurrently without conflicts or confusion over credentials. + +`clearBareClone` runs only if `pullRemote` was successful. + +Source: [/src/proxy/processors/post-processor/clearBareClone.ts](/src/proxy/processors/post-processor/clearBareClone.ts) + ### Authentication Currently, three different authentication methods are provided for interacting with the UI and adding users. This can be configured by editing the `authentication` array in `proxy.config.json`. From 1be19750cf6948c2256eaf73c07a16d23cbf6736 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 11 Feb 2026 13:37:23 +0900 Subject: [PATCH 43/45] docs: improve checkUserPushPermission description, fix typos and wording --- docs/Architecture.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/Architecture.md b/docs/Architecture.md index f683d0de9..8eae0c640 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -47,7 +47,7 @@ These are all the core components in the project, along with some basic user int Three types of policies can be applied to incoming pushes: - Default policies: These are already present in the GitProxy pull/push chain and require modifying source code to change their behaviour. - - For example, [`checkUserPushPermission`](#checkuserpushpermission) which simply checks if the user'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. + - For example, [`checkUserPushPermission`](#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. - Configurable policies: These are policies that can be easily configured through the GitProxy config (`proxy.config.json` or a custom file). - For example, [`checkCommitMessages`](#checkcommitmessages) which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it. - Custom policies: @@ -90,7 +90,7 @@ Executed when a user makes a `git clone` or `git pull` to GitProxy: - [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) -At present the pull action chain is only checking that the repository is configured in Git Proxy, ensuring that it will block pull requests for unknown repositories. +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. #### Default action chain @@ -98,7 +98,7 @@ This chain is executed when making any operation other than a `git push` or `git - [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) -At present the default action chain is only checking that the repository is configured in Git Proxy, ensuring that it will block all git client requests for unknown repositories. +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. ### Post-processors @@ -174,7 +174,7 @@ A **configurable** processor that blocks pushes containing commit messages that If the arrays are empty, the checks will pass and chain execution will continue. -Note that invalid regex patterns will also fail the `isMessageAllowed` check. +Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. Source: [/src/proxy/processors/push-action/checkCommitMessages.ts](/src/proxy/processors/push-action/checkCommitMessages.ts) @@ -184,13 +184,13 @@ Similar to [`checkCommitMessages`](#checkcommitmessages), allows configuring all If neither of these are configured (set to empty strings), then the checks will pass and chain execution will continue. -Note that this processor will also fail on invalid regex in the configuration. +Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. Source: [/src/proxy/processors/push-action/checkAuthorEmails.ts](/src/proxy/processors/push-action/checkAuthorEmails.ts) #### `checkUserPushPermission` -Checks if the push has an valid user email associated to it, and if that user is allowed to push to that specific repo. +Checks if the push has a valid user email associated to it (the email of the user making the push, **not the individual commit authors**), and if that user is allowed to push to that specific repo. This step will fail on various scenarios such as: @@ -198,6 +198,8 @@ This step will fail on various scenarios such as: - The email associated to the push matches multiple GitProxy users - The user with the given email isn't in the repo's contributor list (`canPush`) +Note: The _pusher_ can potentially be a different user from the _commit author(s)_. In order to filter the commit authors, you must use the `commitConfig.author` config entry. See [`checkAuthorEmails`](#checkauthoremails) for more details. + Source: [/src/proxy/processors/push-action/checkUserPushPermission.ts](/src/proxy/processors/push-action/checkUserPushPermission.ts) #### `pullRemote` @@ -208,7 +210,7 @@ For private repos, `pullRemote` uses the authorization headers from the push and In the event that the clone fails, pullRemote will automatically delete the _.remote/\*_ directory that it created - unless that failure was caused by a concurrent request for the same push (so that the earlier request can complete if it is going to). -If the clone succeeds then the chain will schedule deletion of the clone by [`clearBareClone`](#clearbareclone) after processing of the chain completes. This ensures that disk space used is recovered, subsequent pushes of the same SHA don't conflict and that user credentials cached in the git clone are removed. +If the clone succeeds then the chain will schedule deletion of the clone by [`clearBareClone`](#clearbareclone) after processing of the chain completes. This ensures that disk space used is recovered, subsequent pushes of the same SHA don't conflict and that user credentials cached in the `git clone` are removed. Source: [/src/proxy/processors/push-action/pullRemote.ts](/src/proxy/processors/push-action/pullRemote.ts) @@ -309,7 +311,7 @@ A **configurable** processor that blocks pushes containing diff (changes) that m This will scan every file changed and try to match the configured literals, patterns or providers. If any diff violations are found, the push is blocked. -Note that this processor will fail if the configured regex patterns are invalid. +Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. Source: [/src/proxy/processors/push-action/scanDiff.ts](/src/proxy/processors/push-action/scanDiff.ts) @@ -325,7 +327,7 @@ Source: [/src/proxy/processors/push-action/blockForAuth.ts](/src/proxy/processor #### `audit` -This action is executed after a chain has been executed. It stores in the database the entire `Action` object along with the list of `steps` that the action has gone through and their associated logs or error messages that occurred during processing of the chaind. +This action is executed after a chain has been executed. It stores in the database the entire `Action` object along with the list of `steps` that the action has gone through and their associated logs or error messages that occurred during processing of the chain. Note: **`audit` does not write pull actions** to the DB. From 26a6e9c1bdf11fcf04828f486e4d0b698f91f9bb Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 11 Feb 2026 14:14:05 +0900 Subject: [PATCH 44/45] docs: move processors into own file and update links --- docs/Architecture.md | 340 ++++--------------------------------------- docs/Processors.md | 287 ++++++++++++++++++++++++++++++++++++ 2 files changed, 313 insertions(+), 314 deletions(-) create mode 100644 docs/Processors.md diff --git a/docs/Architecture.md b/docs/Architecture.md index 8eae0c640..f8caa6ab1 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -10,7 +10,7 @@ GitProxy has several main components: - 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. - 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 - - Processor: AKA `Step`. A specific step in the chain where certain rules are applied. See the [list of default processors](#processors) below for more details.` + - 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.` - 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. - 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. - 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)). @@ -47,9 +47,9 @@ These are all the core components in the project, along with some basic user int Three types of policies can be applied to incoming pushes: - Default policies: These are already present in the GitProxy pull/push chain and require modifying source code to change their behaviour. - - For example, [`checkUserPushPermission`](#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. + - 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. - Configurable policies: These are policies that can be easily configured through the GitProxy config (`proxy.config.json` or a custom file). - - For example, [`checkCommitMessages`](#checkcommitmessages) which reads the configuration and matches the string patterns provided with the commit messages in the push in order to block it. + - 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. - Custom policies: - 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). - 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. @@ -58,7 +58,7 @@ Three types of policies can be applied to incoming pushes: ### Pre-processors -Pre-processors run before executing the chain. Currently, only executes [`parseAction`](#parseaction), which is in charge of classifying requests as push/pull/default and creating the `Action` object used by the chain. +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. ### Action Chains @@ -68,27 +68,27 @@ Action chains are a list of processors that a Git operation goes through before Executed when a user makes a `git push` to GitProxy. These are the actions in `pushActionChain`, by order of execution: -- [`parsePush`](#parsepush) -- [`checkEmptyBranch`](#checkemptybranch) -- [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) -- [`checkCommitMessages`](#checkcommitmessages) -- [`checkAuthorEmails`](#checkauthoremails) -- [`checkUserPushPermission`](#checkuserpushpermission) -- [`pullRemote`](#pullremote) -- [`writePack`](#writepack) -- [`checkHiddenCommits`](#checkhiddencommits) -- [`checkIfWaitingAuth`](#checkifwaitingauth) -- [`preReceive`](#prereceive) -- [`getDiff`](#getdiff) -- [`gitleaks`](#gitleaks) -- [`scanDiff`](#scandiff) -- [`blockForAuth`](#blockforauth) +- [`parsePush`](./Processors.md#parsepush) +- [`checkEmptyBranch`](./Processors.md#checkemptybranch) +- [`checkRepoInAuthorisedList`](./Processors.md#checkrepoinauthorisedlist) +- [`checkCommitMessages`](./Processors.md#checkcommitmessages) +- [`checkAuthorEmails`](./Processors.md#checkauthoremails) +- [`checkUserPushPermission`](./Processors.md#checkuserpushpermission) +- [`pullRemote`](./Processors.md#pullremote) +- [`writePack`](./Processors.md#writepack) +- [`checkHiddenCommits`](./Processors.md#checkhiddencommits) +- [`checkIfWaitingAuth`](./Processors.md#checkifwaitingauth) +- [`preReceive`](./Processors.md#prereceive) +- [`getDiff`](./Processors.md#getdiff) +- [`gitleaks`](./Processors.md#gitleaks) +- [`scanDiff`](./Processors.md#scandiff) +- [`blockForAuth`](./Processors.md#blockforauth) #### Pull action chain Executed when a user makes a `git clone` or `git pull` to GitProxy: -- [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) +- [`checkRepoInAuthorisedList`](./Processors.md#checkrepoinauthorisedlist) 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. @@ -96,305 +96,17 @@ At present, the pull action chain is only checking that the repository is config This chain is executed when making any operation other than a `git push` or `git pull`. -- [`checkRepoInAuthorisedList`](#checkrepoinauthorisedlist) +- [`checkRepoInAuthorisedList`](./Processors.md#checkrepoinauthorisedlist) 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. ### Post-processors -After processors in the chain are done executing, [`audit`](#audit) is called to store the action along with all of its execution steps in the database for auditing purposes. +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. -If [`pullRemote`](#pullremote) ran successfully and cloned the repository, then [`clearBareClone`](#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. +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. -Finally, if the action was auto-approved or auto-rejected as a result of running [`preReceive`](#prereceive), it will attempt to auto-approve or auto-reject it. - -### Processors - -Processors (also known as push/pull actions) represent operations that each push or pull must go through in order to get approved or rejected. - -Processors do not necessarily represent policies. Some processors are just operations that help fetch or process data: For example, [`pullRemote`](#pullremote) simply clones the remote repository from the Git host. - -#### `parseAction` - -A pre-processor that classifies the request into a pull, a push or "default" if it fails to match these. This allows GitProxy to run the correct chain (`pushActionChain`, `pullActionChain` or `defaultActionChain`). Then, it creates an Action object which is used by the selected chain. - -This action also handles fallbacks for v1 legacy proxy URLs. - -#### `checkRepoInAuthorisedList` - -Checks if the URL of the repo being pushed to is present in the GitProxy repo database. If no repo URL in the database matches, the push is blocked. - -Source: [/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts](/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts) - -#### `parsePush` - -Parses the push request data which comes from the Git client as a buffer that contains packet line data. If anything unexpected happens during parsing, such as malformed pack data or multiple ref updates in a single push, the push will get rejected. - -Also handles extraction of push contents, such as the details of the individual commits contained in the push and the details of `committer` (the user attempting to push the commits through the proxy). - -Source: [/src/proxy/processors/push-action/parsePush.ts](/src/proxy/processors/push-action/parsePush.ts) - -#### `checkEmptyBranch` - -Checks if the push contains any commit data, or is just an empty branch push (pushing a new branch without any additional commits). Empty branch pushes are blocked because subsequent processors require commit data to work correctly. - -Source: [/src/proxy/processors/push-action/checkEmptyBranch.ts](/src/proxy/processors/push-action/checkEmptyBranch.ts) - -#### `checkCommitMessages` - -A **configurable** processor that blocks pushes containing commit messages that match the provided literals or patterns. These patterns can be configured in the `commitConfig.message` entry in `proxy.config.json` or the active configuration file: - -```json -"commitConfig": { - "author": { - "email": { - "local": { - "block": "" - }, - "domain": { - "allow": ".*" - } - } - }, - "message": { - "block": { - "literals": [], - "patterns": [] - } - }, - "diff": { - "block": { - "literals": [], - "patterns": [], - "providers": {} - } - } -}, -``` - -If the arrays are empty, the checks will pass and chain execution will continue. - -Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. - -Source: [/src/proxy/processors/push-action/checkCommitMessages.ts](/src/proxy/processors/push-action/checkCommitMessages.ts) - -#### `checkAuthorEmails` - -Similar to [`checkCommitMessages`](#checkcommitmessages), allows configuring allowed domains or blocked "locals" (the part before "@domain.com"). If any commit(s) author email(s) match the `local.block` regex, the push gets blocked. Likewise, if any of the emails' domains does not match the `domain.allow` regex, the push gets blocked. - -If neither of these are configured (set to empty strings), then the checks will pass and chain execution will continue. - -Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. - -Source: [/src/proxy/processors/push-action/checkAuthorEmails.ts](/src/proxy/processors/push-action/checkAuthorEmails.ts) - -#### `checkUserPushPermission` - -Checks if the push has a valid user email associated to it (the email of the user making the push, **not the individual commit authors**), and if that user is allowed to push to that specific repo. - -This step will fail on various scenarios such as: - -- Push has no email associated to it (potentially a push parsing error) -- The email associated to the push matches multiple GitProxy users -- The user with the given email isn't in the repo's contributor list (`canPush`) - -Note: The _pusher_ can potentially be a different user from the _commit author(s)_. In order to filter the commit authors, you must use the `commitConfig.author` config entry. See [`checkAuthorEmails`](#checkauthoremails) for more details. - -Source: [/src/proxy/processors/push-action/checkUserPushPermission.ts](/src/proxy/processors/push-action/checkUserPushPermission.ts) - -#### `pullRemote` - -Clones the repository and temporarily stores it locally in a subdirectory of the _.remote_ folder in the deployment. Each clone is named using the base and head SHA of the push, ensuring a unique clone for each different push. The path to the subdirectory is set in the action as the `proxyGitPath` property and is used in subsequent steps. - -For private repos, `pullRemote` uses the authorization headers from the push and uses them to authenticate the `git clone` operation. - -In the event that the clone fails, pullRemote will automatically delete the _.remote/\*_ directory that it created - unless that failure was caused by a concurrent request for the same push (so that the earlier request can complete if it is going to). - -If the clone succeeds then the chain will schedule deletion of the clone by [`clearBareClone`](#clearbareclone) after processing of the chain completes. This ensures that disk space used is recovered, subsequent pushes of the same SHA don't conflict and that user credentials cached in the `git clone` are removed. - -Source: [/src/proxy/processors/push-action/pullRemote.ts](/src/proxy/processors/push-action/pullRemote.ts) - -#### `writePack` - -Executes `git receive-pack` with the incoming pack data from the request body in order to receive the pushed data. It also identifies new `.idx` files in `.git/objects/pack` for other processors (such as [`checkHiddenCommits`](#checkhiddencommits)) to scan more efficiently. - -Note that `writePack` sets Git's `receive.unpackLimit` to `0`, which forces Git to always create pack files instead of unpacking objects individually. - -Source: [/src/proxy/processors/push-action/writePack.ts](/src/proxy/processors/push-action/writePack.ts) - -#### `checkHiddenCommits` - -Detects "hidden" commits in a push, which is possible if the pack file in the push was tampered in some way. - -It calls `git verify-pack` on each of the new `.idx` files found in [`writePack`](#writepack). If any unreferenced commits are present, the push is blocked. - -Source: [/src/proxy/processors/push-action/checkHiddenCommits.ts](/src/proxy/processors/push-action/checkHiddenCommits.ts) - -#### `checkIfWaitingAuth` - -Checks if the action has been authorised (approved by a reviewer). If so, allows the push to continue to the remote. It simply continues chain execution if the push hasn't been approved. - -Source: [/src/proxy/processors/push-action/checkIfWaitingAuth.ts](/src/proxy/processors/push-action/checkIfWaitingAuth.ts) - -#### `preReceive` - -Allows executing pre-receive hooks from `.sh` scripts located in the `./hooks` directory. **Also allows automating the approval process.** This enables admins to reuse GitHub enterprise commit policies and provide a seamless experience for contributors who no longer need to wait for manual approval or be aware of GitProxy intercepting their pushes. - -Pre-receive hooks are a feature that allows blocking or automatically approving commits based on rules described in `.sh` scripts. GitHub provides a set of [sample rules](https://github.com/github/platform-samples/blob/master/pre-receive-hooks) to get started. - -**Important**: The pre-receive hook does not bypass the other processors in the chain. All processors continue to execute normally, and any of them can still block the push. The pre-receive hook only determines whether the push will be auto-approved, auto-rejected, or require manual review after all processors have completed. - -This processor will block the push depending on the exit status of the pre-receive hook: - -- Exit status `0`: Sets the push to `autoApproved`. If no other processors block the push, the contributor can immediately push again to the upstream repository without waiting for manual approval. -- Exit status `1`: Sets the push to `autoRejected`, automatically rejecting the push after the chain completes, regardless of whether the other processors would have allowed it. -- Exit status `2`: Requires subsequent manual approval as any regular push, even if all processors succeed. - -For detailed setup instructions and examples, see the [Pre-Receive Hook configuration guide](https://git-proxy.finos.org/docs/configuration/pre-receive/). - -Source: [/src/proxy/processors/push-action/preReceive.ts](/src/proxy/processors/push-action/preReceive.ts) - -#### `getDiff` - -Executes `git diff` to obtain the diff for the given revision range. If the commit data is empty or has no entries (possible due to a malformed push), the push is blocked. - -The data extracted in this step is later used in [`scanDiff`](#scandiff). - -Source: [/src/proxy/processors/push-action/getDiff.ts](/src/proxy/processors/push-action/getDiff.ts) - -#### `gitleaks` - -Runs [Gitleaks](https://github.com/gitleaks/gitleaks) to detect sensitive information such as API keys and passwords in the commits being pushed to prevent credentials from leaking. - -The following parameters can be configured: - -- `enabled`: Whether scanning is active. `false` by default -- `ignoreGitleaksAllow`: Forces scanning even if developers added `gitleaks:allow` comments -- `noColor`: Controls color output formatting -- `configPath`: Sets a custom Gitleaks rules file - -This processor runs the Gitleaks check starting from the root commit to the `commitFrom` value present in the push. If the Gitleaks check fails (nonzero exit code), or otherwise cannot spawn, the push will be blocked. - -Source: [/src/proxy/processors/push-action/gitleaks.ts](/src/proxy/processors/push-action/gitleaks.ts) - -#### `scanDiff` - -A **configurable** processor that blocks pushes containing diff (changes) that match the provided literals or patterns. These patterns can be configured in the `commitConfig.diff` entry in `proxy.config.json` or the active configuration file: - -```json -"commitConfig": { - "author": { - "email": { - "local": { - "block": "" - }, - "domain": { - "allow": ".*" - } - } - }, - "message": { - "block": { - "literals": [], - "patterns": [] - } - }, - "diff": { - "block": { - "literals": [], - "patterns": [], - "providers": {} - } - } -}, -``` - -This will scan every file changed and try to match the configured literals, patterns or providers. If any diff violations are found, the push is blocked. - -Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. - -Source: [/src/proxy/processors/push-action/scanDiff.ts](/src/proxy/processors/push-action/scanDiff.ts) - -#### `blockForAuth` - -This action appends a message to be displayed after all the processors have finished on a pre-approval push. - -Note that this message will show again even if the push had been previously rejected by a reviewer or cancelled and resubmitted by the committer. After a manual rejection, pushing again creates a new `action` object so that the push can be re-reviewed and approved. - -![blockForAuth output](./img/blockForAuth_output.png) - -Source: [/src/proxy/processors/push-action/blockForAuth.ts](/src/proxy/processors/push-action/blockForAuth.ts) - -#### `audit` - -This action is executed after a chain has been executed. It stores in the database the entire `Action` object along with the list of `steps` that the action has gone through and their associated logs or error messages that occurred during processing of the chain. - -Note: **`audit` does not write pull actions** to the DB. - -An action object (or entry in the pushes table) might look like this: - -```json -{ - "steps": [ - { - "logs": [ - "checkRepoInAuthorisedList - repo https://github.com/finos/git-proxy.git is in the authorisedList" - ], - "id": "73d47899-b1f8-45f0-9fd5-ef2535a07bbd", - "stepName": "checkRepoInAuthorisedList", - "content": null, - "error": false, - "errorMessage": null, - "blocked": false, - "blockedMessage": null - } - ], - "error": false, - "blocked": false, - "allowPush": false, - "authorised": false, - "canceled": false, - "rejected": false, - "autoApproved": false, - "autoRejected": false, - "commitData": [], - "id": "1763522405484", - "type": "default", - "method": "GET", - "timestamp": 1763522405484, - "url": "https://github.com/finos/git-proxy.git", - "repo": "https://github.com/finos/git-proxy.git", - "project": "finos", - "repoName": "git-proxy.git", - "lastStep": { - "logs": [ - "checkRepoInAuthorisedList - repo https://github.com/finos/git-proxy.git is in the authorisedList" - ], - "id": "73d47899-b1f8-45f0-9fd5-ef2535a07bbd", - "stepName": "checkRepoInAuthorisedList", - "content": null, - "error": false, - "errorMessage": null, - "blocked": false, - "blockedMessage": null - }, - "_id": "h69TOxN1AMsxd0xr" -} -``` - -#### `clearBareClone` - -Recursively removes the contents of the (modified) repository clone stored in `./.remote` by [`pullRemote`](#pullremote) and indivated by the `proxyGitPath` property of the `Action`. This clean-up is necessary for: - -- Security (cached credentials): - - Since repositories require a git username and password or personal access token (PAT) on clone and these are cached in the clone, they must be removed to prevent leakage. -- Managing disk space: - - Without deletion, `./.remote` would grow indefinitely as new repository clones are added for each push (rather than each repository!) - - Each action gets a unique directory for isolation in [`pullRemote`](#pullremote), which allows pushes to the same repository for multiple users to be processed concurrently without conflicts or confusion over credentials. - -`clearBareClone` runs only if `pullRemote` was successful. - -Source: [/src/proxy/processors/post-processor/clearBareClone.ts](/src/proxy/processors/post-processor/clearBareClone.ts) +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. ### Authentication @@ -506,7 +218,7 @@ Currently supports the following out-of-the-box: #### `commitConfig` -Used in [`checkCommitMessages`](#checkcommitmessages), [`checkAuthorEmails`](#checkauthoremails) and [`scanDiff`](#scandiff) processors to block pushes depending on the given rules. +Used in [`checkCommitMessages`](./Processors.md#checkcommitmessages), [`checkAuthorEmails`](./Processors.md#checkauthoremails) and [`scanDiff`](./Processors.md#scandiff) processors to block pushes depending on the given rules. By default, no rules are applied. @@ -718,7 +430,7 @@ Currently, only JWT auth is supported. This is implemented via the [`jwtAuthHand ##### Setting up JWT Authentication -When JWT authentication is enabled, all incoming requests must provide a valid JWT access token in the UI. This can be set in the settings tab. +When JWT authentication is enabled, all requests to the API must provide a valid JWT access token in the UI. This can be set in the settings tab. If no token, or an invalid/expired token is sent, requests will fail with a `401` Unauthorized response. diff --git a/docs/Processors.md b/docs/Processors.md new file mode 100644 index 000000000..de5bcb696 --- /dev/null +++ b/docs/Processors.md @@ -0,0 +1,287 @@ +# Processors + +**Processors** (also known as push/pull actions) represent operations that each push or pull must go through in order to get approved or rejected. + +Processors do not necessarily represent policies. Some processors are just operations that help fetch or process data: For example, [`pullRemote`](#pullremote) simply clones the remote repository from the Git host. + +## `parseAction` + +A pre-processor that classifies the request into a pull, a push or "default" if it fails to match these. This allows GitProxy to run the correct chain (`pushActionChain`, `pullActionChain` or `defaultActionChain`). Then, it creates an Action object which is used by the selected chain. + +This action also handles fallbacks for v1 legacy proxy URLs. + +## `checkRepoInAuthorisedList` + +Checks if the URL of the repo being pushed to is present in the GitProxy repo database. If no repo URL in the database matches, the push is blocked. + +Source: [/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts](/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts) + +## `parsePush` + +Parses the push request data which comes from the Git client as a buffer that contains packet line data. If anything unexpected happens during parsing, such as malformed pack data or multiple ref updates in a single push, the push will get rejected. + +Also handles extraction of push contents, such as the details of the individual commits contained in the push and the details of `committer` (the user attempting to push the commits through the proxy). + +Source: [/src/proxy/processors/push-action/parsePush.ts](/src/proxy/processors/push-action/parsePush.ts) + +## `checkEmptyBranch` + +Checks if the push contains any commit data, or is just an empty branch push (pushing a new branch without any additional commits). Empty branch pushes are blocked because subsequent processors require commit data to work correctly. + +Source: [/src/proxy/processors/push-action/checkEmptyBranch.ts](/src/proxy/processors/push-action/checkEmptyBranch.ts) + +## `checkCommitMessages` + +A **configurable** processor that blocks pushes containing commit messages that match the provided literals or patterns. These patterns can be configured in the `commitConfig.message` entry in `proxy.config.json` or the active configuration file: + +```json +"commitConfig": { + "author": { + "email": { + "local": { + "block": "" + }, + "domain": { + "allow": ".*" + } + } + }, + "message": { + "block": { + "literals": [], + "patterns": [] + } + }, + "diff": { + "block": { + "literals": [], + "patterns": [], + "providers": {} + } + } +}, +``` + +If the arrays are empty, the checks will pass and chain execution will continue. + +Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. + +Source: [/src/proxy/processors/push-action/checkCommitMessages.ts](/src/proxy/processors/push-action/checkCommitMessages.ts) + +## `checkAuthorEmails` + +Similar to [`checkCommitMessages`](#checkcommitmessages), allows configuring allowed domains or blocked "locals" (the part before "@domain.com"). If any commit(s) author email(s) match the `local.block` regex, the push gets blocked. Likewise, if any of the emails' domains does not match the `domain.allow` regex, the push gets blocked. + +If neither of these are configured (set to empty strings), then the checks will pass and chain execution will continue. + +Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. + +Source: [/src/proxy/processors/push-action/checkAuthorEmails.ts](/src/proxy/processors/push-action/checkAuthorEmails.ts) + +#### `checkUserPushPermission` + +Checks if the push has a valid user email associated to it (the email of the user making the push, **not the individual commit authors**), and if that user is allowed to push to that specific repo. + +This step will fail on various scenarios such as: + +- Push has no email associated to it (potentially a push parsing error) +- The email associated to the push matches multiple GitProxy users +- The user with the given email isn't in the repo's contributor list (`canPush`) + +Note: The _pusher_ can potentially be a different user from the _commit author(s)_. In order to filter the commit authors, you must use the `commitConfig.author` config entry. See [`checkAuthorEmails`](#checkauthoremails) for more details. + +Source: [/src/proxy/processors/push-action/checkUserPushPermission.ts](/src/proxy/processors/push-action/checkUserPushPermission.ts) + +## `pullRemote` + +Clones the repository and temporarily stores it locally in a subdirectory of the _.remote_ folder in the deployment. Each clone is named using the base and head SHA of the push, ensuring a unique clone for each different push. The path to the subdirectory is set in the action as the `proxyGitPath` property and is used in subsequent steps. + +For private repos, `pullRemote` uses the authorization headers from the push and uses them to authenticate the `git clone` operation. + +In the event that the clone fails, pullRemote will automatically delete the _.remote/\*_ directory that it created - unless that failure was caused by a concurrent request for the same push (so that the earlier request can complete if it is going to). + +If the clone succeeds then the chain will schedule deletion of the clone by [`clearBareClone`](#clearbareclone) after processing of the chain completes. This ensures that disk space used is recovered, subsequent pushes of the same SHA don't conflict and that user credentials cached in the `git clone` are removed. + +Source: [/src/proxy/processors/push-action/pullRemote.ts](/src/proxy/processors/push-action/pullRemote.ts) + +## `writePack` + +Executes `git receive-pack` with the incoming pack data from the request body in order to receive the pushed data. It also identifies new `.idx` files in `.git/objects/pack` for other processors (such as [`checkHiddenCommits`](#checkhiddencommits)) to scan more efficiently. + +Note that `writePack` sets Git's `receive.unpackLimit` to `0`, which forces Git to always create pack files instead of unpacking objects individually. + +Source: [/src/proxy/processors/push-action/writePack.ts](/src/proxy/processors/push-action/writePack.ts) + +## `checkHiddenCommits` + +Detects "hidden" commits in a push, which is possible if the pack file in the push was tampered in some way. + +It calls `git verify-pack` on each of the new `.idx` files found in [`writePack`](#writepack). If any unreferenced commits are present, the push is blocked. + +Source: [/src/proxy/processors/push-action/checkHiddenCommits.ts](/src/proxy/processors/push-action/checkHiddenCommits.ts) + +## `checkIfWaitingAuth` + +Checks if the action has been authorised (approved by a reviewer). If so, allows the push to continue to the remote. It simply continues chain execution if the push hasn't been approved. + +Source: [/src/proxy/processors/push-action/checkIfWaitingAuth.ts](/src/proxy/processors/push-action/checkIfWaitingAuth.ts) + +## `preReceive` + +Allows executing pre-receive hooks from `.sh` scripts located in the `./hooks` directory. **Also allows automating the approval process.** This enables admins to reuse GitHub enterprise commit policies and provide a seamless experience for contributors who no longer need to wait for manual approval or be aware of GitProxy intercepting their pushes. + +Pre-receive hooks are a feature that allows blocking or automatically approving commits based on rules described in `.sh` scripts. GitHub provides a set of [sample rules](https://github.com/github/platform-samples/blob/master/pre-receive-hooks) to get started. + +**Important**: The pre-receive hook does not bypass the other processors in the chain. All processors continue to execute normally, and any of them can still block the push. The pre-receive hook only determines whether the push will be auto-approved, auto-rejected, or require manual review after all processors have completed. + +This processor will block the push depending on the exit status of the pre-receive hook: + +- Exit status `0`: Sets the push to `autoApproved`. If no other processors block the push, the contributor can immediately push again to the upstream repository without waiting for manual approval. +- Exit status `1`: Sets the push to `autoRejected`, automatically rejecting the push after the chain completes, regardless of whether the other processors would have allowed it. +- Exit status `2`: Requires subsequent manual approval as any regular push, even if all processors succeed. + +For detailed setup instructions and examples, see the [Pre-Receive Hook configuration guide](https://git-proxy.finos.org/docs/configuration/pre-receive/). + +Source: [/src/proxy/processors/push-action/preReceive.ts](/src/proxy/processors/push-action/preReceive.ts) + +## `getDiff` + +Executes `git diff` to obtain the diff for the given revision range. If there are no commits (possibly due to a malformed push), the push is blocked. + +The data extracted in this step is later used in [`scanDiff`](#scandiff). + +Source: [/src/proxy/processors/push-action/getDiff.ts](/src/proxy/processors/push-action/getDiff.ts) + +## `gitleaks` + +Runs [Gitleaks](https://github.com/gitleaks/gitleaks) to detect sensitive information such as API keys and passwords in the commits being pushed to prevent credentials from leaking. + +The following parameters can be configured: + +- `enabled`: Whether scanning is active. `false` by default +- `ignoreGitleaksAllow`: Forces scanning even if developers added `gitleaks:allow` comments +- `noColor`: Controls color output formatting +- `configPath`: Sets a custom Gitleaks rules file + +This processor runs the Gitleaks check starting from the root commit to the `commitFrom` value present in the push. If the Gitleaks check fails (nonzero exit code), or otherwise cannot spawn, the push will be blocked. + +Source: [/src/proxy/processors/push-action/gitleaks.ts](/src/proxy/processors/push-action/gitleaks.ts) + +## `scanDiff` + +A **configurable** processor that blocks pushes containing diff (changes) that match the provided literals or patterns. These patterns can be configured in the `commitConfig.diff` entry in `proxy.config.json` or the active configuration file: + +```json +"commitConfig": { + "author": { + "email": { + "local": { + "block": "" + }, + "domain": { + "allow": ".*" + } + } + }, + "message": { + "block": { + "literals": [], + "patterns": [] + } + }, + "diff": { + "block": { + "literals": [], + "patterns": [], + "providers": {} + } + } +}, +``` + +This will scan every file changed and try to match the configured literals, patterns or providers. If any diff violations are found, the push is blocked. + +Note that invalid regex patterns will throw an error during proxy startup. These must be fixed in order to initialize GitProxy. + +Source: [/src/proxy/processors/push-action/scanDiff.ts](/src/proxy/processors/push-action/scanDiff.ts) + +## `blockForAuth` + +This action appends a message to be displayed after all the processors have finished on a pre-approval push. + +Note that this message will show again even if the push had been previously rejected by a reviewer or cancelled and resubmitted by the committer. After a manual rejection, pushing again creates a new `action` object so that the push can be re-reviewed and approved. + +![blockForAuth output](./img/blockForAuth_output.png) + +Source: [/src/proxy/processors/push-action/blockForAuth.ts](/src/proxy/processors/push-action/blockForAuth.ts) + +## `audit` + +This action runs after a chain has been executed. It stores in the database the entire `Action` object along with the list of `steps` that the action has gone through and their associated logs or error messages that occurred during processing of the chain. + +Note: **`audit` writes all actions** (push, pull, default/unclassified) to the DB. + +An action object (or entry in the pushes table) might look like this: + +```json +{ + "steps": [ + { + "logs": [ + "checkRepoInAuthorisedList - repo https://github.com/finos/git-proxy.git is in the authorisedList" + ], + "id": "73d47899-b1f8-45f0-9fd5-ef2535a07bbd", + "stepName": "checkRepoInAuthorisedList", + "content": null, + "error": false, + "errorMessage": null, + "blocked": false, + "blockedMessage": null + } + ], + "error": false, + "blocked": false, + "allowPush": false, + "authorised": false, + "canceled": false, + "rejected": false, + "autoApproved": false, + "autoRejected": false, + "commitData": [], + "id": "1763522405484", + "type": "default", + "method": "GET", + "timestamp": 1763522405484, + "url": "https://github.com/finos/git-proxy.git", + "repo": "https://github.com/finos/git-proxy.git", + "project": "finos", + "repoName": "git-proxy.git", + "lastStep": { + "logs": [ + "checkRepoInAuthorisedList - repo https://github.com/finos/git-proxy.git is in the authorisedList" + ], + "id": "73d47899-b1f8-45f0-9fd5-ef2535a07bbd", + "stepName": "checkRepoInAuthorisedList", + "content": null, + "error": false, + "errorMessage": null, + "blocked": false, + "blockedMessage": null + }, + "_id": "h69TOxN1AMsxd0xr" +} +``` + +## `clearBareClone` + +Recursively removes the contents of the (modified) repository clone stored in `./.remote` by [`pullRemote`](#pullremote) and indivated by the `proxyGitPath` property of the `Action`. This clean-up is necessary for: + +- Security (cached credentials): + - Since repositories require a git username and password or personal access token (PAT) on clone and these are cached in the clone, they must be removed to prevent leakage. +- Managing disk space: + - Without deletion, `./.remote` would grow indefinitely as new repository clones are added for each push (rather than each repository!) + - Each action gets a unique directory for isolation in [`pullRemote`](#pullremote), which allows pushes to the same repository for multiple users to be processed concurrently without conflicts or confusion over credentials. + +`clearBareClone` runs only if `pullRemote` was successful. + +Source: [/src/proxy/processors/post-processor/clearBareClone.ts](/src/proxy/processors/post-processor/clearBareClone.ts) From c2ba9f4c5fe88ae841c4d850f21fbc2dfc627e49 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 11 Feb 2026 14:27:58 +0900 Subject: [PATCH 45/45] docs: update architecture diagram, upload XML file for editing, add edit instructions --- docs/Architecture.md | 6 + docs/img/GitProxy_Architecture.drawio | 325 ++++++++++++++++++++++++++ docs/img/GitProxy_Architecture.png | Bin 172425 -> 173559 bytes 3 files changed, 331 insertions(+) create mode 100644 docs/img/GitProxy_Architecture.drawio diff --git a/docs/Architecture.md b/docs/Architecture.md index f8caa6ab1..7f49ebe62 100644 --- a/docs/Architecture.md +++ b/docs/Architecture.md @@ -22,6 +22,12 @@ GitProxy has several main components: These are all the core components in the project, along with some basic user interactions: + + ![GitProxy Architecture Diagram](./img/GitProxy_Architecture.png) ### Pushing to GitProxy diff --git a/docs/img/GitProxy_Architecture.drawio b/docs/img/GitProxy_Architecture.drawio new file mode 100644 index 000000000..78627e8e9 --- /dev/null +++ b/docs/img/GitProxy_Architecture.drawio @@ -0,0 +1,325 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/img/GitProxy_Architecture.png b/docs/img/GitProxy_Architecture.png index 2effa86ebc4ee09ba845c615babc2b668dbab6d6..86178d5edd2edc452899547ad65655bc6bab8512 100644 GIT binary patch literal 173559 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 u51OKdQBoG?p?{;aOMcNmR#G-FNI$ADS*y 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�lbSwUdoD$QA{ewMru3}T zYHw>CGM`}Vse%13)bXzaW2A5p$y?8HQ$)aJ7c4Q$Q|&Osh#2&?B`r5u0GC5QP?TK` zyN9GV)=)+NBAoYcK-muHw zytJQrPa|>U>8z&m{MAc0+CN7q1)o_(+|N*)ZEL?k~1c61>cRj zN$WEknIz!9lJ0N4vDUgN@e?-&ZrakSB!-ug*9rYEc!LC&KwuywM{2j7XiT$5L z=GIRgemSpqB&o=>eh=RcO?AVcp}T2v6g!-b7db>!_j59w+K=3{_cIp$ix$1PYSaoE zKj_0JEduA1|C3MGDQyLQtc+L*&)J}WPqcjaZt+trZuluh5i#hzLQRAQ^=K2hO@KcUHCG6cr-VUVAYO!4-q zaAoEcqyfnsINy3pN4?d@R~GPv{xOCxFdoxF(61^OFYF)$iSlNOOUp1@tp@ku$5UQI zu@`GFNAV$!)!IX$!9OcozqkR$UvSd6jGB6s?ZGG6^^{oDn|Nd^8bAZZX`IRFLE|c~ zVm$!1Mxzbx;n)o&gY)KA22$t4kr8&AQ+~c}YooR8Yc0JOMq(1sjFS%nBUt}(>(Mig z=s@DqzHT@Bso3cub}A6YpA%L_Li_n^>W(nu&a9PH`KM}6F_@Z1X)p$kQE)g|6jwcT zOK2}?^z8L9T*%qc?D^8r-;HpbGP+HT;$uNXlpaiyb`PzjOv1Pm8s18IXO;JB^KxVw zwBSVJYB(kR4XS7f{W6-eYURq3;N$arS$1^P-Lz%>v~*e{?dC{+V2b&kuVp|>ZFb4t z@{Ex@c>2u79iVe5J9p>n%Q)HJq83l=clNRiH+~ zJJn#Ye8s~rUcZJ^101M@OpXOYu`u;;;j|B^t!KfLzCWNs^cjKdiQxys<*Cv^zp?u# z6VHNw<)Bk>MS7DjsEzVa_3N_glzd}_L>Bc}ULusq}(%*N^V#Oe}+VB)tLgQfR6Ee(obH?&B%mzeuO=&c%a zCNkwMGXbr&a?(b2GRB~36z$0n<;`4)Nz1+q8ER8pJ?-ZTfzpZ?oHif%t0`=B-@M@5 z-Vu3iwDXZ}*1M#XKp$PW9B66*SngrY2KKWTk==dzL9pkVDY1Ihe(t`i&(ZrWd&5s4 zSsaem>zK*RtfsG!X2Q>m;lQ=(rD0MB z1(SA`W<^SYeFb7UBV(yCMh$zg7D>KMFjnGG)pw2sx?#&ne$DVk0j#5seVIq^{H0+gKs!+Lq@>Eau& zU%#dfk#Ol;IwV#mg_ty^lBJ>$G74W%@PxiF{sCs0@>dVgCfXh)2X@LwCr zDM9BvchuyLz9j02`JOJdaC#1kxy)IgEPK~74_vpe_?9LhCX&n)g#M_iX0p?iwD-+= zDLvKOWwUG6`da2nz39A|D=44NI@PMJGNwUiu=yY}0ygay?CGuWk493%XxG0EzL%F` zykxx^!)MXQ1vxdTwPF{WT2)aaigq6nuF-}8#c4mBoBN%dQ`*Zw0b)E?5L0zVe5_`3wWiQmd-T8uBnX=6bz}d^W42|6xzDB%ho~CgF@LPv6FyuT{O%$ zCL%UI_$)UX3qhzr6$yJ>zH%pXud_|Egs~dIB zowO%3#*zDP-%voNl*q8$9^ohO>oUoS&p;-!nZ@tN@YsBZs&I^ zY&$|{HU`5MRsQ~7zRK^nd!cuzu%JL={==~d0gD7T?ZxSWG^4q=o{Y)+S`)xA^dV90 zB**C_BGtQ!mUq^r;{0-|efzGj7r#=%Q5A8MbTgK~Q+zByW)L#1tJM?-Ynb4qjSk+? zp1te;<8H5kvGnZY2ui!s>~nA1kEgwGJ_)UZH^U_tb&qWhM#F8?F}J=Uy;WXy{j23) z(FHn^;t;&oTCL#Dubh$*!Pe_pG!1Mo%kVyFSM?TJ)@#R@2Y-Ytx80TM^fHLsL4^`j z{1*MV506lJ6+%>gUQFi`8ty$3UFlO$Xh;{Qc%94t8cS$tYU>c%uImq~Ss2_u(!RNS zD-l3kJpfWx=aJP-%R?TIsV+Hs4O+`D9H2LZPQMF%JT_sD0{5*l`tO%kFXW6Bb*MCM z^!&ek1k8&YgBn+U9V1UOyq(oyc9yPFsXAkjCl`bw!Zgv*D2-3}YnLOaP~!Yrd&LeT zvWK&8VXRu@d9yOdqv%T&^fMJb?4_av%SXZTrCP*H7kS^v}3F#(;|Rs)+GOQpSG74{U|f?Dd^0UX)zmJLz3 z0O9`euDlBgCOK~AnN%o@sMb6dO}6Pf$`F}JPj!YQJro{EV_?`V!1PGQJBIXy16Xmt z)|b5iqgT$hO3a0o1D$!F?IlCu!00%xSGS?P^c z(e%JqBlljjvG+{I0uY#hyGE&f`HI}A%34F-n&P5*9t;pIn0@_v&-I-5PaL}Kv+-B5 z-Q%sC<};{Z-DW2aq1Z_1;Tjw5A%3X!1EWA|p{#W54C0JFyKj6Hwh<=j$L1mtFHK5afAsmtFm%Mv&|XAH*dcPt zx8RnA6sDyz96(U|N8iEK0Sn;PGu6(~j|Oy-{p49lL&A?>;~(1#tvXI1)L2?lLfz!q z#k#Z2SOAOnyX^US!jJ4H*Yo#*1H@3w4q|Jiu33ao&-j7@0tkLsHdg485u$+7et7sV zc{C$K9^-+-{y3;VT~5Ff;!Z$?`z+qR;^T)+kI`Cve8UyxDGSoBU__PXk)i^b=j z*vuPID6&8y*y_HksVxK4$W})wom$x@{e9b5)wHhzn38_w4}8pg4tLNUS3|HYJHFtOR0QmaTkfn&S}TqA#j9*Ur6W zaJu-cI?p?pF>`;cEgkrMi3LLyL$vEyp_-hz-LKHo36v|ZTw zAISsa@Y7E`fFsLo+P8l3dJ$582;7_!~*4Elyl^^@yPn-tVyjPB7@4TzHhb?<-bvN>@-3VkZ?j&i>5C+zU#{^XkfK za#-(n;B5D#$RZh+MHpy32X*DofYYn=f3%x4yk&1bG`jlD3Hx_!*-kbv1Olzno0YwQ zCU3Z-)%&uG6|a5V7f!kf=fAsxy$4~{BG2W|nN=61pgIL#9({G6-1SER*E*LGnS-xM zdjk$OHoH3CKG)%|k5=@^W+ljk;SHuA9Xd-vwHrwW2f}glZ68=Cdc;Hd_%rYr`0mdX z#`BSGJ1^1wdX842`5qZ$qksJ)kl_G33+wPlGfT*=@P0=!R512B?;MP|vS+;VO9ep? z=EMlu-+zPrHT!8$=r7amw7?rr1p;k!EJU(8&p_+4X5_X$4g{NVdE9m^I)7;A&-If& z0{(FsbjJxnR#!-(%2Jb(Y;Jkp38IkHmlM1!5*Ji7s6rpUvhY&q&({?J5VLf`%8>;g zr#!yT7xb0Gz;cVniFP)3l4~J;K}0_`Y}@b8B7I=sOStrraeKt>kWsv#L>O$JffD`n z945!Vh-3M@XV{V?l|ks}k0M*P1pZb*5w!lRZ^`^%02Hr(e8M>fb5n&NH?pVeIQ-Qo zKX~0_PbBuw*R_F^y?Ad$M^5>K{?=;WpnbUL*ug>|`8vK*+wv2@P@%XZosi@Fy&Zrt zqu|rjJ1$tjrbfMa8%)y-#ET9s&}V;Dd5`VgpB9GtZF|E_mVf>T`LE-gG9q!Eu5D1f zK*i|@O%Kn2`5?AKRa#Or5^$-)DuHr1!&ucCanJr)s4T=XLk^@%!bi%=$hPlQm1sW$ ztV;Jc@?A)_?BBlWEDV2}%YqpG7%AYb`bb zMI=FtKNgHP-R5j+7H!6mS;847z>j^j*hl?VttPP(9GNY<5(H97%cJ5A+Y|K0Dm}sc zIJ)%XQjNal|`sNPwu@l{)e*-vl>B9VFzk^3H?{WPw*H7#~#6B}@wdwTAP5XBS0aJbV+( zS7?IR#KFwVfQ(Swqh?m_9ZJpNb#+Zn^{f^!bes_>Y$SQU&4;ZV1;kOzL-GJr&7#M7(ntj^lrN@v0%O>IwZ~~t=lIXH3A_adH#21g z*oT5<3OdU4LK(vp53V%UtTm2xByALVu6#>xM&vZNY7zTJa%HobA^Z~Bq0^D+t=gd> zm}eUkyvbKJ|K#!95X>bx%jezO*o0IxK>gd`hk!eOzKj>HsJrLl1SC;48E}0GxUA_{DZHY#0^g#OKu9^I{@jo&OoLGa<52?|bZN-kA#3N=smQka!=q>AEf0PW0 z`F5mi4A^E}ncJtNz!<1pZ%vdOK8)tvqESI_--cgOy2e3X#*0GA;~P?d(Ud5OF+z## z3OqvfLt@bD&3pQ-hn$QCfnrS%sdy;Eww=mmMFbxv`jl+k;EX5skFR(HKjSF2q9La| zOikY{@MYvWB^R}0wbqvuF!}%NovS8X5APs%tV>ZBH>&;>TGQS2%Y+bx?>_eIZzI|KW4aX2 z9bSL6V*2M!fc=J_g>?j$Ctq2J%%kgCbj2M@)Ou$PTpNe8tC@| zWl*3c#l@UlnFFPE(Ra@~bsus$16!gyTNL`wugEAk5M^rJaR92c8SgQ4OMtc-L&{c5 z`<+9fVs$QPqZL#oi~DDjv3{3UL8Lp<#uhRod9k7{V?TP9paNMZ7G|<{Uh|oGKUT-= zpxM_10sl%qq)rt^X7EX98>ry&@7{K+!@tnW%;2CO@yTje-t*@b10e_(LWBT5k6tWW z4_GeCzdliFLd=}&GsdfmSHJm%1fye&{mRQ>vS{H-=T|mBc2&$kuX^ut1Nl*noGHL$&`Pt*Mc?~Do9zhN7-RS;r$$b#?)D1Fkh}y*poWk9TB9@M!h=4Aqc;fhODd6^MhOpeOI|C`E z*GyR& z1fk6WE}~Sclqo9Nl!D{!;a*P94rO7p^N^bogq(=CT`E1_%}?&U{+R0im1@8Bm6=-U zmG+1@B*AncU4m-}ED0N(nBmSPZC}y4s^9@ymC^1sD4!4OflPKWf3!+Dyj2XHdh(CA z>cCs8TO>v&Va%k*9;c(C8TScP-G~cSP zzQ&+%-*u}`a!kBRPqbDM`}Q(0g3XdKyx}zjQ4;AjF|EPTe*KQMv?HaPjrP!_TxvdQ zCS}o@X!n%QIFVo<9b-*^=*`=r%Z8-Vrzqd4*H|WdD;2)jJ6sWVkDNYQT$L6iST_cV z3>NvmVEN<9v^@pAZ&1()nqpwPY>*%^yg?1BoiC(%_f?8p*#}tH*85n-C4DWeBG`>p z&b9P$pR!{NSG@I&C>!lp4zxx`uLJGYUJCWTJhfdYvn%Hlq4vDnZ;yR+;8T7seM75ycnGdWq^i8MY~-o-du_ ztJW?1ntD!}Ou;meI{cIGUQqSrElHGF5rE0fwo4f}QJA*XIfL4%P{vI@nV*0@Z_Z5F z*QVtj+OYXm_fU*4OQ1W`D@INrkNl){kK^0fKp1^X&D zNJ^?)rrxiUqc7-3;|mn(&IVN{Sfbl>u%DriHi$Jx-uLl_k^*=AXT#FP62GMquhl8- z(MoUewll6@8yXc!A7xVbc0kP>h6CQjM79{s%c2IexbAv2jKF8ny%B2Z}9L z#m=x4`#O0U49{< zrv#bo*~jz?M9j3%T^45rcirf|Njvd7_K~G#K0#>4epV#+0N3uY*u|yATRo$Q_JwHl z=#R$0uTQ^2T1_}h^-MKz?#DxyadMlixKZz+Nn$@MWRAS!y(1kvak2XIP3>voD8s1} z!BO)9%Cu4AV^(-z|zWq2p6lL*X%;Ro@QUsFh`o#N`RmY-IzVuO} zn4|HJn{roHDRR<=C!h`dVbdMonW$CS6U;_Eo?{t=be!E}2>N^rXb1}e_G;BsuiwfDwr@^fjz zRaS3-+^9W2hW@gMCzQiI-1)FzuM7B`b=A+)!}@eYxE30J+^io5Mn#E@8=TaKfT~Ql z5b*RTgEdZ(1ABYBtUQwTi08K4nsdl1J&_ye(>##LyEzqt78;7WItPJ@BP&o2+A*Hn<}t<|2>BA z@LY3`ODBd?DlJcsMo?lI&zG)KFPuMdXy>>=U*YBTt$+Fm!N0o-W!Rv8f>TBpedBPs zEQg0u_g|5HqdnPr9bO__nCl+X12`}7?trl8sM^8W^i6>#IQ#fQ)}RP(w35bGmb+wRaf zR&OV{CV&5m{vJC3MDm0apiC11AW8~{%O-~dKx7pR-wL_{a}h_vu5N;lLh=BB;hC@e z^F#2~Um>`^pLY~m*DlGVg8*cll+o2_eTb&dI0j%C_0aU6r2!bVfn7F?KerMp69K^A zOJaGqWEs5G(fKgaef9gNfmHA_hBhkzQIi1tJ6%RjQBG1hR(Gk5{Qq0`|M{&;&dI+t zIeJH?XFITY9CCq97cb^Zz^qWZN1b7-u|!(_96Pri)dI|YFtFrpT*)LYT9%vY;M{CX zO+V5G7=%8v<8Prr#3LEWNXwsn09jLsz!KS}lF5fB{-B_W1z(DI@gyeOu?YMh&Zb0dt39jUhL%8 z@J*(&Tu}aZmBKFgnOzriL$LeLrpUkT6JiPeZkwjMNN>sg&Ngd+>Y_le2D~UyMWXf( z7q$-W&qL~0aHV9ai}v3r(Q-J&1oO2WqXhqWB2_0+9XDR524?R_yby#?zL*7_N$A8u?%#0L*|E_amo};Cc_y;Juf%7Oo;}1fP$Mv zM*aYP#_%!K$6xIvr_^Wq`Q6d@XGp^y zW;R@1l`O~kAysQj=B%CfyaajP0Wx>dksz=fr1{WPxPX-bJ zW!JOOUETL(4F5!Nj>C@2<~pM^V)oiWE3wgMNKLAVsFLL*^JfqQ6v z?P{kz6oNg$p&1p316ATQ7ahumcN7AhEcI{(?!J|W1$L-#!fwg^Ia1TlLlm;*aV{Vn z2rg0|IKu54(>KfcH9Dd%1jFyvndG7<64%gsN&2_JAnAs!w&mxQi+<(2tqvU_B}T)@ z>Eko;;%-4gG9wFAft$;UK<6Ij9Bvwek(e6+`iueGa_pd!HQwQHc*D$WL3+v%z{~Vk zO`)xRkdWzo$-7kxOhm$!O)`&veYDN#r@~MU7Oz?TM9XQHZ0X?Sku>scV6hsZzhN() zQl2w|;`Tll4|nU^N_|UfE-JmEVoq)h;c3n#?R0-Ub_){t^;oma+2IUKd`C#Q{IKPQ z&~l3KJB%rGCF1g!B=>ga^n@h3-?eUsBZ}dhX=VsnI=s=A#OvK0-m?#@8q@5RsYCu{}LQ7)-{9ApFPqQJy z;i|~wjvQj)1zgOD%du-Na=2;-2o~B7REpXN`NvoJ@EFJV*y$!|#G=#Iua8@5TnI;P zg$30Ra$9s8J0wiOy6@+g>|vblGGmTA5d4^A35bLsGe+UNHvE2yrS+q zN|Mn;e%ZT{Hbu=&jNy~6|G^*qGzM*YKaY@bMu2ttIh@OQTG*aHVsA$&AP;f#=)?|4 zU;a{T!^cu6Dg0oq>muqjTUFFNVxs(ATJAASWdB;qfw*uF75Kj{8kg>FwI}QhU=c2! zxNQ&pH;zBoz$$fAk$ngS);8i;@gKKz6S<|r<6#E_TYf2Nix=N+jl=&H7dCVKBl5_| z0LiQ^%Z>6{W^Z!~G{m^aLL&awf78U*LZj#yaP}T&F*~<)MPwBF!H4F)t;Rx5`Q?}G zk~pnTjE5Z@G=Dzxhl$|>6Jz|O6SR5GFCBwt7YKN>37EBD-&Wm#M5ZAu2bh_h^5`!m zPkA(M>J>ay^<<*SALjxnyuB_+6D;M6U#2^Xh5&H6;qcaLMS`Z`-3T-VFx{qouUET@ z;htqdI=o0S;Z_JzeE#=`J%n#!-m6ZISXa5AYRB}HJRveGi#zuO9OxD!l~G*V7oKQ z1Znr1-`Tx0p=(bm@w8IUpDuI2+2D!S0m5Sk*cqr$K-uX1kD--0{>!UjwUVC4IP9vD ztYM|($Vs1q7}(m+QSRGpwOT?(5G z1#S+}Y0d@I-%;DMwhFlgHE(ayLW}YM5&CB}nQsC>Ob()!6DL|Nnc;fgI+lLt!lu_U zeSH|jupc9m`P zqwy9#cuxHlCz~vWj(99+^d6cT0^oz^0~Z72ntMd7u!+e}M8_eE2Edr2cDAVASF7@S z%i;WixWS+5-(--49e0odPAm8~=|jK$+~6J3WhT*a>+jhpSsvq*oTWkx?7i&<~jMn#dG4$%QJ6&uX6bwr^e<4V> zJW*!ZDhw2U)pBzey6|m&uiCT{4MEsydaK>3(84@e| zxhVNT_hr~)Rq2{u?r&$@5mAXVk<|F2m}7|4-||$b_?6w+;qGzjzV6b9M54d1{7uo? z=ZQ7v#{2#IqD%u=DrrK?HFG7b8n1o|>iSx>d6_Vo(Oj*}n?1UtFQ~KMo>leby62NY?Sk-%nO8aU;)yQA zXTa>4|6}2adf`feAmM4R4Z0!u_OTCeB=6D`#$?`V;oGro?Xt!%Wyt zKU1~t3UHRADU?T{Wig?Q>z?JWE|Lel%cn-Tz&?OLmB!U{*5h7Cmf<|hG^~TVpZiYw zoS5)Xq;5UBHH5Bpw{9#{RQ*F_A*ArFxY#nVwx7#DtxtY%@>Phw9QFYX1AE0kO*jCh z{BC>-FZgnaTrA{|E6$@RnXb4?W_EsM@iqcoyV`uAK=S)n@CKK`>|Y;S>`g|rqSC!5 z0{YqcoouX|V)gt2YG&j%w#Ae%*RZGBg|iU`F9F@8r*{u`&(d3a=%W#x;FYY`i-i>@ zc>NRx!gF~xaWyxoI69_;^(YX!xlbye)F_KiP_?|qD`nf)t+r7Z$1B{?^K44oP#m-n z=CRLZ@|Pux;)!PDfp!&3I9=_Zrqi9;}|c5An>AV4F!LS$y`c zhj4JyDess1sz8K9pfX@u+ zW*KD7Ip;RrD0e(yFB6e7D)E!l_0h_l(n1<5@r;5F+y+O$rWv(51q!!jAxR-7DD8yt zBFmRny8DzN(0^SJb%U+0Lp!fpCH@aEo}#HKxOfIcigOZ zfUU4_!439+DvF?zHBS5Ss0pD6L-fM8o;%_O4K@DqjK7H81Q4 z(3O$v1p&@}v~%e&48mWfBMdu;X7D~rX^tPk9(oUY9a6i!UWpzOM~zR?u#@)?L{GJR zrxuDP&n8e?T%ySOSFC=Ng~}gepq!Z(^6z!fLbY#wfEB^28T^1!c{?=zG=c+S@4~=$ zWeCq>eYB;E0voa}>ZlpDr4SMb1X6{@_uu)dbCjRQzI%q;3!USpY5|Egw@HZm}*Qu=aWpD-BnW_MT-{s3e3=;k};w+!QU5eV=)?&tPwOW~2WcnIgzsfXkjwmbJ* zy-UIJt&cDwTtRtz*-DcTEJ*)R`ediP%nsb8H!9nocMgZcDf{}_FpTZZO^xlXjjT;* ZHue;w&*mNv3*kH57xvC}l{Q`%{{x9~0(AfY literal 172425 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