From d2f38dc8fd632bb3771dbfd407b23338d39d93ec Mon Sep 17 00:00:00 2001 From: akagifreeez Date: Tue, 2 Jun 2026 22:43:05 +0900 Subject: [PATCH] feat(config): allow server settings via config file with env precedence The server port, HTTPS server port, UI host, UI port and HTTPS UI port could only be set via environment variables, with defaults hard-coded in src/config/env.ts - unlike every other setting, which lives in the config schema/file. This legacy split is confusing for operators (#1553). Move these five settings into the config schema and proxy.config.json defaults, mirroring GIT_PROXY_COOKIE_SECRET: the environment variable (when set) takes precedence over the config file, which takes precedence over the built-in default. env.ts now exposes the raw environment values (undefined when unset) so the config file can supply the default. - Add serverPort, httpsServerPort, uiHost, uiPort and httpsUiPort to config.schema.json and proxy.config.json; regenerate config types and schema reference docs. - Resolve them with environment precedence in mergeConfigurations and add getServerPort/getHttpsServerPort/getUIHost/getHttpsUIPort getters; getUIPort now reads the merged config. - Switch the proxy, service, urls and auth-route call sites to the getters, reading lazily instead of at module load. This also fixes the OIDC auth redirect, which fell back to UI port 3000 instead of the configured port. --- config.schema.json | 20 ++ proxy.config.json | 5 + src/config/env.ts | 15 +- src/config/generated/config.ts | 30 ++ src/config/index.ts | 67 ++++- src/config/types.ts | 10 +- src/proxy/index.ts | 8 +- src/service/index.ts | 13 +- src/service/routes/auth.ts | 7 +- src/service/urls.ts | 13 +- test/testConfig.test.ts | 68 +++++ test/testProxy.test.ts | 9 +- website/docs/configuration/overview.mdx | 4 + website/docs/configuration/reference.mdx | 345 ++++++++++++++--------- 14 files changed, 443 insertions(+), 171 deletions(-) diff --git a/config.schema.json b/config.schema.json index 7d132a1ab..bb8917861 100644 --- a/config.schema.json +++ b/config.schema.json @@ -12,6 +12,26 @@ }, "cookieSecret": { "type": "string" }, "sessionMaxAgeHours": { "type": "number" }, + "serverPort": { + "type": "number", + "description": "Port the proxy HTTP server listens on. Can also be set with the GIT_PROXY_SERVER_PORT environment variable, which takes precedence over this value." + }, + "httpsServerPort": { + "type": "number", + "description": "Port the proxy HTTPS server listens on. Can also be set with the GIT_PROXY_HTTPS_SERVER_PORT environment variable, which takes precedence over this value." + }, + "uiHost": { + "type": "string", + "description": "Host of the GitProxy UI. Can also be set with the GIT_PROXY_UI_HOST environment variable, which takes precedence over this value." + }, + "uiPort": { + "type": "number", + "description": "Port the GitProxy UI/service HTTP server listens on. Can also be set with the GIT_PROXY_UI_PORT environment variable, which takes precedence over this value." + }, + "httpsUiPort": { + "type": "number", + "description": "Port the GitProxy UI/service HTTPS server listens on. Can also be set with the GIT_PROXY_HTTPS_UI_PORT environment variable, which takes precedence over this value." + }, "api": { "description": "Third party APIs", "type": "object", diff --git a/proxy.config.json b/proxy.config.json index f97332a69..7027a3592 100644 --- a/proxy.config.json +++ b/proxy.config.json @@ -1,6 +1,11 @@ { "cookieSecret": "cookie secret", "sessionMaxAgeHours": 12, + "serverPort": 8000, + "httpsServerPort": 8443, + "uiHost": "http://localhost", + "uiPort": 8080, + "httpsUiPort": 8444, "rateLimit": { "windowMs": 60000, "limit": 1000 diff --git a/src/config/env.ts b/src/config/env.ts index 91b5b6b61..503764ee1 100644 --- a/src/config/env.ts +++ b/src/config/env.ts @@ -16,12 +16,17 @@ import { ServerConfig } from './types'; +// Server settings below default to `undefined` when the corresponding +// environment variable is unset so that the config file can provide the +// default. When an environment variable IS set it takes precedence over the +// config file (see mergeConfigurations in ./index.ts), mirroring +// GIT_PROXY_COOKIE_SECRET. const { - GIT_PROXY_SERVER_PORT = 8000, - GIT_PROXY_HTTPS_SERVER_PORT = 8443, - GIT_PROXY_UI_HOST = 'http://localhost', - GIT_PROXY_UI_PORT = 8080, - GIT_PROXY_HTTPS_UI_PORT = 8444, + GIT_PROXY_SERVER_PORT, + GIT_PROXY_HTTPS_SERVER_PORT, + GIT_PROXY_UI_HOST, + GIT_PROXY_UI_PORT, + GIT_PROXY_HTTPS_UI_PORT, GIT_PROXY_COOKIE_SECRET, GIT_PROXY_MONGO_CONNECTION_STRING = 'mongodb://localhost:27017/git-proxy', } = process.env; diff --git a/src/config/generated/config.ts b/src/config/generated/config.ts index aa0c04e93..046672a21 100644 --- a/src/config/generated/config.ts +++ b/src/config/generated/config.ts @@ -55,6 +55,16 @@ export interface GitProxyConfig { * Provide custom URLs for the git proxy interfaces in case it cannot determine its own URL */ domains?: Domains; + /** + * Port the proxy HTTPS server listens on. Can also be set with the + * GIT_PROXY_HTTPS_SERVER_PORT environment variable, which takes precedence over this value. + */ + httpsServerPort?: number; + /** + * Port the GitProxy UI/service HTTPS server listens on. Can also be set with the + * GIT_PROXY_HTTPS_UI_PORT environment variable, which takes precedence over this value. + */ + httpsUiPort?: number; /** * List of plugins to integrate on GitProxy's push or pull actions. Each value is either a * file path or a module name. @@ -75,6 +85,11 @@ export interface GitProxyConfig { * API Rate limiting configuration. */ rateLimit?: RateLimit; + /** + * Port the proxy HTTP server listens on. Can also be set with the GIT_PROXY_SERVER_PORT + * environment variable, which takes precedence over this value. + */ + serverPort?: number; sessionMaxAgeHours?: number; /** * List of database sources. The first source in the configuration with enabled=true will be @@ -97,6 +112,16 @@ export interface GitProxyConfig { * TLS configuration for secure connections */ tls?: TLS; + /** + * Host of the GitProxy UI. Can also be set with the GIT_PROXY_UI_HOST environment variable, + * which takes precedence over this value. + */ + uiHost?: string; + /** + * Port the GitProxy UI/service HTTP server listens on. Can also be set with the + * GIT_PROXY_UI_PORT environment variable, which takes precedence over this value. + */ + uiPort?: number; /** * UI routes that require authentication (logged in or admin) */ @@ -791,16 +816,21 @@ const typeMap: any = { { json: 'cookieSecret', js: 'cookieSecret', typ: u(undefined, '') }, { json: 'csrfProtection', js: 'csrfProtection', typ: u(undefined, true) }, { json: 'domains', js: 'domains', typ: u(undefined, r('Domains')) }, + { json: 'httpsServerPort', js: 'httpsServerPort', typ: u(undefined, 3.14) }, + { json: 'httpsUiPort', js: 'httpsUiPort', typ: u(undefined, 3.14) }, { json: 'plugins', js: 'plugins', typ: u(undefined, a('')) }, { json: 'privateOrganizations', js: 'privateOrganizations', typ: u(undefined, a('any')) }, { json: 'proxyUrl', js: 'proxyUrl', typ: u(undefined, '') }, { json: 'rateLimit', js: 'rateLimit', typ: u(undefined, r('RateLimit')) }, + { json: 'serverPort', js: 'serverPort', typ: u(undefined, 3.14) }, { json: 'sessionMaxAgeHours', js: 'sessionMaxAgeHours', typ: u(undefined, 3.14) }, { json: 'sink', js: 'sink', typ: u(undefined, a(r('Database'))) }, { json: 'sslCertPemPath', js: 'sslCertPemPath', typ: u(undefined, '') }, { json: 'sslKeyPemPath', js: 'sslKeyPemPath', typ: u(undefined, '') }, { json: 'tempPassword', js: 'tempPassword', typ: u(undefined, r('TempPassword')) }, { json: 'tls', js: 'tls', typ: u(undefined, r('TLS')) }, + { json: 'uiHost', js: 'uiHost', typ: u(undefined, '') }, + { json: 'uiPort', js: 'uiPort', typ: u(undefined, 3.14) }, { json: 'uiRouteAuth', js: 'uiRouteAuth', typ: u(undefined, r('UIRouteAuth')) }, { json: 'upstreamProxy', js: 'upstreamProxy', typ: u(undefined, r('UpstreamProxy')) }, { json: 'urlShortener', js: 'urlShortener', typ: u(undefined, '') }, diff --git a/src/config/index.ts b/src/config/index.ts index 658bd5b82..50ca1fcb7 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -47,13 +47,18 @@ const REQUIRED_TOP_LEVEL_CONFIG_KEYS = [ 'cookieSecret', 'csrfProtection', 'domains', + 'httpsServerPort', + 'httpsUiPort', 'plugins', 'privateOrganizations', 'rateLimit', + 'serverPort', 'sessionMaxAgeHours', 'sink', 'tempPassword', 'tls', + 'uiHost', + 'uiPort', 'uiRouteAuth', 'upstreamProxy', 'urlShortener', @@ -106,6 +111,22 @@ function cleanUndefinedValues(obj: any): any { return cleaned; } +/** + * Resolve a numeric server setting, giving precedence to the environment + * variable (when set) over the user config file and then the default config, + * mirroring the handling of GIT_PROXY_COOKIE_SECRET. + */ +function resolveServerPort( + envValue: string | undefined, + userValue: number | undefined, + defaultValue: number | undefined, +): number | undefined { + if (envValue !== undefined) { + return Number(envValue); + } + return userValue ?? defaultValue; +} + /** * Load and merge default + user configuration with QuickType validation * @return {FullGitProxyConfig} The merged and validated configuration @@ -191,6 +212,28 @@ function mergeConfigurations( serverConfig.GIT_PROXY_COOKIE_SECRET || userSettings.cookieSecret || defaultConfig.cookieSecret, + // Server settings: environment variable takes precedence over the config file. + serverPort: resolveServerPort( + serverConfig.GIT_PROXY_SERVER_PORT, + userSettings.serverPort, + defaultConfig.serverPort, + ), + httpsServerPort: resolveServerPort( + serverConfig.GIT_PROXY_HTTPS_SERVER_PORT, + userSettings.httpsServerPort, + defaultConfig.httpsServerPort, + ), + uiHost: serverConfig.GIT_PROXY_UI_HOST || userSettings.uiHost || defaultConfig.uiHost, + uiPort: resolveServerPort( + serverConfig.GIT_PROXY_UI_PORT, + userSettings.uiPort, + defaultConfig.uiPort, + ), + httpsUiPort: resolveServerPort( + serverConfig.GIT_PROXY_HTTPS_UI_PORT, + userSettings.httpsUiPort, + defaultConfig.httpsUiPort, + ), }; assertHasRequiredTopLevelConfig(config); @@ -226,9 +269,29 @@ export const getAuthorisedList = () => { return config.authorisedList; }; -// Get GIT_PROXY_UI_PORT +// Get the UI/service HTTP port export const getUIPort = (): number => { - return Number(serverConfig.GIT_PROXY_UI_PORT); + return loadFullConfiguration().uiPort; +}; + +// Get the proxy HTTP server port +export const getServerPort = (): number => { + return loadFullConfiguration().serverPort; +}; + +// Get the proxy HTTPS server port +export const getHttpsServerPort = (): number => { + return loadFullConfiguration().httpsServerPort; +}; + +// Get the UI host +export const getUIHost = (): string => { + return loadFullConfiguration().uiHost; +}; + +// Get the UI/service HTTPS port +export const getHttpsUIPort = (): number => { + return loadFullConfiguration().httpsUiPort; }; // Gets a list of authorised repositories diff --git a/src/config/types.ts b/src/config/types.ts index 534415a5c..5cf5fd60c 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -17,11 +17,11 @@ import { GitProxyConfig } from './generated/config'; export type ServerConfig = { - GIT_PROXY_SERVER_PORT: string | number; - GIT_PROXY_HTTPS_SERVER_PORT: string | number; - GIT_PROXY_UI_HOST: string; - GIT_PROXY_UI_PORT: string | number; - GIT_PROXY_HTTPS_UI_PORT: string | number; + GIT_PROXY_SERVER_PORT: string | undefined; + GIT_PROXY_HTTPS_SERVER_PORT: string | undefined; + GIT_PROXY_UI_HOST: string | undefined; + GIT_PROXY_UI_PORT: string | undefined; + GIT_PROXY_HTTPS_UI_PORT: string | undefined; GIT_PROXY_COOKIE_SECRET: string | undefined; GIT_PROXY_MONGO_CONNECTION_STRING: string; }; diff --git a/src/proxy/index.ts b/src/proxy/index.ts index a15a594fb..ba8a22d5e 100644 --- a/src/proxy/index.ts +++ b/src/proxy/index.ts @@ -25,15 +25,13 @@ import { getTLSKeyPemPath, getTLSCertPemPath, getTLSEnabled, + getServerPort, + getHttpsServerPort, } from '../config'; import { addUserCanAuthorise, addUserCanPush, createRepo, getRepos } from '../db'; import { PluginLoader } from '../plugin'; import chain from './chain'; import { Repo } from '../db/types'; -import { serverConfig } from '../config/env'; - -const { GIT_PROXY_SERVER_PORT: proxyHttpPort, GIT_PROXY_HTTPS_SERVER_PORT: proxyHttpsPort } = - serverConfig; interface ServerOptions { inflate: boolean; @@ -95,6 +93,8 @@ export class Proxy { } public async start() { + const proxyHttpPort = getServerPort(); + const proxyHttpsPort = getHttpsServerPort(); await this.proxyPreparations(); this.expressApp = await this.createApp(); await new Promise((resolve, reject) => { diff --git a/src/service/index.ts b/src/service/index.ts index 1053c58eb..bc41ef2e8 100644 --- a/src/service/index.ts +++ b/src/service/index.ts @@ -26,15 +26,12 @@ import lusca from 'lusca'; import * as config from '../config'; import * as db from '../db'; -import { serverConfig } from '../config/env'; import { Proxy } from '../proxy'; import routes from './routes'; import { configure } from './passport'; const limiter = rateLimit(config.getRateLimit()); -const { GIT_PROXY_UI_PORT: uiPort, GIT_PROXY_HTTPS_UI_PORT: uiHttpsPort } = serverConfig; - const app: Express = express(); let _httpServer: http.Server | null = null; let _httpsServer: https.Server | null = null; @@ -199,17 +196,17 @@ async function start(proxy: Proxy) { const app = await createApp(proxy); _httpServer = http.createServer(app); - _httpServer.listen(uiPort); + _httpServer.listen(config.getUIPort()); - console.log(`Service Listening on ${uiPort}`); + console.log(`Service Listening on ${config.getUIPort()}`); app.emit('ready'); if (config.getTLSEnabled()) { await new Promise((resolve, reject) => { const server = https.createServer(getServiceTLSOptions(), app); server.on('error', reject); - server.listen(uiHttpsPort, () => { - console.log(`HTTPS Service Listening on ${uiHttpsPort}`); + server.listen(config.getHttpsUIPort(), () => { + console.log(`HTTPS Service Listening on ${config.getHttpsUIPort()}`); resolve(); }); _httpsServer = server; @@ -228,7 +225,7 @@ async function stop(): Promise { if (_httpServer) { closePromises.push( new Promise((resolve, reject) => { - console.log(`Stopping Service Listening on ${uiPort}`); + console.log(`Stopping Service Listening on ${config.getUIPort()}`); _httpServer!.close((err) => { if (err) { reject(err); diff --git a/src/service/routes/auth.ts b/src/service/routes/auth.ts index a03c80480..8c2ec9a18 100644 --- a/src/service/routes/auth.ts +++ b/src/service/routes/auth.ts @@ -16,7 +16,7 @@ import express, { Request, Response, NextFunction } from 'express'; import { getPassport, authStrategies } from '../passport'; -import { getAuthMethods } from '../../config'; +import { getAuthMethods, getUIHost, getUIPort } from '../../config'; import * as db from '../../db'; import * as passportLocal from '../passport/local'; @@ -31,9 +31,6 @@ import { handleErrorAndLog } from '../../utils/errors'; const router = express.Router(); const passport = getPassport(); -const { GIT_PROXY_UI_HOST: uiHost = 'http://localhost', GIT_PROXY_UI_PORT: uiPort = 3000 } = - process.env; - router.get('/', (_req: Request, res: Response) => { res.status(200).json({ login: { @@ -137,7 +134,7 @@ router.get('/openidconnect/callback', (req: Request, res: Response, next: NextFu return res.status(500).end(); } console.log('Logged in successfully. User:', user); - return res.redirect(`${uiHost}:${uiPort}/dashboard/profile`); + return res.redirect(`${getUIHost()}:${getUIPort()}/dashboard/profile`); }); }, )(req, res, next); diff --git a/src/service/urls.ts b/src/service/urls.ts index 6e5163d25..201ca89ad 100644 --- a/src/service/urls.ts +++ b/src/service/urls.ts @@ -16,21 +16,24 @@ import { Request } from 'express'; -import { serverConfig } from '../config/env'; import * as config from '../config'; -const { GIT_PROXY_SERVER_PORT: PROXY_HTTP_PORT, GIT_PROXY_UI_PORT: UI_PORT } = serverConfig; - export const getProxyURL = (req: Request): string => { return ( config.getDomains().proxy ?? - `${req.protocol}://${req.headers.host}`.replace(`:${UI_PORT}`, `:${PROXY_HTTP_PORT}`) + `${req.protocol}://${req.headers.host}`.replace( + `:${config.getUIPort()}`, + `:${config.getServerPort()}`, + ) ); }; export const getServiceUIURL = (req: Request): string => { return ( config.getDomains().service ?? - `${req.protocol}://${req.headers.host}`.replace(`:${PROXY_HTTP_PORT}`, `:${UI_PORT}`) + `${req.protocol}://${req.headers.host}`.replace( + `:${config.getServerPort()}`, + `:${config.getUIPort()}`, + ) ); }; diff --git a/test/testConfig.test.ts b/test/testConfig.test.ts index 688e9d322..179531b4c 100644 --- a/test/testConfig.test.ts +++ b/test/testConfig.test.ts @@ -306,6 +306,74 @@ describe('user configuration', () => { expect(config.getDatabase().connectionString).toBe('mongodb://example.com:27017/test'); }); + it('should use config file defaults for server settings when no env var is set', async () => { + fs.writeFileSync(tempUserFile, '{}'); + delete process.env.GIT_PROXY_SERVER_PORT; + delete process.env.GIT_PROXY_HTTPS_SERVER_PORT; + delete process.env.GIT_PROXY_UI_HOST; + delete process.env.GIT_PROXY_UI_PORT; + delete process.env.GIT_PROXY_HTTPS_UI_PORT; + + const config = await import('../src/config'); + config.invalidateCache(); + + expect(config.getServerPort()).toBe(8000); + expect(config.getHttpsServerPort()).toBe(8443); + expect(config.getUIHost()).toBe('http://localhost'); + expect(config.getUIPort()).toBe(8080); + expect(config.getHttpsUIPort()).toBe(8444); + }); + + it('should read server settings from the config file', async () => { + const user = { + serverPort: 9090, + httpsServerPort: 9443, + uiHost: 'http://example.com', + uiPort: 5000, + httpsUiPort: 5443, + }; + fs.writeFileSync(tempUserFile, JSON.stringify(user)); + delete process.env.GIT_PROXY_SERVER_PORT; + delete process.env.GIT_PROXY_HTTPS_SERVER_PORT; + delete process.env.GIT_PROXY_UI_HOST; + delete process.env.GIT_PROXY_UI_PORT; + delete process.env.GIT_PROXY_HTTPS_UI_PORT; + + const config = await import('../src/config'); + config.invalidateCache(); + + expect(config.getServerPort()).toBe(9090); + expect(config.getHttpsServerPort()).toBe(9443); + expect(config.getUIHost()).toBe('http://example.com'); + expect(config.getUIPort()).toBe(5000); + expect(config.getHttpsUIPort()).toBe(5443); + }); + + it('should let env vars take precedence over config file for server settings', async () => { + const user = { + serverPort: 9090, + httpsServerPort: 9443, + uiHost: 'http://example.com', + uiPort: 5000, + httpsUiPort: 5443, + }; + fs.writeFileSync(tempUserFile, JSON.stringify(user)); + process.env.GIT_PROXY_SERVER_PORT = '1111'; + process.env.GIT_PROXY_HTTPS_SERVER_PORT = '2222'; + process.env.GIT_PROXY_UI_HOST = 'http://env.example.com'; + process.env.GIT_PROXY_UI_PORT = '3333'; + process.env.GIT_PROXY_HTTPS_UI_PORT = '4444'; + + const config = await import('../src/config'); + config.invalidateCache(); + + expect(config.getServerPort()).toBe(1111); + expect(config.getHttpsServerPort()).toBe(2222); + expect(config.getUIHost()).toBe('http://env.example.com'); + expect(config.getUIPort()).toBe(3333); + expect(config.getHttpsUIPort()).toBe(4444); + }); + it('should test cache invalidation function', async () => { fs.writeFileSync(tempUserFile, '{}'); diff --git a/test/testProxy.test.ts b/test/testProxy.test.ts index 4f4883c16..fe2802856 100644 --- a/test/testProxy.test.ts +++ b/test/testProxy.test.ts @@ -54,6 +54,8 @@ vi.mock('../src/config', () => ({ getTLSCertPemPath: vi.fn(), getPlugins: vi.fn(), getAuthorisedList: vi.fn(), + getServerPort: vi.fn(() => 8000), + getHttpsServerPort: vi.fn(() => 8443), })); vi.mock('../src/db', () => ({ @@ -71,13 +73,6 @@ vi.mock('../src/proxy/chain', () => ({ default: {}, })); -vi.mock('../src/config/env', () => ({ - serverConfig: { - GIT_PROXY_SERVER_PORT: 8001, - GIT_PROXY_HTTPS_SERVER_PORT: 8444, - }, -})); - vi.mock('fs', async (importOriginal) => { const actual = await importOriginal(); return { diff --git a/website/docs/configuration/overview.mdx b/website/docs/configuration/overview.mdx index aa1258cb9..6e14f2648 100644 --- a/website/docs/configuration/overview.mdx +++ b/website/docs/configuration/overview.mdx @@ -73,6 +73,10 @@ export GIT_PROXY_UI_HOST="http://www.git-proxy.com" export GIT_PROXY_UI_PORT="5000" ``` +These server settings can also be set in the [configuration file](./reference) using the +`serverPort`, `httpsServerPort`, `uiHost`, `uiPort` and `httpsUiPort` properties. When a value is +provided in both places, the environment variable takes precedence over the config file. + ### Validate configuration To validate your GitProxy configuration, run: diff --git a/website/docs/configuration/reference.mdx b/website/docs/configuration/reference.mdx index 134d026d4..3c4167027 100644 --- a/website/docs/configuration/reference.mdx +++ b/website/docs/configuration/reference.mdx @@ -64,7 +64,92 @@ description: JSON schema reference documentation for GitProxy
- 4. [Optional] Property GitProxy configuration file > api + 4. [Optional] Property GitProxy configuration file > serverPort + + +
+ +| | | +| ------------ | -------- | +| **Type** | `number` | +| **Required** | No | + +**Description:** Port the proxy HTTP server listens on. Can also be set with the GIT_PROXY_SERVER_PORT environment variable, which takes precedence over this value. + +
+
+ +
+ + 5. [Optional] Property GitProxy configuration file > httpsServerPort + + +
+ +| | | +| ------------ | -------- | +| **Type** | `number` | +| **Required** | No | + +**Description:** Port the proxy HTTPS server listens on. Can also be set with the GIT_PROXY_HTTPS_SERVER_PORT environment variable, which takes precedence over this value. + +
+
+ +
+ + 6. [Optional] Property GitProxy configuration file > uiHost + + +
+ +| | | +| ------------ | -------- | +| **Type** | `string` | +| **Required** | No | + +**Description:** Host of the GitProxy UI. Can also be set with the GIT_PROXY_UI_HOST environment variable, which takes precedence over this value. + +
+
+ +
+ + 7. [Optional] Property GitProxy configuration file > uiPort + + +
+ +| | | +| ------------ | -------- | +| **Type** | `number` | +| **Required** | No | + +**Description:** Port the GitProxy UI/service HTTP server listens on. Can also be set with the GIT_PROXY_UI_PORT environment variable, which takes precedence over this value. + +
+
+ +
+ + 8. [Optional] Property GitProxy configuration file > httpsUiPort + + +
+ +| | | +| ------------ | -------- | +| **Type** | `number` | +| **Required** | No | + +**Description:** Port the GitProxy UI/service HTTPS server listens on. Can also be set with the GIT_PROXY_HTTPS_UI_PORT environment variable, which takes precedence over this value. + +
+
+ +
+ + 9. [Optional] Property GitProxy configuration file > api
@@ -79,7 +164,7 @@ description: JSON schema reference documentation for GitProxy
- 4.1. [Optional] Property GitProxy configuration file > api > ls + 9.1. [Optional] Property GitProxy configuration file > api > ls
@@ -94,7 +179,7 @@ description: JSON schema reference documentation for GitProxy
- 4.1.1. [Optional] Property GitProxy configuration file > api > ls > userInADGroup + 9.1.1. [Optional] Property GitProxy configuration file > api > ls > userInADGroup
@@ -120,7 +205,7 @@ description: JSON schema reference documentation for GitProxy
- 4.2. [Optional] Property GitProxy configuration file > api > gitleaks + 9.2. [Optional] Property GitProxy configuration file > api > gitleaks
@@ -135,7 +220,7 @@ description: JSON schema reference documentation for GitProxy
- 4.2.1. [Optional] Property GitProxy configuration file > api > gitleaks > enabled + 9.2.1. [Optional] Property GitProxy configuration file > api > gitleaks > enabled
@@ -150,7 +235,7 @@ description: JSON schema reference documentation for GitProxy
- 4.2.2. [Optional] Property GitProxy configuration file > api > gitleaks > ignoreGitleaksAllow + 9.2.2. [Optional] Property GitProxy configuration file > api > gitleaks > ignoreGitleaksAllow
@@ -165,7 +250,7 @@ description: JSON schema reference documentation for GitProxy
- 4.2.3. [Optional] Property GitProxy configuration file > api > gitleaks > noColor + 9.2.3. [Optional] Property GitProxy configuration file > api > gitleaks > noColor
@@ -180,7 +265,7 @@ description: JSON schema reference documentation for GitProxy
- 4.2.4. [Optional] Property GitProxy configuration file > api > gitleaks > configPath + 9.2.4. [Optional] Property GitProxy configuration file > api > gitleaks > configPath
@@ -201,7 +286,7 @@ description: JSON schema reference documentation for GitProxy
- 5. [Optional] Property GitProxy configuration file > commitConfig + 10. [Optional] Property GitProxy configuration file > commitConfig
@@ -218,7 +303,7 @@ description: JSON schema reference documentation for GitProxy
- 5.1. [Optional] Property GitProxy configuration file > commitConfig > author + 10.1. [Optional] Property GitProxy configuration file > commitConfig > author
@@ -235,7 +320,7 @@ description: JSON schema reference documentation for GitProxy
- 5.1.1. [Optional] Property GitProxy configuration file > commitConfig > author > email + 10.1.1. [Optional] Property GitProxy configuration file > commitConfig > author > email
@@ -252,7 +337,7 @@ description: JSON schema reference documentation for GitProxy
- 5.1.1.1. [Optional] Property GitProxy configuration file > commitConfig > author > email > local + 10.1.1.1. [Optional] Property GitProxy configuration file > commitConfig > author > email > local
@@ -269,7 +354,7 @@ description: JSON schema reference documentation for GitProxy
- 5.1.1.1.1. [Optional] Property GitProxy configuration file > commitConfig > author > email > local > block + 10.1.1.1.1. [Optional] Property GitProxy configuration file > commitConfig > author > email > local > block
@@ -291,7 +376,7 @@ description: JSON schema reference documentation for GitProxy
- 5.1.1.2. [Optional] Property GitProxy configuration file > commitConfig > author > email > domain + 10.1.1.2. [Optional] Property GitProxy configuration file > commitConfig > author > email > domain
@@ -308,7 +393,7 @@ description: JSON schema reference documentation for GitProxy
- 5.1.1.2.1. [Optional] Property GitProxy configuration file > commitConfig > author > email > domain > allow + 10.1.1.2.1. [Optional] Property GitProxy configuration file > commitConfig > author > email > domain > allow
@@ -336,7 +421,7 @@ description: JSON schema reference documentation for GitProxy
- 5.2. [Optional] Property GitProxy configuration file > commitConfig > message + 10.2. [Optional] Property GitProxy configuration file > commitConfig > message
@@ -353,7 +438,7 @@ description: JSON schema reference documentation for GitProxy
- 5.2.1. [Optional] Property GitProxy configuration file > commitConfig > message > block + 10.2.1. [Optional] Property GitProxy configuration file > commitConfig > message > block
@@ -370,7 +455,7 @@ description: JSON schema reference documentation for GitProxy
- 5.2.1.1. [Optional] Property GitProxy configuration file > commitConfig > message > block > literals + 10.2.1.1. [Optional] Property GitProxy configuration file > commitConfig > message > block > literals
@@ -388,7 +473,7 @@ description: JSON schema reference documentation for GitProxy | ------------------------------------------------------------ | ----------- | | [literals items](#commitConfig_message_block_literals_items) | - | -###### 5.2.1.1.1. GitProxy configuration file > commitConfig > message > block > literals > literals items +###### 10.2.1.1.1. GitProxy configuration file > commitConfig > message > block > literals > literals items | | | | ------------ | -------- | @@ -400,7 +485,7 @@ description: JSON schema reference documentation for GitProxy
- 5.2.1.2. [Optional] Property GitProxy configuration file > commitConfig > message > block > patterns + 10.2.1.2. [Optional] Property GitProxy configuration file > commitConfig > message > block > patterns
@@ -418,7 +503,7 @@ description: JSON schema reference documentation for GitProxy | ------------------------------------------------------------ | ----------- | | [patterns items](#commitConfig_message_block_patterns_items) | - | -###### 5.2.1.2.1. GitProxy configuration file > commitConfig > message > block > patterns > patterns items +###### 10.2.1.2.1. GitProxy configuration file > commitConfig > message > block > patterns > patterns items | | | | ------------ | -------- | @@ -436,7 +521,7 @@ description: JSON schema reference documentation for GitProxy
- 5.3. [Optional] Property GitProxy configuration file > commitConfig > diff + 10.3. [Optional] Property GitProxy configuration file > commitConfig > diff
@@ -453,7 +538,7 @@ description: JSON schema reference documentation for GitProxy
- 5.3.1. [Optional] Property GitProxy configuration file > commitConfig > diff > block + 10.3.1. [Optional] Property GitProxy configuration file > commitConfig > diff > block
@@ -470,7 +555,7 @@ description: JSON schema reference documentation for GitProxy
- 5.3.1.1. [Optional] Property GitProxy configuration file > commitConfig > diff > block > literals + 10.3.1.1. [Optional] Property GitProxy configuration file > commitConfig > diff > block > literals
@@ -488,7 +573,7 @@ description: JSON schema reference documentation for GitProxy | --------------------------------------------------------- | ----------- | | [literals items](#commitConfig_diff_block_literals_items) | - | -###### 5.3.1.1.1. GitProxy configuration file > commitConfig > diff > block > literals > literals items +###### 10.3.1.1.1. GitProxy configuration file > commitConfig > diff > block > literals > literals items | | | | ------------ | -------- | @@ -500,7 +585,7 @@ description: JSON schema reference documentation for GitProxy
- 5.3.1.2. [Optional] Property GitProxy configuration file > commitConfig > diff > block > patterns + 10.3.1.2. [Optional] Property GitProxy configuration file > commitConfig > diff > block > patterns
@@ -518,7 +603,7 @@ description: JSON schema reference documentation for GitProxy | --------------------------------------------------------- | ----------- | | [patterns items](#commitConfig_diff_block_patterns_items) | - | -###### 5.3.1.2.1. GitProxy configuration file > commitConfig > diff > block > patterns > patterns items +###### 10.3.1.2.1. GitProxy configuration file > commitConfig > diff > block > patterns > patterns items | | | | ------------------------- | ---------------- | @@ -531,7 +616,7 @@ description: JSON schema reference documentation for GitProxy
- 5.3.1.3. [Optional] Property GitProxy configuration file > commitConfig > diff > block > providers + 10.3.1.3. [Optional] Property GitProxy configuration file > commitConfig > diff > block > providers
@@ -548,7 +633,7 @@ description: JSON schema reference documentation for GitProxy
- 5.3.1.3.1. Property GitProxy configuration file > commitConfig > diff > block > providers > additionalProperties + 10.3.1.3.1. Property GitProxy configuration file > commitConfig > diff > block > providers > additionalProperties
@@ -575,7 +660,7 @@ description: JSON schema reference documentation for GitProxy
- 6. [Optional] Property GitProxy configuration file > attestationConfig + 11. [Optional] Property GitProxy configuration file > attestationConfig
@@ -592,7 +677,7 @@ description: JSON schema reference documentation for GitProxy
- 6.1. [Optional] Property GitProxy configuration file > attestationConfig > questions + 11.1. [Optional] Property GitProxy configuration file > attestationConfig > questions
@@ -610,7 +695,7 @@ description: JSON schema reference documentation for GitProxy | ---------------------------------------------- | ----------- | | [Question](#attestationConfig_questions_items) | - | -#### 6.1.1. GitProxy configuration file > attestationConfig > questions > Question +#### 11.1.1. GitProxy configuration file > attestationConfig > questions > Question **Title:** Question @@ -622,7 +707,7 @@ description: JSON schema reference documentation for GitProxy
- 6.1.1.1. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > label + 11.1.1.1. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > label
@@ -641,7 +726,7 @@ description: JSON schema reference documentation for GitProxy
- 6.1.1.2. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip + 11.1.1.2. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip
@@ -658,7 +743,7 @@ description: JSON schema reference documentation for GitProxy
- 6.1.1.2.1. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip > text + 11.1.1.2.1. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip > text
@@ -675,7 +760,7 @@ description: JSON schema reference documentation for GitProxy
- 6.1.1.2.2. [Optional] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip > links + 11.1.1.2.2. [Optional] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip > links
@@ -691,7 +776,7 @@ description: JSON schema reference documentation for GitProxy | --------------------------------------------------------------------- | ----------- | | [links items](#attestationConfig_questions_items_tooltip_links_items) | - | -###### 6.1.1.2.2.1. GitProxy configuration file > attestationConfig > questions > Question > tooltip > links > links items +###### 11.1.1.2.2.1. GitProxy configuration file > attestationConfig > questions > Question > tooltip > links > links items | | | | ------------------------- | ----------- | @@ -701,7 +786,7 @@ description: JSON schema reference documentation for GitProxy
- 6.1.1.2.2.1.1. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip > links > links items > text + 11.1.1.2.2.1.1. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip > links > links items > text
@@ -718,7 +803,7 @@ description: JSON schema reference documentation for GitProxy
- 6.1.1.2.2.1.2. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip > links > links items > url + 11.1.1.2.2.1.2. [Required] Property GitProxy configuration file > attestationConfig > questions > Question > tooltip > links > links items > url
@@ -748,7 +833,7 @@ description: JSON schema reference documentation for GitProxy
- 7. [Optional] Property GitProxy configuration file > domains + 12. [Optional] Property GitProxy configuration file > domains
@@ -763,7 +848,7 @@ description: JSON schema reference documentation for GitProxy
- 7.1. [Optional] Property GitProxy configuration file > domains > proxy + 12.1. [Optional] Property GitProxy configuration file > domains > proxy
@@ -783,7 +868,7 @@ description: JSON schema reference documentation for GitProxy
- 7.2. [Optional] Property GitProxy configuration file > domains > service + 12.2. [Optional] Property GitProxy configuration file > domains > service
@@ -806,7 +891,7 @@ description: JSON schema reference documentation for GitProxy
- 8. [Optional] Property GitProxy configuration file > rateLimit + 13. [Optional] Property GitProxy configuration file > rateLimit
@@ -821,7 +906,7 @@ description: JSON schema reference documentation for GitProxy
- 8.1. [Required] Property GitProxy configuration file > rateLimit > windowMs + 13.1. [Required] Property GitProxy configuration file > rateLimit > windowMs
@@ -838,7 +923,7 @@ description: JSON schema reference documentation for GitProxy
- 8.2. [Required] Property GitProxy configuration file > rateLimit > limit + 13.2. [Required] Property GitProxy configuration file > rateLimit > limit
@@ -855,7 +940,7 @@ description: JSON schema reference documentation for GitProxy
- 8.3. [Optional] Property GitProxy configuration file > rateLimit > statusCode + 13.3. [Optional] Property GitProxy configuration file > rateLimit > statusCode
@@ -872,7 +957,7 @@ description: JSON schema reference documentation for GitProxy
- 8.4. [Optional] Property GitProxy configuration file > rateLimit > message + 13.4. [Optional] Property GitProxy configuration file > rateLimit > message
@@ -892,7 +977,7 @@ description: JSON schema reference documentation for GitProxy
- 9. [Optional] Property GitProxy configuration file > privateOrganizations + 14. [Optional] Property GitProxy configuration file > privateOrganizations
@@ -909,7 +994,7 @@ description: JSON schema reference documentation for GitProxy
- 10. [Optional] Property GitProxy configuration file > urlShortener + 15. [Optional] Property GitProxy configuration file > urlShortener
@@ -926,7 +1011,7 @@ description: JSON schema reference documentation for GitProxy
- 11. [Optional] Property GitProxy configuration file > contactEmail + 16. [Optional] Property GitProxy configuration file > contactEmail
@@ -943,7 +1028,7 @@ description: JSON schema reference documentation for GitProxy
- 12. [Optional] Property GitProxy configuration file > csrfProtection + 17. [Optional] Property GitProxy configuration file > csrfProtection
@@ -960,7 +1045,7 @@ description: JSON schema reference documentation for GitProxy
- 13. [Optional] Property GitProxy configuration file > plugins + 18. [Optional] Property GitProxy configuration file > plugins
@@ -976,7 +1061,7 @@ description: JSON schema reference documentation for GitProxy | ------------------------------- | ----------- | | [plugins items](#plugins_items) | - | -### 13.1. GitProxy configuration file > plugins > plugins items +### 18.1. GitProxy configuration file > plugins > plugins items | | | | ------------ | -------- | @@ -988,7 +1073,7 @@ description: JSON schema reference documentation for GitProxy
- 14. [Optional] Property GitProxy configuration file > authorisedList + 19. [Optional] Property GitProxy configuration file > authorisedList
@@ -1004,7 +1089,7 @@ description: JSON schema reference documentation for GitProxy | --------------------------------------- | ----------- | | [authorisedRepo](#authorisedList_items) | - | -### 14.1. GitProxy configuration file > authorisedList > authorisedRepo +### 19.1. GitProxy configuration file > authorisedList > authorisedRepo | | | | ------------------------- | ---------------------------- | @@ -1015,7 +1100,7 @@ description: JSON schema reference documentation for GitProxy
- 14.1.1. [Required] Property GitProxy configuration file > authorisedList > authorisedList items > project + 19.1.1. [Required] Property GitProxy configuration file > authorisedList > authorisedList items > project
@@ -1030,7 +1115,7 @@ description: JSON schema reference documentation for GitProxy
- 14.1.2. [Required] Property GitProxy configuration file > authorisedList > authorisedList items > name + 19.1.2. [Required] Property GitProxy configuration file > authorisedList > authorisedList items > name
@@ -1045,7 +1130,7 @@ description: JSON schema reference documentation for GitProxy
- 14.1.3. [Required] Property GitProxy configuration file > authorisedList > authorisedList items > url + 19.1.3. [Required] Property GitProxy configuration file > authorisedList > authorisedList items > url
@@ -1063,7 +1148,7 @@ description: JSON schema reference documentation for GitProxy
- 15. [Optional] Property GitProxy configuration file > sink + 20. [Optional] Property GitProxy configuration file > sink
@@ -1079,7 +1164,7 @@ description: JSON schema reference documentation for GitProxy | ------------------------------- | ---------------------------------- | | [database](#sink_items) | Configuration entry for a database | -### 15.1. GitProxy configuration file > sink > database +### 20.1. GitProxy configuration file > sink > database | | | | ------------------------- | ---------------------- | @@ -1099,7 +1184,7 @@ description: JSON schema reference documentation for GitProxy
-#### 15.1.1. Property `GitProxy configuration file > sink > sink items > oneOf > item 0` +#### 20.1.1. Property `GitProxy configuration file > sink > sink items > oneOf > item 0` | | | | ------------------------- | ---------------- | @@ -1111,7 +1196,7 @@ description: JSON schema reference documentation for GitProxy
- 15.1.1.1. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > type + 20.1.1.1. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > type
@@ -1128,7 +1213,7 @@ Specific value: `"mongo"`
- 15.1.1.2. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > enabled + 20.1.1.2. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > enabled
@@ -1143,7 +1228,7 @@ Specific value: `"mongo"`
- 15.1.1.3. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > connectionString + 20.1.1.3. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > connectionString
@@ -1160,7 +1245,7 @@ Specific value: `"mongo"`
- 15.1.1.4. [Optional] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > options + 20.1.1.4. [Optional] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > options
@@ -1175,7 +1260,7 @@ Specific value: `"mongo"`
- 15.1.1.4.1. [Optional] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > options > authMechanismProperties + 20.1.1.4.1. [Optional] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > options > authMechanismProperties
@@ -1188,7 +1273,7 @@ Specific value: `"mongo"`
- 15.1.1.4.1.1. [Optional] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > options > authMechanismProperties > AWS_CREDENTIAL_PROVIDER + 20.1.1.4.1.1. [Optional] Property GitProxy configuration file > sink > sink items > oneOf > item 0 > options > authMechanismProperties > AWS_CREDENTIAL_PROVIDER
@@ -1212,7 +1297,7 @@ Specific value: `"mongo"`
-#### 15.1.2. Property `GitProxy configuration file > sink > sink items > oneOf > item 1` +#### 20.1.2. Property `GitProxy configuration file > sink > sink items > oneOf > item 1` | | | | ------------------------- | ---------------- | @@ -1224,7 +1309,7 @@ Specific value: `"mongo"`
- 15.1.2.1. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 1 > type + 20.1.2.1. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 1 > type
@@ -1241,7 +1326,7 @@ Specific value: `"fs"`
- 15.1.2.2. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 1 > enabled + 20.1.2.2. [Required] Property GitProxy configuration file > sink > sink items > oneOf > item 1 > enabled
@@ -1263,7 +1348,7 @@ Specific value: `"fs"`
- 16. [Optional] Property GitProxy configuration file > authentication + 21. [Optional] Property GitProxy configuration file > authentication
@@ -1279,7 +1364,7 @@ Specific value: `"fs"` | ---------------------------------------------- | ------------------------------------------ | | [authenticationElement](#authentication_items) | Configuration for an authentication source | -### 16.1. GitProxy configuration file > authentication > authenticationElement +### 21.1. GitProxy configuration file > authentication > authenticationElement | | | | ------------------------- | ----------------------------------- | @@ -1301,7 +1386,7 @@ Specific value: `"fs"`
-#### 16.1.1. Property `GitProxy configuration file > authentication > authentication items > oneOf > Local Auth Config` +#### 21.1.1. Property `GitProxy configuration file > authentication > authentication items > oneOf > Local Auth Config` **Title:** Local Auth Config @@ -1315,7 +1400,7 @@ Specific value: `"fs"`
- 16.1.1.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Local Auth Config > type + 21.1.1.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Local Auth Config > type
@@ -1332,7 +1417,7 @@ Specific value: `"local"`
- 16.1.1.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Local Auth Config > enabled + 21.1.1.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Local Auth Config > enabled
@@ -1348,7 +1433,7 @@ Specific value: `"local"`
-#### 16.1.2. Property `GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config` +#### 21.1.2. Property `GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config` **Title:** Active Directory Auth Config @@ -1362,7 +1447,7 @@ Specific value: `"local"`
- 16.1.2.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > type + 21.1.2.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > type
@@ -1379,7 +1464,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > enabled + 21.1.2.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > enabled
@@ -1394,7 +1479,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adminGroup + 21.1.2.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adminGroup
@@ -1411,7 +1496,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.4. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > userGroup + 21.1.2.4. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > userGroup
@@ -1428,7 +1513,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.5. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > domain + 21.1.2.5. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > domain
@@ -1445,7 +1530,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.6. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig + 21.1.2.6. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig
@@ -1460,7 +1545,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.6.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > url + 21.1.2.6.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > url
@@ -1477,7 +1562,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.6.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > baseDN + 21.1.2.6.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > baseDN
@@ -1494,7 +1579,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.6.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > username + 21.1.2.6.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > username
@@ -1511,7 +1596,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.6.4. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > password + 21.1.2.6.4. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > password
@@ -1528,7 +1613,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.2.6.5. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > searchBase + 21.1.2.6.5. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > Active Directory Auth Config > adConfig > searchBase
@@ -1549,7 +1634,7 @@ Specific value: `"ActiveDirectory"`
-#### 16.1.3. Property `GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config` +#### 21.1.3. Property `GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config` **Title:** Open ID Connect Auth Config @@ -1563,7 +1648,7 @@ Specific value: `"ActiveDirectory"`
- 16.1.3.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > type + 21.1.3.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > type
@@ -1580,7 +1665,7 @@ Specific value: `"openidconnect"`
- 16.1.3.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > enabled + 21.1.3.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > enabled
@@ -1595,7 +1680,7 @@ Specific value: `"openidconnect"`
- 16.1.3.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig + 21.1.3.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig
@@ -1610,7 +1695,7 @@ Specific value: `"openidconnect"`
- 16.1.3.3.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > issuer + 21.1.3.3.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > issuer
@@ -1625,7 +1710,7 @@ Specific value: `"openidconnect"`
- 16.1.3.3.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > clientID + 21.1.3.3.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > clientID
@@ -1640,7 +1725,7 @@ Specific value: `"openidconnect"`
- 16.1.3.3.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > clientSecret + 21.1.3.3.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > clientSecret
@@ -1655,7 +1740,7 @@ Specific value: `"openidconnect"`
- 16.1.3.3.4. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > callbackURL + 21.1.3.3.4. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > callbackURL
@@ -1670,7 +1755,7 @@ Specific value: `"openidconnect"`
- 16.1.3.3.5. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > scope + 21.1.3.3.5. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > Open ID Connect Auth Config > oidcConfig > scope
@@ -1689,7 +1774,7 @@ Specific value: `"openidconnect"`
-#### 16.1.4. Property `GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config` +#### 21.1.4. Property `GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config` **Title:** JWT Auth Config @@ -1703,7 +1788,7 @@ Specific value: `"openidconnect"`
- 16.1.4.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > type + 21.1.4.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > type
@@ -1720,7 +1805,7 @@ Specific value: `"jwt"`
- 16.1.4.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > enabled + 21.1.4.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > enabled
@@ -1735,7 +1820,7 @@ Specific value: `"jwt"`
- 16.1.4.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig + 21.1.4.3. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig
@@ -1750,7 +1835,7 @@ Specific value: `"jwt"`
- 16.1.4.3.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > clientID + 21.1.4.3.1. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > clientID
@@ -1765,7 +1850,7 @@ Specific value: `"jwt"`
- 16.1.4.3.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > authorityURL + 21.1.4.3.2. [Required] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > authorityURL
@@ -1780,7 +1865,7 @@ Specific value: `"jwt"`
- 16.1.4.3.3. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > expectedAudience + 21.1.4.3.3. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > expectedAudience
@@ -1795,7 +1880,7 @@ Specific value: `"jwt"`
- 16.1.4.3.4. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > roleMapping + 21.1.4.3.4. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > roleMapping
@@ -1808,7 +1893,7 @@ Specific value: `"jwt"`
- 16.1.4.3.4.1. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > roleMapping > admin + 21.1.4.3.4.1. [Optional] Property GitProxy configuration file > authentication > authentication items > oneOf > JWT Auth Config > jwtConfig > roleMapping > admin
@@ -1837,7 +1922,7 @@ Specific value: `"jwt"`
- 17. [Optional] Property GitProxy configuration file > tempPassword + 22. [Optional] Property GitProxy configuration file > tempPassword
@@ -1852,7 +1937,7 @@ Specific value: `"jwt"`
- 17.1. [Optional] Property GitProxy configuration file > tempPassword > sendEmail + 22.1. [Optional] Property GitProxy configuration file > tempPassword > sendEmail
@@ -1867,7 +1952,7 @@ Specific value: `"jwt"`
- 17.2. [Optional] Property GitProxy configuration file > tempPassword > emailConfig + 22.2. [Optional] Property GitProxy configuration file > tempPassword > emailConfig
@@ -1888,7 +1973,7 @@ Specific value: `"jwt"`
- 18. [Optional] Property GitProxy configuration file > apiAuthentication + 23. [Optional] Property GitProxy configuration file > apiAuthentication
@@ -1904,7 +1989,7 @@ Specific value: `"jwt"` | ------------------------------------------------- | ------------------------------------------ | | [authenticationElement](#apiAuthentication_items) | Configuration for an authentication source | -### 18.1. GitProxy configuration file > apiAuthentication > authenticationElement +### 23.1. GitProxy configuration file > apiAuthentication > authenticationElement | | | | ------------------------- | --------------------------------------------- | @@ -1920,7 +2005,7 @@ Specific value: `"jwt"`
- 19. [Optional] Property GitProxy configuration file > tls + 24. [Optional] Property GitProxy configuration file > tls
@@ -1935,7 +2020,7 @@ Specific value: `"jwt"`
- 19.1. [Required] Property GitProxy configuration file > tls > enabled + 24.1. [Required] Property GitProxy configuration file > tls > enabled
@@ -1950,7 +2035,7 @@ Specific value: `"jwt"`
- 19.2. [Required] Property GitProxy configuration file > tls > key + 24.2. [Required] Property GitProxy configuration file > tls > key
@@ -1965,7 +2050,7 @@ Specific value: `"jwt"`
- 19.3. [Required] Property GitProxy configuration file > tls > cert + 24.3. [Required] Property GitProxy configuration file > tls > cert
@@ -1983,7 +2068,7 @@ Specific value: `"jwt"`
- 20. [Optional] Property GitProxy configuration file > sslKeyPemPath + 25. [Optional] Property GitProxy configuration file > sslKeyPemPath
@@ -2000,7 +2085,7 @@ Specific value: `"jwt"`
- 21. [Optional] Property GitProxy configuration file > sslCertPemPath + 26. [Optional] Property GitProxy configuration file > sslCertPemPath
@@ -2017,7 +2102,7 @@ Specific value: `"jwt"`
- 22. [Optional] Property GitProxy configuration file > configurationSources + 27. [Optional] Property GitProxy configuration file > configurationSources
@@ -2033,7 +2118,7 @@ Specific value: `"jwt"`
- 23. [Optional] Property GitProxy configuration file > uiRouteAuth + 28. [Optional] Property GitProxy configuration file > uiRouteAuth
@@ -2048,7 +2133,7 @@ Specific value: `"jwt"`
- 23.1. [Optional] Property GitProxy configuration file > uiRouteAuth > enabled + 28.1. [Optional] Property GitProxy configuration file > uiRouteAuth > enabled
@@ -2063,7 +2148,7 @@ Specific value: `"jwt"`
- 23.2. [Optional] Property GitProxy configuration file > uiRouteAuth > rules + 28.2. [Optional] Property GitProxy configuration file > uiRouteAuth > rules
@@ -2077,7 +2162,7 @@ Specific value: `"jwt"` | ----------------------------------------- | ----------- | | [routeAuthRule](#uiRouteAuth_rules_items) | - | -#### 23.2.1. GitProxy configuration file > uiRouteAuth > rules > routeAuthRule +#### 28.2.1. GitProxy configuration file > uiRouteAuth > rules > routeAuthRule | | | | ------------------------- | --------------------------- | @@ -2088,7 +2173,7 @@ Specific value: `"jwt"`
- 23.2.1.1. [Optional] Property GitProxy configuration file > uiRouteAuth > rules > rules items > pattern + 28.2.1.1. [Optional] Property GitProxy configuration file > uiRouteAuth > rules > rules items > pattern
@@ -2103,7 +2188,7 @@ Specific value: `"jwt"`
- 23.2.1.2. [Optional] Property GitProxy configuration file > uiRouteAuth > rules > rules items > adminOnly + 28.2.1.2. [Optional] Property GitProxy configuration file > uiRouteAuth > rules > rules items > adminOnly
@@ -2118,7 +2203,7 @@ Specific value: `"jwt"`
- 23.2.1.3. [Optional] Property GitProxy configuration file > uiRouteAuth > rules > rules items > loginRequired + 28.2.1.3. [Optional] Property GitProxy configuration file > uiRouteAuth > rules > rules items > loginRequired
@@ -2139,7 +2224,7 @@ Specific value: `"jwt"`
- 24. [Optional] Property GitProxy configuration file > upstreamProxy + 29. [Optional] Property GitProxy configuration file > upstreamProxy
@@ -2154,7 +2239,7 @@ Specific value: `"jwt"`
- 24.1. [Optional] Property GitProxy configuration file > upstreamProxy > enabled + 29.1. [Optional] Property GitProxy configuration file > upstreamProxy > enabled
@@ -2171,7 +2256,7 @@ Specific value: `"jwt"`
- 24.2. [Optional] Property GitProxy configuration file > upstreamProxy > url + 29.2. [Optional] Property GitProxy configuration file > upstreamProxy > url
@@ -2189,7 +2274,7 @@ Specific value: `"jwt"`
- 24.3. [Optional] Property GitProxy configuration file > upstreamProxy > noProxy + 29.3. [Optional] Property GitProxy configuration file > upstreamProxy > noProxy
@@ -2205,7 +2290,7 @@ Specific value: `"jwt"` | --------------------------------------------- | ----------- | | [noProxy items](#upstreamProxy_noProxy_items) | - | -#### 24.3.1. GitProxy configuration file > upstreamProxy > noProxy > noProxy items +#### 29.3.1. GitProxy configuration file > upstreamProxy > noProxy > noProxy items | | | | ------------ | -------- | @@ -2219,4 +2304,4 @@ Specific value: `"jwt"`
---------------------------------------------------------------------------------------------------------------------------- -Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-05-13 at 15:33:22 +0100 +Generated using [json-schema-for-humans](https://github.com/coveooss/json-schema-for-humans) on 2026-06-02 at 22:41:17 +0900