Skip to content

Commit e74a43a

Browse files
committed
Try to fix REST ssl
1 parent 9288786 commit e74a43a

File tree

5 files changed

+59
-20
lines changed

5 files changed

+59
-20
lines changed

pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@
2626
<id>oss-sonatype</id>
2727
<name>oss-sonatype</name>
2828
<url>https://oss.sonatype.org/content/repositories/releases/</url>
29+
<!-- For if we need to work with kubernetes-client/java snapshot releases
2930
<snapshots>
3031
<enabled>true</enabled>
3132
</snapshots>
33+
-->
3234
</repository>
3335
</repositories>
3436

src/main/java/oracle/kubernetes/operator/Main.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,15 @@ private static void setTuningParameters() {
121121
CallBuilder.setTuningParameters(callRequestLimit, callMaxRetryCount, callTimeoutSeconds);
122122
int watchLifetime = (int) config.readTuningParameter("watchLifetime", 45);
123123
WatchBuilder.setTuningParameters(watchLifetime);
124+
int readinessProbeInitialDelaySeconds = (int) config.readTuningParameter("readinessProbeInitialDelaySeconds", 2);
125+
int readinessProbeTimeoutSeconds = (int) config.readTuningParameter("readinessProbeTimeoutSeconds", 5);
126+
int readinessProbePeriodSeconds = (int) config.readTuningParameter("readinessProbePeriodSeconds", 10);
127+
int livenessProbeInitialDelaySeconds = (int) config.readTuningParameter("livenessProbeInitialDelaySeconds", 10);
128+
int livenessProbeTimeoutSeconds = (int) config.readTuningParameter("livenessProbeTimeoutSeconds", 5);
129+
int livenessProbePeriodSeconds = (int) config.readTuningParameter("livenessProbePeriodSeconds", 10);
130+
PodHelper.setTuningParameters(readinessProbeInitialDelaySeconds, readinessProbeTimeoutSeconds,
131+
readinessProbePeriodSeconds, livenessProbeInitialDelaySeconds, livenessProbeTimeoutSeconds,
132+
livenessProbePeriodSeconds);
124133
}
125134

126135
private static final ConcurrentMap<String, Boolean> initialized = new ConcurrentHashMap<>();

