Skip to content

Commit

Permalink
fix: MWTELE 266 upload directory creation (#248)
Browse files Browse the repository at this point in the history
* EOD

* Prepare to fix conflicting branches

* Add more belt-and-braces
  • Loading branch information
kittylyst authored Jul 31, 2024
1 parent fd19e47 commit f1debd2
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) Red Hat 2022-2023 */
/* Copyright (C) Red Hat 2022-2024 */
package com.redhat.insights;

import static com.redhat.insights.InsightsErrorCode.ERROR_GENERATING_HASH;
Expand Down Expand Up @@ -103,11 +103,12 @@ public static InsightsReportController of(
/** Generates the report (including subreports), computes identifying hash and schedules sends */
public void generate() {
try {

if (configuration.isOptingOut()) {
throw new InsightsException(OPT_OUT, "Opting out of the Red Hat Insights client");
}
final InsightsReport updateReport = new UpdateReportImpl(jarsToSend, logger);
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
throw new InsightsException(OPT_OUT, "Red Hat Insights is not supported on Windows.");
}

// Schedule initial event
Runnable sendConnect =
Expand All @@ -131,6 +132,7 @@ public void generate() {
scheduler.scheduleConnect(sendConnect);

// Schedule a possible Jar send (every few mins? Defaults to 5 min)
final InsightsReport updateReport = new UpdateReportImpl(jarsToSend, logger);
Runnable sendNewJarsIfAny =
() -> {
InsightsHttpClient httpClient = httpClientSupplier.get();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) Red Hat 2023 */
/* Copyright (C) Red Hat 2023-2024 */
package com.redhat.insights.config;

import static com.redhat.insights.InsightsErrorCode.ERROR_IDENTIFICATION_NOT_DEFINED;
Expand Down Expand Up @@ -123,6 +123,10 @@ public Optional<ProxyConfiguration> getProxyConfiguration() {

@Override
public boolean isOptingOut() {
String osName = System.getProperty("os.name");
if (osName != null && osName.trim().toLowerCase().contains("windows")) {
return true;
}
String value = lookup(ENV_OPT_OUT);
if (value != null) {
return "true".equalsIgnoreCase(value.trim());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) Red Hat 2023 */
/* Copyright (C) Red Hat 2023-2024 */
package com.redhat.insights.config;

import java.time.Duration;
Expand Down Expand Up @@ -69,6 +69,10 @@ default Optional<ProxyConfiguration> getProxyConfiguration() {
}

default boolean isOptingOut() {
String osName = System.getProperty("os.name");
if (osName != null) {
return osName.trim().toLowerCase().contains("windows");
}
return false;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) Red Hat 2023 */
/* Copyright (C) Red Hat 2023-2024 */
package com.redhat.insights.http;

import static com.redhat.insights.InsightsErrorCode.ERROR_UPLOAD_DIR_CREATION;
Expand Down Expand Up @@ -27,7 +27,7 @@ public InsightsFileWritingClient(InsightsLogger logger, InsightsConfiguration co

private void ensureArchiveUploadDirExists() {
Path dir = Paths.get(config.getArchiveUploadDir());
if (Files.notExists(dir)) {
if (Files.notExists(dir) && !config.isOptingOut()) {
try {
Files.createDirectories(dir);
} catch (IOException e) {
Expand All @@ -44,6 +44,9 @@ public void decorate(InsightsReport report) {

@Override
public void sendInsightsReport(String filename, InsightsReport report) {
if (config.isOptingOut()) {
return;
}
decorate(report);

// Can't reuse upload path - as this may be called as part of fallback
Expand Down

0 comments on commit f1debd2

Please sign in to comment.