Skip to content

Credentials provider for Infinispan clients #50109

@ppetrovt

Description

@ppetrovt

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-provider

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions