Skip to content

Commit e208147

Browse files
committed
feat: put packet writing behind debug env var, pin workflow steps, rename api->dashboard
- instead of writing push request bodies to files based on logging level set to DEBUG (we want to continue using debug logs for troubleshooting separately), expose an env var (`GITPROXY_DEBUG_PACKET`) to enable writing request bodies to disk. This was useful during early iteration but in general is discouraged from use unless necessary for tracing network problems or inspecting payloads for development purposes. - enhance the client test scripts to pass in the git repo, git user & password (don't assume my local setup) so that the tests can be ran on any arbitrary repo & credentials - rename the jgit-proxy-api module to "jgit-proxy-dashboard" to align more with what its used for - update hard-coded commitconfig with generic example.com git user email instead of my personal ones
1 parent 55ac2c5 commit e208147

15 files changed

Lines changed: 70 additions & 36 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ jobs:
1010
runs-on: ubuntu-latest
1111

1212
steps:
13-
- uses: actions/checkout@v4
13+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6
1414

15-
- uses: actions/setup-java@v4
15+
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # ratchet:actions/setup-java@v5
1616
with:
1717
distribution: temurin
1818
java-version: 21
@@ -23,7 +23,7 @@ jobs:
2323

2424
- name: Publish test results
2525
if: always()
26-
uses: actions/upload-artifact@v4
26+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # ratchet:actions/upload-artifact@v7
2727
with:
2828
name: test-reports
2929
path: "**/build/reports/tests/test/"
@@ -39,9 +39,9 @@ jobs:
3939
github.event_name == 'pull_request'
4040
4141
steps:
42-
- uses: actions/checkout@v4
42+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6
4343

44-
- uses: actions/setup-java@v4
44+
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # ratchet:actions/setup-java@v5
4545
with:
4646
distribution: temurin
4747
java-version: 21
@@ -52,7 +52,7 @@ jobs:
5252

5353
- name: Publish e2e test results
5454
if: always()
55-
uses: actions/upload-artifact@v4
55+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # ratchet:actions/upload-artifact@v7
5656
with:
5757
name: e2e-test-reports
5858
path: "jgit-proxy-server/build/reports/tests/e2eTest/"

.github/workflows/cve.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: CVE Scanning
2+
3+
on:
4+
push:
5+
6+
jobs:
7+
depcheck:
8+
runs-on: ubuntu-latest
9+
name: depecheck
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6
13+
- name: Build project with Gradle
14+
run: ./gradlew clean build
15+
- name: Depcheck
16+
uses: dependency-check/Dependency-Check_Action@1e54355a8b4c8abaa8cc7d0b70aa655a3bb15a6c
17+
id: Depcheck
18+
with:
19+
project: 'jgit-proxy'
20+
path: '.'
21+
format: 'HTML'
22+
out: 'reports' # this is the default, no need to specify unless you wish to override it
23+
args: >
24+
--suppression ./gradle/allow-list.xml
25+
--failOnCVSS 5
26+
--enableRetired
27+
28+
- name: Upload Test results
29+
if: ${{ always() }}
30+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # ratchet:actions/upload-artifact@v7
31+
with:
32+
name: Depcheck report
33+
path: ${{ github.workspace }}/reports

jgit-proxy-core/src/main/java/org/finos/gitproxy/servlet/filter/ParseGitRequestFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public GitRequestDetails parse(RequestBodyWrapper request) {
9999
gr.setCommitFrom(pushInfo.getOldCommit());
100100
gr.setCommitTo(pushInfo.getNewCommit());
101101

102-
if (log.isDebugEnabled()) {
102+
if (null != System.getenv("GITPROXY_DEBUG_PACKET")) {
103103
logPushDetails(gr.getId(), packetLine, packData);
104104
}
105105
} catch (IOException e) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ java {
1616
}
1717

1818
application {
19-
mainClass = 'org.finos.gitproxy.api.GitProxyWithDashboardApplication'
19+
mainClass = 'org.finos.gitproxy.dashboard.GitProxyWithDashboardApplication'
2020
applicationDefaultJvmArgs = ["-Djgitproxy.pidfile=${buildDir}/jgit-proxy.pid"]
2121
}
2222

jgit-proxy-api/src/main/java/org/finos/gitproxy/api/GitProxyWithDashboardApplication.java renamed to jgit-proxy-dashboard/src/main/java/org/finos/gitproxy/dashboard/GitProxyWithDashboardApplication.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.finos.gitproxy.api;
1+
package org.finos.gitproxy.dashboard;
22

33
import java.nio.file.Files;
44
import java.util.List;
@@ -41,7 +41,7 @@ public static void main(String[] args) throws Exception {
4141
var configBuilder = new JettyConfigurationBuilder(configLoader);
4242

4343
var threadPool = new QueuedThreadPool();
44-
threadPool.setName("jgit-proxy-api");
44+
threadPool.setName("jgit-proxy-dashboard");
4545

4646
var server = new Server(threadPool);
4747
var connector = new ServerConnector(server);

jgit-proxy-api/src/main/java/org/finos/gitproxy/api/SpringWebConfig.java renamed to jgit-proxy-dashboard/src/main/java/org/finos/gitproxy/dashboard/SpringWebConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.finos.gitproxy.api;
1+
package org.finos.gitproxy.dashboard;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import com.fasterxml.jackson.databind.SerializationFeature;
@@ -17,7 +17,7 @@
1717

1818
@Configuration
1919
@EnableWebMvc
20-
@ComponentScan("org.finos.gitproxy.api.controller")
20+
@ComponentScan("org.finos.gitproxy.dashboard.controller")
2121
public class SpringWebConfig implements WebMvcConfigurer {
2222

2323
@Override

jgit-proxy-api/src/main/java/org/finos/gitproxy/api/controller/HealthController.java renamed to jgit-proxy-dashboard/src/main/java/org/finos/gitproxy/dashboard/controller/HealthController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.finos.gitproxy.api.controller;
1+
package org.finos.gitproxy.dashboard.controller;
22

33
import java.time.Instant;
44
import java.util.Map;

jgit-proxy-api/src/main/java/org/finos/gitproxy/api/controller/ProviderController.java renamed to jgit-proxy-dashboard/src/main/java/org/finos/gitproxy/dashboard/controller/ProviderController.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
package org.finos.gitproxy.api.controller;
1+
package org.finos.gitproxy.dashboard.controller;
22

33
import jakarta.annotation.Resource;
44
import java.util.List;
5-
65
import org.finos.gitproxy.config.ProviderConfigurationSource;
7-
import org.finos.gitproxy.provider.GitProxyProvider;
86
import org.springframework.web.bind.annotation.GetMapping;
97
import org.springframework.web.bind.annotation.RestController;
108

@@ -26,6 +24,5 @@ public List<ProviderInfo> list() {
2624
.toList();
2725
}
2826

29-
public record ProviderInfo(
30-
String name, String uri, String host, String pushPath, String proxyPath) {}
27+
public record ProviderInfo(String name, String uri, String host, String pushPath, String proxyPath) {}
3128
}

jgit-proxy-api/src/main/java/org/finos/gitproxy/api/controller/PushController.java renamed to jgit-proxy-dashboard/src/main/java/org/finos/gitproxy/dashboard/controller/PushController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.finos.gitproxy.api.controller;
1+
package org.finos.gitproxy.dashboard.controller;
22

33
import java.util.List;
44
import java.util.Map;

jgit-proxy-api/src/main/resources/static/index.html renamed to jgit-proxy-dashboard/src/main/resources/static/index.html

File renamed without changes.

0 commit comments

Comments
 (0)