finos / finos/git-proxy

Remove deprecated config fields (proxyUrl, sslKeyPemPath, sslCertPemPath) in 3.0

Open
#1,545 1 comment 1 reaction 1 assignee Claimed by @re-vlad View on GitHub
enhancement
Dominant language
TypeScript
Stars
249
Forks
176
Avg merge
3d 8h
Merged PRs (30d)
20

Description

## Summary

Remove the deprecated top-level config fields `proxyUrl`, `sslKeyPemPath`, and `sslCertPemPath` from the schema, types, and config loader. These fields are already flagged `deprecated: true` in `config.schema.json` and have been superseded by `upstreamProxy` and `tls.key` / `tls.cert` respectively.

## Why defer to 3.0

Removing these fields is a breaking change: after the upgrade, the app will fail to start unless users clean up their config files. That's not acceptable inside the 2.x line, so this work should land in the next major.

## Context

- Discussed in #1514 (review thread with @jescalada).
- The removal was briefly included in #1514 as commit `c48d0bf` but reverted in [4234c16](https://github.com/finos/git-proxy/commit/4234c16fbddca7abc10f08fc4bd2285e0a58ec44) to keep #1514 non-breaking.

## Scope

- Drop `proxyUrl`, `sslKeyPemPath`, `sslCertPemPath` from `config.schema.json`.
- Regenerate `src/config/generated/config.ts`.
- Remove the legacy fallback logic in `src/config/index.ts` (`mergeConfigurations`, `getProxyUrl`, `getTLSKeyPemPath`, `getTLSCertPemPath`).
- Simplify `FullGitProxyConfig` to plain `Required` (drop `OptionalTopLevelConfigKey`).
- Update reference docs (`website/docs/configuration/reference.mdx`).
- Improve the config-load error message so users hitting a removed/unknown key get a clear "this field is no longer supported, use X" instead of the current misleading "expected boolean but got X" (per @jescalada's note in #1514).

## Migration for users

| Deprecated field | Replacement |
|---|---|
| `proxyUrl` | `upstreamProxy` |
| `sslKeyPemPath` | `tls.key` |
| `sslCertPemPath` | `tls.cert` |

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.