ApplicationConfig.java
package api.configs;
import java.time.Clock;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import io.minio.MinioClient;
/**
* {@link ApplicationConfig}.
*/
@Configuration
public class ApplicationConfig {
/**
* clock.
*
* @return {@link Clock}.
*/
@Bean
public Clock clock() {
return Clock.systemUTC();
}
/**
* minioClient.
*
* @param url URL to minio server
* @param username Username
* @param password Password
* @return {@link MinioClient}
*/
@Bean
@Profile("prod")
public MinioClient minioClient(
@Value("${s3.url}") String url,
@Value("${s3.username:s3_user}") String username,
@Value("${s3.password:s3_password}") String password
) {
return MinioClient.builder()
.endpoint(url)
.credentials(username, password)
.build();
}
}