Skip to content

Commit

Permalink
feat: add port and tls option (#319)
Browse files Browse the repository at this point in the history
Co-authored-by: TartanLeGrand
  • Loading branch information
jtama committed May 29, 2024
1 parent a5c7198 commit 204a8ae
Show file tree
Hide file tree
Showing 10 changed files with 158 additions and 43 deletions.
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/includes/attributes.adoc
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
:quarkus-version: 3.7.0
:quarkus-version: 3.10.0
:quarkus-minio-version: 3.7.1
112 changes: 91 additions & 21 deletions docs/modules/ROOT/pages/includes/quarkus-minio.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ h|[[quarkus-minio_configuration]]link:#quarkus-minio_configuration[Configuration
h|Type
h|Default

a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.devservices.enabled]]`link:#quarkus-minio_quarkus.minio.devservices.enabled[quarkus.minio.devservices.enabled]`
a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-devservices-enabled]]`link:#quarkus-minio_quarkus-minio-devservices-enabled[quarkus.minio.devservices.enabled]`


[.description]
Expand All @@ -27,7 +27,7 @@ endif::add-copy-button-to-env-var[]
|


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.devservices.port]]`link:#quarkus-minio_quarkus.minio.devservices.port[quarkus.minio.devservices.port]`
a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-devservices-port]]`link:#quarkus-minio_quarkus-minio-devservices-port[quarkus.minio.devservices.port]`


[.description]
Expand All @@ -46,7 +46,7 @@ endif::add-copy-button-to-env-var[]
|


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.devservices.image-name]]`link:#quarkus-minio_quarkus.minio.devservices.image-name[quarkus.minio.devservices.image-name]`
a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-devservices-image-name]]`link:#quarkus-minio_quarkus-minio-devservices-image-name[quarkus.minio.devservices.image-name]`


[.description]
Expand All @@ -63,7 +63,7 @@ endif::add-copy-button-to-env-var[]
|`minio/minio:RELEASE.2022-10-08T20-11-00Z`


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.devservices.shared]]`link:#quarkus-minio_quarkus.minio.devservices.shared[quarkus.minio.devservices.shared]`
a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-devservices-shared]]`link:#quarkus-minio_quarkus-minio-devservices-shared[quarkus.minio.devservices.shared]`


[.description]
Expand All @@ -84,7 +84,7 @@ endif::add-copy-button-to-env-var[]
|`true`


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.devservices.service-name]]`link:#quarkus-minio_quarkus.minio.devservices.service-name[quarkus.minio.devservices.service-name]`
a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-devservices-service-name]]`link:#quarkus-minio_quarkus-minio-devservices-service-name[quarkus.minio.devservices.service-name]`


[.description]
Expand All @@ -103,7 +103,7 @@ endif::add-copy-button-to-env-var[]
|`minio`


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.devservices.access-key]]`link:#quarkus-minio_quarkus.minio.devservices.access-key[quarkus.minio.devservices.access-key]`
a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-devservices-access-key]]`link:#quarkus-minio_quarkus-minio-devservices-access-key[quarkus.minio.devservices.access-key]`


[.description]
Expand All @@ -120,7 +120,7 @@ endif::add-copy-button-to-env-var[]
|`minioaccess`


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.devservices.secret-key]]`link:#quarkus-minio_quarkus.minio.devservices.secret-key[quarkus.minio.devservices.secret-key]`
a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-devservices-secret-key]]`link:#quarkus-minio_quarkus-minio-devservices-secret-key[quarkus.minio.devservices.secret-key]`


[.description]
Expand All @@ -137,7 +137,7 @@ endif::add-copy-button-to-env-var[]
|`miniosecret`


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.enabled]]`link:#quarkus-minio_quarkus.minio.enabled[quarkus.minio.enabled]`
a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-enabled]]`link:#quarkus-minio_quarkus-minio-enabled[quarkus.minio.enabled]`


[.description]
Expand All @@ -154,7 +154,7 @@ endif::add-copy-button-to-env-var[]
|`true`


a| [[quarkus-minio_quarkus.minio.produce-metrics]]`link:#quarkus-minio_quarkus.minio.produce-metrics[quarkus.minio.produce-metrics]`
a| [[quarkus-minio_quarkus-minio-produce-metrics]]`link:#quarkus-minio_quarkus-minio-produce-metrics[quarkus.minio.produce-metrics]`


[.description]
Expand All @@ -174,7 +174,7 @@ endif::add-copy-button-to-env-var[]
|`true`


