diff --git a/amazon-dynamodb-quickstart/pom.xml b/amazon-dynamodb-quickstart/pom.xml
index 981942bf42..942bb1ce55 100644
--- a/amazon-dynamodb-quickstart/pom.xml
+++ b/amazon-dynamodb-quickstart/pom.xml
@@ -16,7 +16,7 @@
UTF-8
11
11
- 2.5.0
+ 2.5.1
1.12.57
diff --git a/amazon-kms-quickstart/pom.xml b/amazon-kms-quickstart/pom.xml
index c53f862c17..51dffcf166 100644
--- a/amazon-kms-quickstart/pom.xml
+++ b/amazon-kms-quickstart/pom.xml
@@ -16,7 +16,7 @@
UTF-8
11
11
- 2.5.0
+ 2.5.1
1.12.57
diff --git a/amazon-s3-quickstart/pom.xml b/amazon-s3-quickstart/pom.xml
index 8e5b8d4aea..6f1539ee8a 100644
--- a/amazon-s3-quickstart/pom.xml
+++ b/amazon-s3-quickstart/pom.xml
@@ -16,7 +16,7 @@
UTF-8
11
11
- 2.5.0
+ 2.5.1
diff --git a/amazon-ses-quickstart/pom.xml b/amazon-ses-quickstart/pom.xml
index fd71e7b56b..3b6c943dc4 100644
--- a/amazon-ses-quickstart/pom.xml
+++ b/amazon-ses-quickstart/pom.xml
@@ -16,7 +16,7 @@
UTF-8
11
11
- 2.5.0
+ 2.5.1
1.12.57
diff --git a/amazon-sns-quickstart/pom.xml b/amazon-sns-quickstart/pom.xml
index d47c09b12b..933a9183fc 100644
--- a/amazon-sns-quickstart/pom.xml
+++ b/amazon-sns-quickstart/pom.xml
@@ -16,7 +16,7 @@
UTF-8
11
11
- 2.5.0
+ 2.5.1
1.12.57
diff --git a/amazon-sqs-quickstart/pom.xml b/amazon-sqs-quickstart/pom.xml
index e114d0cf4c..c0a690bea6 100644
--- a/amazon-sqs-quickstart/pom.xml
+++ b/amazon-sqs-quickstart/pom.xml
@@ -16,7 +16,7 @@
UTF-8
11
11
- 2.5.0
+ 2.5.1
1.12.57
diff --git a/amazon-ssm-quickstart/pom.xml b/amazon-ssm-quickstart/pom.xml
index a730453cfb..e986f29ee9 100644
--- a/amazon-ssm-quickstart/pom.xml
+++ b/amazon-ssm-quickstart/pom.xml
@@ -16,7 +16,7 @@
UTF-8
11
11
- 2.5.0
+ 2.5.1
1.12.57
diff --git a/mqtt-quickstart/src/main/resources/application.properties b/mqtt-quickstart/src/main/resources/application.properties
index df17886f72..fdc6ed02e6 100644
--- a/mqtt-quickstart/src/main/resources/application.properties
+++ b/mqtt-quickstart/src/main/resources/application.properties
@@ -3,13 +3,13 @@
# Configure the MQTT sink (we write to it)
mp.messaging.outgoing.topic-price.connector=smallrye-mqtt
mp.messaging.outgoing.topic-price.topic=prices
-mp.messaging.outgoing.topic-price.host=localhost
+mp.messaging.outgoing.topic-price.host=${MQTT_HOST:localhost}
mp.messaging.outgoing.topic-price.port=1883
mp.messaging.outgoing.topic-price.auto-generated-client-id=true
# Configure the MQTT source (we read from it)
mp.messaging.incoming.prices.connector=smallrye-mqtt
mp.messaging.incoming.prices.topic=prices
-mp.messaging.incoming.prices.host=localhost
+mp.messaging.incoming.prices.host=${MQTT_HOST:localhost}
mp.messaging.incoming.prices.port=1883
mp.messaging.incoming.prices.auto-generated-client-id=true
diff --git a/pom.xml b/pom.xml
index 402f5fcc0b..556d7232ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,7 @@
getting-started-knative
getting-started-testing
getting-started-command-mode
+ getting-started-dev-services
google-cloud-functions-quickstart
google-cloud-functions-http-quickstart
hibernate-orm-quickstart
diff --git a/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorIT.java b/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorIT.java
deleted file mode 100644
index 27fce449d8..0000000000
--- a/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorIT.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.acme.rabbitmq.processor;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-@QuarkusIntegrationTest
-public class QuoteProcessorIT extends QuoteProcessorTest {
-
-}
diff --git a/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorTest.java b/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorTest.java
index 55ab1cbed0..309f5b4490 100644
--- a/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorTest.java
+++ b/rabbitmq-quickstart/rabbitmq-quickstart-processor/src/test/java/org/acme/rabbitmq/processor/QuoteProcessorTest.java
@@ -19,6 +19,7 @@
import com.rabbitmq.client.DeliverCallback;
import org.acme.rabbitmq.model.Quote;
+import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.junit.jupiter.api.Test;
import io.quarkus.test.junit.QuarkusTest;
@@ -26,6 +27,8 @@
@QuarkusTest
public class QuoteProcessorTest {
+ @ConfigProperty(name = "rabbitmq-host") String host;
+ @ConfigProperty(name = "rabbitmq-port") int port;
ObjectMapper objectMapper = new ObjectMapper();
@Test
@@ -63,8 +66,8 @@ void testProcessor() throws Exception {
Channel getChannel() throws Exception {
ConnectionFactory connectionFactory = new ConnectionFactory();
- connectionFactory.setHost("localhost");
- connectionFactory.setPort(5672);
+ connectionFactory.setHost(host);
+ connectionFactory.setPort(port);
connectionFactory.setUsername("guest");
connectionFactory.setPassword("guest");
connectionFactory.setChannelRpcTimeout((int) SECONDS.toMillis(3));
diff --git a/security-jdbc-quickstart/pom.xml b/security-jdbc-quickstart/pom.xml
index 35b16643b9..e624d9da64 100644
--- a/security-jdbc-quickstart/pom.xml
+++ b/security-jdbc-quickstart/pom.xml
@@ -49,16 +49,6 @@
rest-assured
test
-
- org.testcontainers
- junit-jupiter
- test
-
-
- org.testcontainers
- postgresql
- test
-
diff --git a/security-jdbc-quickstart/src/main/resources/application.properties b/security-jdbc-quickstart/src/main/resources/application.properties
index cd02e27524..a34e2a28d3 100644
--- a/security-jdbc-quickstart/src/main/resources/application.properties
+++ b/security-jdbc-quickstart/src/main/resources/application.properties
@@ -1,7 +1,7 @@
quarkus.datasource.db-kind=postgresql
-quarkus.datasource.username=quarkus
-quarkus.datasource.password=quarkus
-quarkus.datasource.jdbc.url=jdbc:postgresql:elytron_security_jdbc
+%prod.quarkus.datasource.username=quarkus
+%prod.quarkus.datasource.password=quarkus
+%prod.quarkus.datasource.jdbc.url=jdbc:postgresql:elytron_security_jdbc
quarkus.security.jdbc.enabled=true
quarkus.security.jdbc.principal-query.sql=SELECT u.password, u.role FROM test_user u WHERE u.username=?
@@ -9,3 +9,5 @@ quarkus.security.jdbc.principal-query.clear-password-mapper.enabled=true
quarkus.security.jdbc.principal-query.clear-password-mapper.password-index=1
quarkus.security.jdbc.principal-query.attribute-mappings.0.index=2
quarkus.security.jdbc.principal-query.attribute-mappings.0.to=groups
+
+%test.quarkus.datasource.devservices.init-script-path=test_user.sql
diff --git a/security-jdbc-quickstart/src/test/java/org/acme/security/jdbc/JdbcSecurityRealmTest.java b/security-jdbc-quickstart/src/test/java/org/acme/security/jdbc/JdbcSecurityRealmTest.java
index 3a1ee84e1c..d5f5474117 100644
--- a/security-jdbc-quickstart/src/test/java/org/acme/security/jdbc/JdbcSecurityRealmTest.java
+++ b/security-jdbc-quickstart/src/test/java/org/acme/security/jdbc/JdbcSecurityRealmTest.java
@@ -9,32 +9,13 @@
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
-import org.testcontainers.containers.PostgreSQLContainer;
-import org.testcontainers.junit.jupiter.Container;
-import org.testcontainers.junit.jupiter.Testcontainers;
-
-import com.github.dockerjava.api.model.ExposedPort;
-import com.github.dockerjava.api.model.PortBinding;
-import com.github.dockerjava.api.model.Ports;
import io.quarkus.test.junit.QuarkusTest;
-@Testcontainers
@QuarkusTest
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class JdbcSecurityRealmTest {
- @Container
- public static final PostgreSQLContainer DATABASE = new PostgreSQLContainer<>()
- .withDatabaseName("elytron_security_jdbc")
- .withUsername("quarkus")
- .withPassword("quarkus")
- .withExposedPorts(5432)
- .withCreateContainerCmdModifier(cmd -> cmd
- .withHostName("localhost")
- .withPortBindings(new PortBinding(Ports.Binding.bindPort(5432), new ExposedPort(5432))))
- .withInitScript("test_user.sql");
-
@Test
@Order(1)
void shouldAccessPublicWhenAnonymous() {
diff --git a/security-openid-connect-client-quickstart/src/test/java/org/acme/security/openid/connect/OidcClientTokenPropagationTest.java b/security-openid-connect-client-quickstart/src/test/java/org/acme/security/openid/connect/OidcClientTokenPropagationTest.java
index f1399d4849..27af7c13c0 100644
--- a/security-openid-connect-client-quickstart/src/test/java/org/acme/security/openid/connect/OidcClientTokenPropagationTest.java
+++ b/security-openid-connect-client-quickstart/src/test/java/org/acme/security/openid/connect/OidcClientTokenPropagationTest.java
@@ -30,6 +30,22 @@ public void testGetNameWithAdminTokenPropagated() {
.statusCode(200)
.body(is("admin"));
}
+
+ @Test
+ public void testGetNameWithUserTokenPropagated() {
+ String userToken = getAccessToken("alice");
+
+ RestAssured.given().auth().oauth2(userToken)
+ .when().get("/frontend/user-name-with-propagated-token")
+ .then()
+ .statusCode(200)
+ .body(is("alice"));
+
+ RestAssured.given().auth().oauth2(userToken)
+ .when().get("/frontend/admin-name-with-propagated-token")
+ .then()
+ .statusCode(403);
+ }
@Test
public void testGetNameWithOidcClient() {
diff --git a/security-openid-connect-quickstart/src/main/resources/application.properties b/security-openid-connect-quickstart/src/main/resources/application.properties
index a1005a2c7b..502a47c9b4 100644
--- a/security-openid-connect-quickstart/src/main/resources/application.properties
+++ b/security-openid-connect-quickstart/src/main/resources/application.properties
@@ -4,6 +4,7 @@
quarkus.oidc.client-id=backend-service
quarkus.oidc.credentials.secret=secret
quarkus.keycloak.devservices.realm-path=quarkus-realm.json
+quarkus.keycloak.devservices.grant.type=client
# DEBUG console logging
quarkus.log.console.enable=true
@@ -18,3 +19,6 @@ quarkus.log.file.enable=true
#quarkus.log.category."io.quarkus.smallrye.jwt".level=TRACE
#quarkus.log.category."io.undertow.request.security".level=TRACE
#quarkus.log.category."io.smallrye.jwt".level=TRACE
+
+quarkus.log.category."io.quarkus.oidc.runtime.OidcProvider".level=TRACE
+quarkus.log.category."io.quarkus.oidc.runtime.OidcProvider".min-level=TRACE
diff --git a/stork-kubernetes-quickstart/kubernetes-setup.yml b/stork-kubernetes-quickstart/kubernetes-setup.yml
index c50710c45b..a7ef44331a 100644
--- a/stork-kubernetes-quickstart/kubernetes-setup.yml
+++ b/stork-kubernetes-quickstart/kubernetes-setup.yml
@@ -32,7 +32,7 @@ metadata:
app.quarkus.io/build-timestamp: 2022-03-31 - 10:36:56 +0000
labels:
app.kubernetes.io/name: color-service
- app.kubernetes.io/version: "1.0"
+ app.kubernetes.io/version: "2.0"
name: color-service
spec:
ports:
@@ -40,7 +40,7 @@ spec:
port: 80
targetPort: 8080
selector:
- app.kubernetes.io/version: "1.0"
+ app.kubernetes.io/version: "2.0"
type: color-service
type: ClusterIP
---
@@ -52,8 +52,7 @@ metadata:
app.quarkus.io/build-timestamp: 2022-03-31 - 10:46:19 +0000
labels:
app.kubernetes.io/name: color-service
- app.kubernetes.io/version: "1.0"
- color: blue
+ app.kubernetes.io/version: "2.0"
type: color-service
name: color-service
spec:
@@ -79,14 +78,14 @@ metadata:
color: blue
type: color-service
app.kubernetes.io/name: blue-service
- app.kubernetes.io/version: "1.0"
+ app.kubernetes.io/version: "2.0"
name: blue-service
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: blue-service
- app.kubernetes.io/version: "1.0"
+ app.kubernetes.io/version: "2.0"
template:
metadata:
annotations:
@@ -96,7 +95,7 @@ spec:
color: blue
type: color-service
app.kubernetes.io/name: blue-service
- app.kubernetes.io/version: "1.0"
+ app.kubernetes.io/version: "2.0"
spec:
containers:
- env:
@@ -104,7 +103,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: quay.io/quarkus/blue-service:1.0
+ image: quay.io/quarkus/blue-service:2.0
imagePullPolicy: Always
name: blue-service
ports:
@@ -121,14 +120,14 @@ metadata:
labels:
color: red
type: color-service
- app.kubernetes.io/version: "1.0"
+ app.kubernetes.io/version: "2.0"
app.kubernetes.io/name: red-service
name: red-service
spec:
replicas: 1
selector:
matchLabels:
- app.kubernetes.io/version: "1.0"
+ app.kubernetes.io/version: "2.0"
app.kubernetes.io/name: red-service
template:
metadata:
@@ -138,7 +137,7 @@ spec:
labels:
color: red
type: color-service
- app.kubernetes.io/version: "1.0"
+ app.kubernetes.io/version: "2.0"
app.kubernetes.io/name: red-service
spec:
containers:
@@ -147,7 +146,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: quay.io/quarkus/red-service:1.0
+ image: quay.io/quarkus/red-service:2.0
imagePullPolicy: Always
name: red-service
ports: