Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
import io.quarkus.deployment.IsNormal;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.DevServicesConfigResultBuildItem;
import io.quarkus.deployment.builditem.DevServicesResultBuildItem;
import io.quarkus.deployment.builditem.DevServicesSharedNetworkBuildItem;
import io.quarkus.deployment.builditem.LaunchModeBuildItem;
import io.quarkus.deployment.logging.LoggingSetupBuildItem;
Expand Down Expand Up @@ -73,7 +73,7 @@ public class KerberosDevServicesProcessor {
io.quarkus.deployment.dev.devservices.DevServicesConfig.Enabled.class })
public KerberosDevServicesConfigBuildItem startKerberosContainer(
List<DevServicesSharedNetworkBuildItem> devServicesSharedNetworkBuildItem,
BuildProducer<DevServicesConfigResultBuildItem> devServices,
BuildProducer<DevServicesResultBuildItem> devServices,
KerberosBuildTimeConfig config,
LaunchModeBuildItem launchMode,
LoggingSetupBuildItem loggingSetupBuildItem) {
Expand Down Expand Up @@ -136,17 +136,17 @@ public void run() {
}
LOG.info("Dev Services for Kerberos started.");

return prepareConfiguration(devServices, startResult.krb5CfgPath, startResult.shared);
return prepareConfiguration(devServices, config.devservices().serviceName(), startResult);
}

private KerberosDevServicesConfigBuildItem prepareConfiguration(BuildProducer<DevServicesConfigResultBuildItem> devServices,
String krb5CfgPath,
boolean shared) {
private KerberosDevServicesConfigBuildItem prepareConfiguration(BuildProducer<DevServicesResultBuildItem> devServices,
String serviceName, StartResult startResult) {

System.setProperty("java.security.krb5.conf", krb5CfgPath);
System.setProperty("java.security.krb5.conf", startResult.krb5CfgPath);

Map<String, String> principalProps = Map.of(KERBEROS_SERVICE_PRINC_PWD_PROP, getServicePrincipalPassword());
devServices
.produce(new DevServicesConfigResultBuildItem(KERBEROS_SERVICE_PRINC_PWD_PROP, getServicePrincipalPassword()));
.produce(new DevServicesResultBuildItem(serviceName, startResult.containerId, principalProps));

existingDevServiceConfig = new KerberosDevServicesConfigBuildItem(Collections.emptyMap());
return existingDevServiceConfig;
Expand Down Expand Up @@ -204,12 +204,14 @@ public void close() {
LOG.info("Dev Services for Kerberos shut down.");
}
},
kerberosContainer.getContainerId(),
krb5CfgPath,
false);
};

return maybeContainerAddress
.map(containerAddress -> new StartResult(null, getSharedKrb5CfgPath(containerAddress), true))
.map(containerAddress -> new StartResult(null, containerAddress.getId(), getSharedKrb5CfgPath(containerAddress),
true))
.orElseGet(defaultKerberosContainerSupplier);
}

Expand Down Expand Up @@ -259,11 +261,13 @@ private static String createKrb5Config(String host, String kdcPort, String kdcAd

private static class StartResult {
private final Closeable closeable;
private final String containerId;
private final String krb5CfgPath;
private final boolean shared;

public StartResult(Closeable closeable, String krb5CfgPath, boolean shared) {
public StartResult(Closeable closeable, String containerId, String krb5CfgPath, boolean shared) {
this.closeable = closeable;
this.containerId = containerId;
this.krb5CfgPath = krb5CfgPath;
this.shared = shared;
}
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<tag>HEAD</tag>
</scm>
<properties>
<quarkus.version>3.30.6</quarkus.version>
<quarkus.version>3.31.0</quarkus.version>
<apacheds-all.version>2.0.0-M24</apacheds-all.version>
</properties>
<dependencyManagement>
Expand Down