a| [[quarkus-minio_quarkus.minio.maximum-allowed-tag]]`link:#quarkus-minio_quarkus.minio.maximum-allowed-tag[quarkus.minio.maximum-allowed-tag]`
a| [[quarkus-minio_quarkus-minio-maximum-allowed-tag]]`link:#quarkus-minio_quarkus-minio-maximum-allowed-tag[quarkus.minio.maximum-allowed-tag]`


[.description]
Expand All @@ -191,13 +191,15 @@ endif::add-copy-button-to-env-var[]
|`100`


a| [[quarkus-minio_quarkus.minio.url]]`link:#quarkus-minio_quarkus.minio.url[quarkus.minio.url]`
a| [[quarkus-minio_quarkus-minio-url]]`link:#quarkus-minio_quarkus-minio-url[quarkus.minio.url]`


[.description]
--
The minio server URL.

The url _may_ contains the port, though it's not recommended. If a specific port is needed, `quakus.minio.port` is a
better fit.
<p>
[NOTE]
====
Value must start with `http://` or `https://`
Expand All @@ -213,7 +215,7 @@ endif::add-copy-button-to-env-var[]
|


a| [[quarkus-minio_quarkus.minio.access-key]]`link:#quarkus-minio_quarkus.minio.access-key[quarkus.minio.access-key]`
a| [[quarkus-minio_quarkus-minio-access-key]]`link:#quarkus-minio_quarkus-minio-access-key[quarkus.minio.access-key]`


[.description]
Expand All @@ -230,7 +232,7 @@ endif::add-copy-button-to-env-var[]
|


a| [[quarkus-minio_quarkus.minio.secret-key]]`link:#quarkus-minio_quarkus.minio.secret-key[quarkus.minio.secret-key]`
a| [[quarkus-minio_quarkus-minio-secret-key]]`link:#quarkus-minio_quarkus-minio-secret-key[quarkus.minio.secret-key]`


[.description]
Expand All @@ -247,7 +249,7 @@ endif::add-copy-button-to-env-var[]
|


a| [[quarkus-minio_quarkus.minio.region]]`link:#quarkus-minio_quarkus.minio.region[quarkus.minio.region]`
a| [[quarkus-minio_quarkus-minio-region]]`link:#quarkus-minio_quarkus-minio-region[quarkus.minio.region]`


[.description]
Expand All @@ -264,7 +266,40 @@ endif::add-copy-button-to-env-var[]
|


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus.minio.-named-minio-clients-.enabled]]`link:#quarkus-minio_quarkus.minio.-named-minio-clients-.enabled[quarkus.minio."named-minio-clients".enabled]`
a| [[quarkus-minio_quarkus-minio-port]]`link:#quarkus-minio_quarkus-minio-port[quarkus.minio.port]`


[.description]
--
ifdef::add-copy-button-to-env-var[]
Environment variable: env_var_with_copy_button:+++QUARKUS_MINIO_PORT+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
Environment variable: `+++QUARKUS_MINIO_PORT+++`
endif::add-copy-button-to-env-var[]
--|int
|


a| [[quarkus-minio_quarkus-minio-secure]]`link:#quarkus-minio_quarkus-minio-secure[quarkus.minio.secure]`


[.description]
--
An optional boolean to enable secure connection.
Defaults to `true`

ifdef::add-copy-button-to-env-var[]
Environment variable: env_var_with_copy_button:+++QUARKUS_MINIO_SECURE+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
Environment variable: `+++QUARKUS_MINIO_SECURE+++`
endif::add-copy-button-to-env-var[]
--|boolean
|`true`


a|icon:lock[title=Fixed at build time] [[quarkus-minio_quarkus-minio-named-minio-clients-enabled]]`link:#quarkus-minio_quarkus-minio-named-minio-clients-enabled[quarkus.minio."named-minio-clients".enabled]`


[.description]
Expand All @@ -281,13 +316,15 @@ endif::add-copy-button-to-env-var[]
|`true`


a| [[quarkus-minio_quarkus.minio.-named-minio-clients-.url]]`link:#quarkus-minio_quarkus.minio.-named-minio-clients-.url[quarkus.minio."named-minio-clients".url]`
a| [[quarkus-minio_quarkus-minio-named-minio-clients-url]]`link:#quarkus-minio_quarkus-minio-named-minio-clients-url[quarkus.minio."named-minio-clients".url]`


[.description]
--
The minio server URL.

The url _may_ contains the port, though it's not recommended. If a specific port is needed, `quakus.minio.port` is a
better fit.
<p>
[NOTE]
====
Value must start with `http://` or `https://`
Expand All @@ -303,7 +340,7 @@ endif::add-copy-button-to-env-var[]
|