src/main/java/oracle/kubernetes/operator/helpers/ConfigMapConsumer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public ConfigMapConsumer(ScheduledExecutorService threadPool, String mountPoint,
5353

5454
private void schedule() {
5555
long initialDelay = readTuningParameter("configMapUpdateInitialDelay", 3);
56-
long delay = readTuningParameter("configMapUpdateDelay", 30);
56+
long delay = readTuningParameter("configMapUpdateDelay", 10);
5757
ScheduledFuture<?> old = future.getAndSet(threadPool.scheduleWithFixedDelay(() -> {
5858
// wait for key to be signaled
5959
WatchKey key;

src/main/java/oracle/kubernetes/operator/helpers/PodHelper.java

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,24 @@ public class PodHelper {
4949

5050
private static final LoggingFacade LOGGER = LoggingFactory.getLogger("Operator", "Operator");
5151

52+
private static int readinessProbeInitialDelaySeconds = 2;
53+
private static int readinessProbeTimeoutSeconds = 5;
54+
private static int readinessProbePeriodSeconds = 10;
55+
private static int livenessProbeInitialDelaySeconds = 10;
56+
private static int livenessProbeTimeoutSeconds = 5;
57+
private static int livenessProbePeriodSeconds = 10;
58+
59+
public static void setTuningParameters(
60+
int readinessProbeInitialDelaySeconds, int readinessProbeTimeoutSeconds, int readinessProbePeriodSeconds,
61+
int livenessProbeInitialDelaySeconds, int livenessProbeTimeoutSeconds, int livenessProbePeriodSeconds) {
62+
PodHelper.readinessProbeInitialDelaySeconds = readinessProbeInitialDelaySeconds;
63+
PodHelper.readinessProbeTimeoutSeconds = readinessProbeTimeoutSeconds;
64+
PodHelper.readinessProbePeriodSeconds = readinessProbePeriodSeconds;
65+
PodHelper.livenessProbeInitialDelaySeconds = readinessProbeInitialDelaySeconds;
66+
PodHelper.livenessProbeTimeoutSeconds = livenessProbeTimeoutSeconds;
67+
PodHelper.livenessProbePeriodSeconds = livenessProbePeriodSeconds;
68+
}
69+
5270
private PodHelper() {}
5371

5472
/**
@@ -166,10 +184,10 @@ public NextAction apply(Packet packet) {
166184
readinessAction.addCommandItem(weblogicDomainName);
167185
readinessAction.addCommandItem(spec.getAsName());
168186
readinessProbe.exec(readinessAction);
169-
readinessProbe.setInitialDelaySeconds(5);
170-
readinessProbe.setTimeoutSeconds(5);
171-
readinessProbe.setPeriodSeconds(5);
172-
readinessProbe.setFailureThreshold(1);
187+
readinessProbe.setInitialDelaySeconds(readinessProbeInitialDelaySeconds);
188+
readinessProbe.setTimeoutSeconds(readinessProbeTimeoutSeconds);
189+
readinessProbe.setPeriodSeconds(readinessProbePeriodSeconds);
190+
readinessProbe.setFailureThreshold(1); // must be 1
173191
container.readinessProbe(readinessProbe);
174192

175193
V1Probe livenessProbe = new V1Probe();
@@ -178,10 +196,10 @@ public NextAction apply(Packet packet) {
178196
livenessAction.addCommandItem(weblogicDomainName);
179197
livenessAction.addCommandItem(spec.getAsName());
180198
livenessProbe.exec(livenessAction);
181-
livenessProbe.setInitialDelaySeconds(10);
182-
livenessProbe.setTimeoutSeconds(5);
183-
livenessProbe.setPeriodSeconds(5);
184-
livenessProbe.setFailureThreshold(1);
199+
livenessProbe.setInitialDelaySeconds(livenessProbeInitialDelaySeconds);
200+
livenessProbe.setTimeoutSeconds(livenessProbeTimeoutSeconds);
201+
livenessProbe.setPeriodSeconds(livenessProbePeriodSeconds);
202+
livenessProbe.setFailureThreshold(1); // must be 1
185203
container.livenessProbe(livenessProbe);
186204

187205
if (spec.getServerStartup() != null) {
@@ -550,10 +568,10 @@ public NextAction apply(Packet packet) {
550568
readinessAction.addCommandItem(weblogicDomainName);
551569
readinessAction.addCommandItem(weblogicServerName);
552570
readinessProbe.exec(readinessAction);
553-
readinessProbe.setInitialDelaySeconds(2);
554-
readinessProbe.setTimeoutSeconds(5);
555-
readinessProbe.setPeriodSeconds(10);
556-
readinessProbe.setFailureThreshold(1);
571+
readinessProbe.setInitialDelaySeconds(readinessProbeInitialDelaySeconds);
572+
readinessProbe.setTimeoutSeconds(readinessProbeTimeoutSeconds);
573+
readinessProbe.setPeriodSeconds(readinessProbePeriodSeconds);
574+
readinessProbe.setFailureThreshold(1); // must be 1
557575
container.readinessProbe(readinessProbe);
558576

559577
V1Probe livenessProbe = new V1Probe();
@@ -562,10 +580,10 @@ public NextAction apply(Packet packet) {
562580
livenessAction.addCommandItem(weblogicDomainName);
563581
livenessAction.addCommandItem(weblogicServerName);
564582
livenessProbe.exec(livenessAction);
565-
livenessProbe.setInitialDelaySeconds(10);
566-
livenessProbe.setTimeoutSeconds(5);
567-
livenessProbe.setPeriodSeconds(10);
568-
livenessProbe.setFailureThreshold(1);
583+
livenessProbe.setInitialDelaySeconds(livenessProbeInitialDelaySeconds);
584+
livenessProbe.setTimeoutSeconds(livenessProbeTimeoutSeconds);
585+
livenessProbe.setPeriodSeconds(livenessProbePeriodSeconds);
586+
livenessProbe.setFailureThreshold(1); // must be 1
569587
container.livenessProbe(livenessProbe);
570588

571589
if (!info.getClaims().getItems().isEmpty()) {

src/main/java/oracle/kubernetes/operator/rest/RestServer.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
import javax.net.ssl.KeyManager;
2222
import javax.net.ssl.SSLContext;
2323
import java.io.File;
24+
import java.io.FileInputStream;
25+
import java.io.IOException;
2426
import java.net.URI;
25-
import java.nio.charset.StandardCharsets;
2627
import java.security.SecureRandom;
2728
import java.util.Collection;
2829
import java.util.HashMap;
@@ -273,8 +274,8 @@ private KeyManager[] createKeyManagers(
273274
LOGGER.entering(certificateData, certificateFile);
274275
KeyManager[] result =
275276
SSLUtils.keyManagers(
276-
Base64.decodeBase64(certificateData),
277-
Base64.decodeBase64(keyData),
277+
readFromDataOrFile(certificateData, certificateFile),
278+
readFromDataOrFile(keyData, keyFile),
278279
"", // Let utility figure it out, "RSA", // key algorithm
279280
"", // operator key passphrase in the temp keystore that gets created to hold the keypair
280281
null, // file name of the temp keystore
@@ -284,6 +285,15 @@ private KeyManager[] createKeyManagers(
284285
return result;
285286
}
286287

288+
private static byte[] readFromDataOrFile(String data, String file) throws IOException {
289+
if (data != null && data.length() > 0) {
290+
return Base64.decodeBase64(data);
291+
}
292+
try (FileInputStream fis = new FileInputStream(file)) {
293+
return fis.readAllBytes();
294+
}
295+
}
296+
287297
private boolean isExternalSSLConfigured() {
288298
return
289299
isSSLConfigured(

0 commit comments

Comments
 (0)