Skip to content

Commit 076d368

Browse files
committed
cleanup
1 parent 6d4458f commit 076d368

File tree

15 files changed

+114
-37
lines changed

15 files changed

+114
-37
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22
The format is based on [Keep a Changelog](http://keepachangelog.com/)
33
and this project adheres to [Semantic Versioning](http://semver.org/).
44

5+
## 2.7.0 (UNRELEASED)
6+
#### New Features
7+
- [PR-225](https://github.com/SourceLabOrg/kafka-webview/pull/225)
8+
- Adds the ability to set custom kafka client properties when defining a cluster.
9+
- Adds a new debugging tool under `/configuration/cluster` to see the generated kafka client properties.
10+
11+
#### Internal Dependency Updates
12+
- Updated Kafka Client library version from 2.0.1 to 2.2.2.
13+
514
## 2.6.0 (06/21/2020)
615
- [ISSUE-144](https://github.com/SourceLabOrg/kafka-webview/issues/144) Make providing a TrustStore file when setting up a SSL enabled cluster optional. You might not want/need this option if your JVM is already configured to accept the SSL certificate served by the cluster, or if the cluster's certificate can be validated by a publically accessible CA.
716
- [PR-215](https://github.com/SourceLabOrg/kafka-webview/pull/215) Improve errors displayed when using the `test cluster` functionality.

dev-cluster/src/main/java/org/sourcelab/kafka/devcluster/DevCluster.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
import org.slf4j.LoggerFactory;
4848

4949
import java.net.URL;
50-
import java.util.ArrayList;
5150
import java.util.Arrays;
5251
import java.util.Collection;
5352
import java.util.Collections;

dev-cluster/src/main/java/org/sourcelab/kafka/devcluster/LdapServer.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import com.unboundid.ldap.listener.InMemoryDirectoryServerConfig;
2929
import com.unboundid.ldap.listener.InMemoryListenerConfig;
3030
import com.unboundid.ldap.sdk.LDAPException;
31-
import com.unboundid.ldap.sdk.OperationType;
3231
import org.slf4j.Logger;
3332
import org.slf4j.LoggerFactory;
3433

kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/controller/cluster/ClusterController.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,9 @@
2929
import org.sourcelab.kafka.webview.ui.manager.ui.FlashMessage;
3030
import org.sourcelab.kafka.webview.ui.manager.ui.datatable.Datatable;
3131
import org.sourcelab.kafka.webview.ui.manager.ui.datatable.DatatableColumn;
32-
import org.sourcelab.kafka.webview.ui.manager.ui.datatable.DatatableFilter;
3332
import org.sourcelab.kafka.webview.ui.manager.ui.datatable.LinkTemplate;
3433
import org.sourcelab.kafka.webview.ui.manager.ui.datatable.YesNoBadgeTemplate;
3534
import org.sourcelab.kafka.webview.ui.model.Cluster;
36-
import org.sourcelab.kafka.webview.ui.model.View;
3735
import org.sourcelab.kafka.webview.ui.repository.ClusterRepository;
3836
import org.sourcelab.kafka.webview.ui.repository.ViewRepository;
3937
import org.springframework.beans.factory.annotation.Autowired;

kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/controller/configuration/cluster/ClusterConfigController.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,13 @@
2626

2727
import com.fasterxml.jackson.core.JsonProcessingException;
2828
import com.fasterxml.jackson.databind.ObjectMapper;
29-
import org.apache.kafka.common.config.SslConfigs;
3029
import org.apache.kafka.common.errors.TimeoutException;
3130
import org.slf4j.Logger;
3231
import org.slf4j.LoggerFactory;
3332
import org.sourcelab.kafka.webview.ui.controller.BaseController;
3433
import org.sourcelab.kafka.webview.ui.controller.configuration.cluster.forms.ClusterForm;
35-
import org.sourcelab.kafka.webview.ui.controller.configuration.messageformat.forms.MessageFormatForm;
3634
import org.sourcelab.kafka.webview.ui.manager.SensitiveConfigScrubber;
3735
import org.sourcelab.kafka.webview.ui.manager.encryption.SecretManager;
38-
import org.sourcelab.kafka.webview.ui.manager.kafka.KafkaAdminFactory;
3936
import org.sourcelab.kafka.webview.ui.manager.kafka.KafkaClientConfigUtil;
4037
import org.sourcelab.kafka.webview.ui.manager.kafka.KafkaOperations;
4138
import org.sourcelab.kafka.webview.ui.manager.kafka.KafkaOperationsFactory;
@@ -58,7 +55,6 @@
5855

5956
import javax.validation.Valid;
6057
import java.io.IOException;
61-
import java.util.Arrays;
6258
import java.util.HashMap;
6359
import java.util.LinkedHashMap;
6460
import java.util.Map;
@@ -573,7 +569,7 @@ public String getClientConfig(
573569
model.addAttribute("configs", configs);
574570
model.addAttribute("cluster", cluster);
575571

576-
// redirect to cluster index
572+
// Render cluster config template
577573
return "configuration/cluster/config";
578574
}
579575

kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/controller/view/ViewController.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.sourcelab.kafka.webview.ui.model.Cluster;
3535
import org.sourcelab.kafka.webview.ui.model.View;
3636
import org.sourcelab.kafka.webview.ui.repository.ClusterRepository;
37-
import org.sourcelab.kafka.webview.ui.repository.MessageFormatRepository;
3837
import org.sourcelab.kafka.webview.ui.repository.ViewRepository;
3938
import org.springframework.beans.factory.annotation.Autowired;
4039
import org.springframework.data.domain.Pageable;

kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/manager/SensitiveConfigScrubber.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626

2727
import org.apache.kafka.common.config.SaslConfigs;
2828
import org.apache.kafka.common.config.SslConfigs;
29-
import org.slf4j.Logger;
30-
import org.slf4j.LoggerFactory;
3129
import org.sourcelab.kafka.webview.ui.manager.sasl.SaslProperties;
3230
import org.sourcelab.kafka.webview.ui.manager.sasl.SaslUtility;
3331
import org.sourcelab.kafka.webview.ui.model.Cluster;
@@ -36,30 +34,29 @@
3634
import java.util.Arrays;
3735
import java.util.HashMap;
3836
import java.util.Map;
37+
import java.util.Objects;
3938

4039
/**
4140
* Utility class for removing sensitive values from generated kafka client configuration.
4241
*/
4342
public class SensitiveConfigScrubber {
44-
private static final Logger logger = LoggerFactory.getLogger(SensitiveConfigScrubber.class);
4543

4644
private final SaslUtility saslUtility;
4745

4846
@Autowired
4947
public SensitiveConfigScrubber(final SaslUtility saslUtility) {
50-
this.saslUtility = saslUtility;
48+
this.saslUtility = Objects.requireNonNull(saslUtility);
5149
}
5250

53-
5451
/**
5552
* Given a Kafka Client Config, scrub any sensentivie fields from the config and return a copy.
5653
* @param config The config to scrub.
57-
* @param cluster The cluster associated with the config.
54+
* @param cluster (optional) The cluster associated with the config.
5855
* @return Copy of scrubbed configuration.
5956
*/
60-
public Map<String, Object> filterSensitiveOptions(
61-
final Map<String, Object> config, final Cluster cluster
62-
) {
57+
public Map<String, Object> filterSensitiveOptions(final Map<String, Object> config, final Cluster cluster) {
58+
Objects.requireNonNull(config);
59+
6360
// Create a copy of the map
6461
final Map<String, Object> copy = new HashMap<>(config);
6562

@@ -75,9 +72,12 @@ public Map<String, Object> filterSensitiveOptions(
7572
if (copy.containsKey(SaslConfigs.SASL_JAAS_CONFIG) && cluster != null) {
7673
final SaslProperties saslProperties = saslUtility.decodeProperties(cluster);
7774

78-
String jaasConfig = (String) copy.get(SaslConfigs.SASL_JAAS_CONFIG);
79-
jaasConfig = jaasConfig.replaceAll(saslProperties.getPlainPassword(), "**HIDDEN**");
80-
copy.put(SaslConfigs.SASL_JAAS_CONFIG, jaasConfig);
75+
// Only replace if plainPassword field set and non-empty.
76+
if (saslProperties.getPlainPassword() != null && !saslProperties.getPlainPassword().isEmpty()) {
77+
String jaasConfig = (String) copy.get(SaslConfigs.SASL_JAAS_CONFIG);
78+
jaasConfig = jaasConfig.replaceAll(saslProperties.getPlainPassword(), "**HIDDEN**");
79+
copy.put(SaslConfigs.SASL_JAAS_CONFIG, jaasConfig);
80+
}
8181
}
8282

8383
// Return copy of the map.

kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/manager/kafka/KafkaClientConfigUtil.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@
3232
import org.apache.kafka.common.config.SslConfigs;
3333
import org.apache.kafka.common.security.auth.SecurityProtocol;
3434
import org.sourcelab.kafka.webview.ui.manager.kafka.config.ClusterConfig;
35-
import org.sourcelab.kafka.webview.ui.model.Cluster;
3635

3736
import java.util.ArrayList;
38-
import java.util.Arrays;
3937
import java.util.Comparator;
4038
import java.util.HashMap;
4139
import java.util.HashSet;

kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/manager/ui/datatable/Datatable.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
3232

3333
import javax.persistence.criteria.Path;
34-
import javax.persistence.criteria.Predicate;
3534
import java.io.UnsupportedEncodingException;
3635
import java.net.URLEncoder;
3736
import java.nio.charset.StandardCharsets;
@@ -46,8 +45,6 @@
4645
import java.util.Objects;
4746
import java.util.Set;
4847

49-
import static org.sourcelab.kafka.webview.ui.manager.ui.datatable.ConstraintOperator.EQUALS;
50-
5148
/**
5249
* Aims to be a re-usable datatable UI component backed by a JPA Repository.
5350
* @param <T> Type of object being rendered in the datatable.

kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/manager/ui/datatable/DatatableColumn.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import java.util.List;
3030
import java.util.Objects;
3131
import java.util.function.Function;
32-
import java.util.stream.Collectors;
3332

3433
/**
3534
* Defines a column within a datatable.

0 commit comments

Comments
 (0)