-
Notifications
You must be signed in to change notification settings - Fork 3k
Open
Labels
Description
Description
As mentioned by @karesti in this discussion, there is currently no way to provide Infinispan credentials programmatically at runtime. We need this functionality to support a custom secret provider, similar to Vault, which relies on dependency injection. I suggest adding support for a credentials provider for Infinispan, similar to the one available for datasources: Quarkus Credentials Provider.
Implementation ideas
@ApplicationScoped
@Unremovable
@Named("custom-credentials-provider")
public class CustomCredentialsProvider implements InfinispanCredentialsProvider {
@Inject
ISecretProvider secretProvider;
@Override
public Map<String, String> getCredentials(String credentialsProviderName) {
String username = secretProvider.get("INFINISPAN_USERNAME");
String password = secretProvider.get("INFINISPAN_PASSWORD");
return Map.of(
USER_PROPERTY_NAME, username,
PASSWORD_PROPERTY_NAME, password);
}
}quarkus.infinispan-client.credentials-provider=custom-credentials-providerredmehmedmandonovsbt