Skip to content

Commit

Permalink
feat: added global truststore configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
mherwig committed Mar 11, 2024
1 parent a764ca5 commit 095e61e
Show file tree
Hide file tree
Showing 7 changed files with 57 additions and 7 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ horizon:
defaultCacheName: deDuplication
ttlInSeconds: 0
maxIdleInSeconds: 1800
truststore:
enabled: false
location: # no default
password: # no default

pandora:
tracing:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import de.telekom.eni.pandora.horizon.tracing.Constants;
import de.telekom.eni.pandora.horizon.model.event.IdentifiableMessage;
import de.telekom.eni.pandora.horizon.model.event.MessageType;
import de.telekom.eni.pandora.horizon.model.event.StatusMessage;
import de.telekom.eni.pandora.horizon.model.event.SubscriptionEventMessage;
import de.telekom.eni.pandora.horizon.model.meta.HorizonComponentId;
import de.telekom.eni.pandora.horizon.tracing.Constants;
import de.telekom.eni.pandora.horizon.tracing.HorizonTracer;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.producer.ProducerRecord;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Copyright 2024 Deutsche Telekom IT GmbH
//
// SPDX-License-Identifier: Apache-2.0

package de.telekom.eni.pandora.horizon.security.config;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Getter
@Setter
@ConfigurationProperties("horizon.truststore")
public class TruststoreProperties {

private String location;

private String password;

private boolean enabled = false;
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertEquals;

class HorizonComponentIdTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
import brave.propagation.CurrentTraceContext;
import brave.propagation.TraceContext;
import brave.propagation.TraceContextOrSamplingFlags;
import de.telekom.eni.pandora.horizon.tracing.PandoraTracer;
import de.telekom.eni.pandora.horizon.tracing.SamplingState;
import de.telekom.eni.pandora.horizon.tracing.ScopedDebugSpanWrapper;
import de.telekom.eni.pandora.horizon.tracing.TracingProperties;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package de.telekom.eni.pandora.horizon.autoconfigure.security;

import de.telekom.eni.pandora.horizon.security.config.TruststoreProperties;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.server.Ssl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

;

@Configuration
@EnableConfigurationProperties({TruststoreProperties.class})
public class TruststoreConfiguration {

@Bean
public ServerProperties serverProperties(TruststoreProperties truststoreProperties) {
final ServerProperties serverProperties = new ServerProperties();

if (truststoreProperties.isEnabled()) {
final Ssl ssl = new Ssl();
ssl.setTrustStore(truststoreProperties.getLocation());
ssl.setTrustStorePassword(truststoreProperties.getPassword());
serverProperties.setSsl(ssl);
}

return serverProperties;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

import brave.Tracing;
import brave.TracingCustomizer;
import de.telekom.eni.pandora.horizon.tracing.HorizonTracer;
import de.telekom.eni.pandora.horizon.tracing.PandoraTracer;
import de.telekom.eni.pandora.horizon.tracing.TracingProperties;
import de.telekom.eni.pandora.horizon.tracing.HorizonTracer;
import jakarta.servlet.Filter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration;
Expand Down

0 comments on commit 095e61e

Please sign in to comment.