a| [[quarkus-minio_quarkus.minio.-named-minio-clients-.access-key]]`link:#quarkus-minio_quarkus.minio.-named-minio-clients-.access-key[quarkus.minio."named-minio-clients".access-key]`
a| [[quarkus-minio_quarkus-minio-named-minio-clients-access-key]]`link:#quarkus-minio_quarkus-minio-named-minio-clients-access-key[quarkus.minio."named-minio-clients".access-key]`


[.description]
Expand All @@ -320,7 +357,7 @@ endif::add-copy-button-to-env-var[]
|


a| [[quarkus-minio_quarkus.minio.-named-minio-clients-.secret-key]]`link:#quarkus-minio_quarkus.minio.-named-minio-clients-.secret-key[quarkus.minio."named-minio-clients".secret-key]`
a| [[quarkus-minio_quarkus-minio-named-minio-clients-secret-key]]`link:#quarkus-minio_quarkus-minio-named-minio-clients-secret-key[quarkus.minio."named-minio-clients".secret-key]`


[.description]
Expand All @@ -337,7 +374,7 @@ endif::add-copy-button-to-env-var[]
|


a| [[quarkus-minio_quarkus.minio.-named-minio-clients-.region]]`link:#quarkus-minio_quarkus.minio.-named-minio-clients-.region[quarkus.minio."named-minio-clients".region]`
a| [[quarkus-minio_quarkus-minio-named-minio-clients-region]]`link:#quarkus-minio_quarkus-minio-named-minio-clients-region[quarkus.minio."named-minio-clients".region]`


[.description]
Expand All @@ -353,4 +390,37 @@ endif::add-copy-button-to-env-var[]
--|string
|


a| [[quarkus-minio_quarkus-minio-named-minio-clients-port]]`link:#quarkus-minio_quarkus-minio-named-minio-clients-port[quarkus.minio."named-minio-clients".port]`


[.description]
--
ifdef::add-copy-button-to-env-var[]
Environment variable: env_var_with_copy_button:+++QUARKUS_MINIO__NAMED_MINIO_CLIENTS__PORT+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
Environment variable: `+++QUARKUS_MINIO__NAMED_MINIO_CLIENTS__PORT+++`
endif::add-copy-button-to-env-var[]
--|int
|


a| [[quarkus-minio_quarkus-minio-named-minio-clients-secure]]`link:#quarkus-minio_quarkus-minio-named-minio-clients-secure[quarkus.minio."named-minio-clients".secure]`


[.description]
--
An optional boolean to enable secure connection.
Defaults to `true`

ifdef::add-copy-button-to-env-var[]
Environment variable: env_var_with_copy_button:+++QUARKUS_MINIO__NAMED_MINIO_CLIENTS__SECURE+++[]
endif::add-copy-button-to-env-var[]
ifndef::add-copy-button-to-env-var[]
Environment variable: `+++QUARKUS_MINIO__NAMED_MINIO_CLIENTS__SECURE+++`
endif::add-copy-button-to-env-var[]
--|boolean
|`true`

|===
7 changes: 5 additions & 2 deletions docs/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -92,17 +92,20 @@ each with its own configuration.

[source,properties]
----
quarkus.minio.url=http://localhost:9000
quarkus.minio.url=http://localhost
quarkus.minio.port=9000
quarkus.minio.secure=false
quarkus.minio.access-key=minioaccess
quarkus.minio.secret-key=miniosecret
quarkus.minio.other.enabled=true
quarkus.minio.other.url=http://acme:9000
quarkus.minio.other.url=acme
quarkus.minio.other.access-key=minioaccess
quarkus.minio.other.secret-key=miniosecret
quarkus.minio.public.enabled=true
quarkus.minio.public.url=http://public:9000
quarkus.minio.public.secure=false
quarkus.minio.public.access-key=minioaccess
quarkus.minio.public.secret-key=miniosecret
----
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
public class DevServicesMinioProcessor {
private static final Logger LOGGER = Logger.getLogger(DevServicesMinioProcessor.class);
private static final String MINIO_URL = "quarkus.minio%s.url";
private static final String MINIO_PORT = "quarkus.minio%s.port";
private static final String MINIO_SECURE = "quarkus.minio%s.secure";
private static final String MINIO_CONSOLE = "quarkus.minio.console";
private static final String MINIO_ALLOW_EMPTY = "quarkus.minio%s.allow-empty";
private static final String MINIO_ACCESS_KEY = "quarkus.minio%s.access-key";
Expand All @@ -46,10 +48,11 @@ public class DevServicesMinioProcessor {
* This allows other applications to discover the running service and use it instead of starting a new instance.
*/
static final String DEV_SERVICE_LABEL = "quarkus-dev-service-minio";
static final int MINIO_PORT = 9000;
static final int DEVSERVICE_MINIO_PORT = 9000;

static final int MINIO_CONSOLE_PORT = 9001;
private static final ContainerLocator minioContainerLocator = new ContainerLocator(DEV_SERVICE_LABEL, MINIO_PORT);
static final int DEVSERVICE_MINIO_CONSOLE_PORT = 9001;
private static final ContainerLocator minioContainerLocator = new ContainerLocator(DEV_SERVICE_LABEL,
DEVSERVICE_MINIO_PORT);
static volatile RunningDevService devService;
static volatile MinioDevServiceCfg cfg;
static volatile boolean first = true;
Expand Down Expand Up @@ -117,6 +120,8 @@ public DevServicesResultBuildItem startMinioDevService(
+ "instance automatically. For Quarkus applications in production mode, you can connect to"
+ " this by starting your application with -D%s=%s -D%s=%s -D%s=%s",
formatPropertyName(MINIO_URL), getMinioUrl(),
formatPropertyName(MINIO_SECURE), false,
formatPropertyName(MINIO_PORT), DEVSERVICE_MINIO_PORT,
formatPropertyName(MINIO_ACCESS_KEY), getMinioAccessKey(),
formatPropertyName(MINIO_SECRET_KEY), getMinioSecretKey());
}
Expand Down Expand Up @@ -232,7 +237,9 @@ private Map<String, String> getRunningDevServicesConfig(MinioDevServiceCfg confi
.ifPresent(consolePort -> result.put(MINIO_CONSOLE, String.format("http://%s:%d", consoleHost, consolePort)));

buildTimeConfiguration.getMinioClients().entrySet().stream()
.map(entry -> Map.of(formatPropertyName(MINIO_URL, entry.getKey()), String.format("http://%s:%d", host, port),
.map(entry -> Map.of(formatPropertyName(MINIO_URL, entry.getKey()), host,
formatPropertyName(MINIO_PORT, entry.getKey()), String.valueOf(port),
formatPropertyName(MINIO_SECURE, entry.getKey()), "false",
formatPropertyName(MINIO_ACCESS_KEY, entry.getKey()), config.accessKey,
formatPropertyName(MINIO_SECRET_KEY, entry.getKey()), config.secretKey))
.forEach(result::putAll);
Expand Down Expand Up @@ -309,7 +316,7 @@ private MinioContainer(DockerImageName dockerImageName, int fixedExposedPort, St
super(dockerImageName);
this.port = fixedExposedPort;
this.useSharedNetwork = useSharedNetwork;
withExposedPorts(MINIO_PORT, MINIO_CONSOLE_PORT);
withExposedPorts(DEVSERVICE_MINIO_PORT, DEVSERVICE_MINIO_CONSOLE_PORT);
withEnv("MINIO_ACCESS_KEY", accessKey);
withEnv("MINIO_SECRET_KEY", secretKey);
withCommand("server", "/data", "--console-address", ":9001");
Expand All @@ -327,7 +334,7 @@ protected void configure() {
}

if (port > 0) {
addFixedExposedPort(port, MINIO_PORT);
addFixedExposedPort(port, DEVSERVICE_MINIO_PORT);
}
}

Expand All @@ -341,15 +348,15 @@ public String getEffectiveHost() {

public int getPort() {
if (useSharedNetwork) {
return MINIO_PORT;
return DEVSERVICE_MINIO_PORT;
}

return getMappedPort(MINIO_PORT);
return getMappedPort(DEVSERVICE_MINIO_PORT);
}

public int getConsolePort() {
// console port is meant to be exposed only
return getMappedPort(MINIO_CONSOLE_PORT);
return getMappedPort(DEVSERVICE_MINIO_CONSOLE_PORT);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
quarkus.minio.devservices.enabled=false
quarkus.minio.url=minio
quarkus.minio.url=
quarkus.minio.access-key=access-key
quarkus.minio.secret-key=secret-key
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
quarkus.minio.devservices.enabled=false
quarkus.minio.acme.enabled=true
quarkus.minio.acme.url=minio
quarkus.minio.acme.url=
quarkus.minio.acme.access-key=access-key
quarkus.minio.acme.secret-key=secret-key
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
quarkus.minio.devservices.enabled=false
quarkus.minio.url=minio
quarkus.minio.url=
quarkus.minio.access-key=access-key
quarkus.minio.secret-key=secret-key
quarkus.minio.another.url=http://minio
Expand Down
Loading

0 comments on commit 204a8ae

Please sign in to comment.