Skip to content
Snippets Groups Projects
Commit 58ee8203 authored by Zachary Sabourin's avatar Zachary Sabourin
Browse files

Merge branch 'zacharysabourin/main/32' into 'main'

feat: Standardize configs

Closes #32

See merge request !31
parents e137e00f 2860bf36
No related branches found
No related tags found
1 merge request!31feat: Standardize configs
Pipeline #29642 passed
......@@ -16,7 +16,7 @@
<surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
<auto-value.version>1.8.2</auto-value.version>
<org.mapstruct.version>1.4.1.Final</org.mapstruct.version>
<eclipse-api-version>0.7.5</eclipse-api-version>
<eclipse-api-version>0.7.6</eclipse-api-version>
<sonar.sources>src/main</sonar.sources>
<sonar.tests>src/test</sonar.tests>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
......
......@@ -14,15 +14,28 @@ package org.eclipsefoundation.cve.config;
import io.smallrye.config.ConfigMapping;
import io.smallrye.config.WithDefault;
@ConfigMapping(prefix = "eclipse.gitlab.cve-project")
public interface GitlabCveLoaderConfig {
/**
* Loads all Advisories configs. Contains the Gitlab PAT, Gitlab project id,
* filepath of desired file, and project branch name.
*
* The 'gitlabToken' and 'gitlabProjectId' can be modified via the
* '/config/application/secret.properties' file.
* The 'filePath' and 'branchName' can be modified via the
* '/main/resources/application.properties' file.
* For testing, all need mocked/stubbed values via the
* '/test/resources/application.properties' file.
*/
@ConfigMapping(prefix = "eclipse.cve.advisories")
public interface AdvisoriesConfig {
String gitlabToken();
Integer gitlabProjectId();
@WithDefault("advisories")
String filePath();
Integer projectId();
@WithDefault("main")
String ref();
String branchName();
String token();
}
......@@ -23,7 +23,7 @@ import org.eclipsefoundation.core.model.ParameterizedCacheKey;
import org.eclipsefoundation.core.service.LoadingCacheManager.LoadingCacheProvider;
import org.eclipsefoundation.cve.api.GitlabCveAPI;
import org.eclipsefoundation.cve.api.models.GitlabRequestParams;
import org.eclipsefoundation.cve.config.GitlabCveLoaderConfig;
import org.eclipsefoundation.cve.config.AdvisoriesConfig;
import org.eclipsefoundation.cve.model.CveData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -39,7 +39,7 @@ public class AdvisoriesPrecacheProvider implements LoadingCacheProvider<CveData>
private static final Logger LOGGER = LoggerFactory.getLogger(AdvisoriesPrecacheProvider.class);
@Inject
GitlabCveLoaderConfig glCveLoaderConfig;
AdvisoriesConfig config;
@RestClient
GitlabCveAPI gitlabApi;
......@@ -54,10 +54,10 @@ public class AdvisoriesPrecacheProvider implements LoadingCacheProvider<CveData>
GitlabRequestParams params = GitlabRequestParams
.builder()
.setId(glCveLoaderConfig.projectId())
.setFilePath(glCveLoaderConfig.filePath())
.setRef(glCveLoaderConfig.ref())
.setPrivateToken(glCveLoaderConfig.token())
.setId(config.gitlabProjectId())
.setFilePath(config.filePath())
.setRef(config.branchName())
.setPrivateToken(config.gitlabToken())
.build();
return om.readerForListOf(CveData.class).readValue(gitlabApi.getCveFile(params));
......
......@@ -44,7 +44,8 @@ public class CveProjectDataPrecacheProvider implements LoadingCacheProvider<CveP
private static final Pattern CVE_ID_PARTS = Pattern.compile("^CVE-(\\d{4})-(\\d+?)\\d{3}$");
@ConfigProperty(name = "eclipse.github.cve-project.token")
// Modified via the '/config/application/secret.properties' file.
@ConfigProperty(name = "eclipse.cve.cve-definitions.github-token")
String ghToken;
@RestClient
......
# RestClient URLs
quarkus.rest-client."org.eclipsefoundation.cve.api.GithubCveAPI".url=https://api.github.com/repos/CVEProject/cvelistv5/contents/cves/
quarkus.rest-client."org.eclipsefoundation.cve.api.GitlabCveAPI".url=https://gitlab.eclipse.org/api/v4
......@@ -5,8 +7,9 @@ quarkus.rest-client."org.eclipsefoundation.cve.api.GitlabCveAPI".url=https://git
quarkus.oidc.enabled=false
quarkus.keycloak.devservices.enabled=false
eclipse.gitlab.cve-project.file-path=advisories
eclipse.gitlab.cve-project.ref=main
# Advisories configs - CVEs from GL
eclipse.cve.advisories.file-path=advisories
eclipse.cve.advisories.branch-name=main
# Uses default forceRefresh(false), refreshAfter(PT1H), and maximumSize(10)
eclipse.cache.loading."advisories".start-at-boot=true
......
......@@ -2,15 +2,14 @@
quarkus.oidc.enabled=false
quarkus.keycloak.devservices.enabled=false
eclipse.google.cve-file-id=sample
eclipse.google.jwt-location=/tmp
# Advisories configs - CVEs from GL
eclipse.cve.advisories.gitlab-token=sample
eclipse.cve.advisories.gitlab-project-id=0
eclipse.cve.advisories.file-path=sample
eclipse.cve.advisories.branch-name=sample
eclipse.gitlab.cve-project.token=sample
eclipse.gitlab.cve-project.project-id=0
eclipse.gitlab.cve-project.file-path=sample
eclipse.gitlab.cve-project.ref=sample
eclipse.github.cve-project.token=sample
# Cve definitions configs - CVEs from GH
eclipse.cve.cve-definitions.github-token=sample
# Uses default forceRefresh(false), refreshAfter(PT1H), and maximumSize(10)
eclipse.cache.loading."advisories".start-at-boot=true
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment