From ecde001a7ba5fe4f076e6944ab50719ec0d9bb6c Mon Sep 17 00:00:00 2001
From: oscerd <5106647+oscerd@users.noreply.github.com>
Date: Thu, 10 Sep 2026 02:39:59 +0000
Subject: [PATCH] [create-pull-request] automated change
---
.../springboot/catalog/components/opa.json | 6 ++--
.../components/tensorflow-serving.json | 4 +--
.../camel-opa-starter/src/main/docs/opa.json | 14 +++++++++
.../springboot/OpaComponentConfiguration.java | 28 +++++++++++++++++
.../modules/ROOT/pages/starters/opa.adoc | 4 ++-
.../camel-spring-boot-dependencies/pom.xml | 30 -------------------
6 files changed, 51 insertions(+), 35 deletions(-)
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/opa.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/opa.json
index e2592464be9..3e543ef914e 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/opa.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/opa.json
@@ -33,8 +33,10 @@
"serverUrl": { "index": 6, "kind": "property", "displayName": "Server Url", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "http:\/\/localhost:8181", "configurationClass": "org.apache.camel.component.opa.OpaConfiguration", "configurationField": "configuration", "description": "The base URL of the OPA server, without the {code \/v1\/data} suffix. The default assumes OPA running as a sidecar on the standard port." },
"autowiredEnabled": { "index": 7, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
"opaClient": { "index": 8, "kind": "property", "displayName": "Opa Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.styra.opa.OPAClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.opa.OpaConfiguration", "configurationField": "configuration", "description": "An existing OPAClient to use. When set, serverUrl and bearerToken are ignored." },
- "bearerToken": { "index": 9, "kind": "property", "displayName": "Bearer Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.opa.OpaConfiguration", "configurationField": "configuration", "description": "Bearer token sent to the OPA server in the Authorization header, for an OPA instance that has its API authentication enabled." },
- "failOpen": { "index": 10, "kind": "property", "displayName": "Fail Open", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:dev", "defaultValue": false, "configurationClass": "org.apache.camel.component.opa.OpaConfiguration", "configurationField": "configuration", "description": "Whether to allow the exchange to proceed when the policy cannot be evaluated at all, for example because the OPA server is unreachable. Disabled by default so that an unreachable policy decision point denies rather than grants access. Do not enable this in production." }
+ "healthCheckConsumerEnabled": { "index": 9, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+ "healthCheckProducerEnabled": { "index": 10, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on producer checks globally by setting camel.health.producersEnabled=true." },
+ "bearerToken": { "index": 11, "kind": "property", "displayName": "Bearer Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.opa.OpaConfiguration", "configurationField": "configuration", "description": "Bearer token sent to the OPA server in the Authorization header, for an OPA instance that has its API authentication enabled." },
+ "failOpen": { "index": 12, "kind": "property", "displayName": "Fail Open", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:dev", "defaultValue": false, "configurationClass": "org.apache.camel.component.opa.OpaConfiguration", "configurationField": "configuration", "description": "Whether to allow the exchange to proceed when the policy cannot be evaluated at all, for example because the OPA server is unreachable. Disabled by default so that an unreachable policy decision point denies rather than grants access. Do not enable this in production." }
},
"headers": {
"CamelOpaDecisionAllow": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The allow\/deny verdict of the policy evaluation. Always overwritten by the component, so a value set by an inbound message never survives into the route.", "constantName": "org.apache.camel.component.opa.OpaConstants#DECISION_ALLOW" },
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/tensorflow-serving.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/tensorflow-serving.json
index 95a40368173..f1f9e5820af 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/tensorflow-serving.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/tensorflow-serving.json
@@ -35,8 +35,8 @@
"credentials": { "index": 8, "kind": "property", "displayName": "Credentials", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "io.grpc.ChannelCredentials", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConfiguration", "configurationField": "configuration", "description": "The credentials of the client." }
},
"headers": {
- "CamelTensorFlowServingTarget": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The target of the client. See: https:\/\/grpc.github.io\/grpc-java\/javadoc\/io\/grpc\/Grpc.html#newChannelBuilder%28java.lang.String,io.grpc.ChannelCredentials%29", "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#TARGET" },
- "CamelTensorFlowServingCredentials": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "io.grpc.ChannelCredentials", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The credentials of the client.", "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#CREDENTIALS" },
+ "CamelTensorFlowServingTarget": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": true, "deprecationNote": "Never read by the component. The gRPC channel is built once when the endpoint is initialised, so it cannot be redirected per exchange. Use the target endpoint option.", "autowired": false, "secret": false, "description": "The target of the client. See: https:\/\/grpc.github.io\/grpc-java\/javadoc\/io\/grpc\/Grpc.html#newChannelBuilder%28java.lang.String,io.grpc.ChannelCredentials%29. Deprecation note: Never read by the component. The gRPC channel is built once when the endpoint is initialised, so it cannot be redirected per exchange. Use the target endpoint option.", "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#TARGET" },
+ "CamelTensorFlowServingCredentials": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "io.grpc.ChannelCredentials", "deprecated": true, "deprecationNote": "Never read by the component. The gRPC channel is built once when the endpoint is initialised, so it cannot be re-authenticated per exchange. Use the credentials endpoint option.", "autowired": false, "secret": false, "description": "The credentials of the client. Deprecation note: Never read by the component. The gRPC channel is built once when the endpoint is initialised, so it cannot be re-authenticated per exchange. Use the credentials endpoint option.", "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#CREDENTIALS" },
"CamelTensorFlowServingModelName": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Required servable name.", "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#MODEL_NAME" },
"CamelTensorFlowServingModelVersion": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Optional choice of which version of the model to use. Use this specific version number.", "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#MODEL_VERSION" },
"CamelTensorFlowServingModelVersionLabel": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Optional choice of which version of the model to use. Use the version associated with the given label.", "constantName": "org.apache.camel.component.tensorflow.serving.TensorFlowServingConstants#MODEL_VERSION_LABEL" },
diff --git a/components-starter/camel-opa-starter/src/main/docs/opa.json b/components-starter/camel-opa-starter/src/main/docs/opa.json
index dbd2e6d5b46..e9d536cc68a 100644
--- a/components-starter/camel-opa-starter/src/main/docs/opa.json
+++ b/components-starter/camel-opa-starter/src/main/docs/opa.json
@@ -57,6 +57,20 @@
"sourceType": "org.apache.camel.component.opa.springboot.OpaComponentConfiguration",
"defaultValue": false
},
+ {
+ "name": "camel.component.opa.health-check-consumer-enabled",
+ "type": "java.lang.Boolean",
+ "description": "Used for enabling or disabling all consumer based health checks from this component",
+ "sourceType": "org.apache.camel.component.opa.springboot.OpaComponentConfiguration",
+ "defaultValue": true
+ },
+ {
+ "name": "camel.component.opa.health-check-producer-enabled",
+ "type": "java.lang.Boolean",
+ "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on producer checks globally by setting camel.health.producersEnabled=true.",
+ "sourceType": "org.apache.camel.component.opa.springboot.OpaComponentConfiguration",
+ "defaultValue": true
+ },
{
"name": "camel.component.opa.include-body",
"type": "java.lang.Boolean",
diff --git a/components-starter/camel-opa-starter/src/main/java/org/apache/camel/component/opa/springboot/OpaComponentConfiguration.java b/components-starter/camel-opa-starter/src/main/java/org/apache/camel/component/opa/springboot/OpaComponentConfiguration.java
index 972d6007c0c..1885b4b2f68 100644
--- a/components-starter/camel-opa-starter/src/main/java/org/apache/camel/component/opa/springboot/OpaComponentConfiguration.java
+++ b/components-starter/camel-opa-starter/src/main/java/org/apache/camel/component/opa/springboot/OpaComponentConfiguration.java
@@ -106,6 +106,18 @@ public class OpaComponentConfiguration
* ignored. The option is a com.styra.opa.OPAClient type.
*/
private OPAClient opaClient;
+ /**
+ * Used for enabling or disabling all consumer based health checks from this
+ * component
+ */
+ private Boolean healthCheckConsumerEnabled = true;
+ /**
+ * Used for enabling or disabling all producer based health checks from this
+ * component. Notice: Camel has by default disabled all producer based
+ * health-checks. You can turn on producer checks globally by setting
+ * camel.health.producersEnabled=true.
+ */
+ private Boolean healthCheckProducerEnabled = true;
/**
* Bearer token sent to the OPA server in the Authorization header, for an
* OPA instance that has its API authentication enabled.
@@ -191,6 +203,22 @@ public void setOpaClient(OPAClient opaClient) {
this.opaClient = opaClient;
}
+ public Boolean getHealthCheckConsumerEnabled() {
+ return healthCheckConsumerEnabled;
+ }
+
+ public void setHealthCheckConsumerEnabled(Boolean healthCheckConsumerEnabled) {
+ this.healthCheckConsumerEnabled = healthCheckConsumerEnabled;
+ }
+
+ public Boolean getHealthCheckProducerEnabled() {
+ return healthCheckProducerEnabled;
+ }
+
+ public void setHealthCheckProducerEnabled(Boolean healthCheckProducerEnabled) {
+ this.healthCheckProducerEnabled = healthCheckProducerEnabled;
+ }
+
public String getBearerToken() {
return bearerToken;
}
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/opa.adoc b/docs/spring-boot/modules/ROOT/pages/starters/opa.adoc
index 1ca14004073..80513183eae 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/opa.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/opa.adoc
@@ -23,7 +23,7 @@ Please refer to the above links for usage and configuration details.
== Spring Boot Auto-Configuration
-The starter supports 12 options, which are listed below.
+The starter supports 14 options, which are listed below.
[width="100%",cols="2,5,^1,2",options="header"]
|===
@@ -34,6 +34,8 @@ The starter supports 12 options, which are listed below.
| camel.component.opa.configuration | The component configuration. The option is a org.apache.camel.component.opa.OpaConfiguration type. | | OpaConfiguration
| camel.component.opa.enabled | Whether to enable auto configuration of the opa component. This is enabled by default. | | Boolean
| camel.component.opa.fail-open | Whether to allow the exchange to proceed when the policy cannot be evaluated at all, for example because the OPA server is unreachable. Disabled by default so that an unreachable policy decision point denies rather than grants access. Do not enable this in production. | false | Boolean
+| camel.component.opa.health-check-consumer-enabled | Used for enabling or disabling all consumer based health checks from this component | true | Boolean
+| camel.component.opa.health-check-producer-enabled | Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on producer checks globally by setting camel.health.producersEnabled=true. | true | Boolean
| camel.component.opa.include-body | Whether to send the message body to OPA as part of the input document. Disabled by default: bodies can be large or streaming, and most authorization decisions only need headers. When enabled on a streaming body, enable stream caching so that the body is still readable by the rest of the route. | false | Boolean
| camel.component.opa.include-headers | Comma-separated list of message header names to send to OPA in the input document. The default of \{code } sends every header. Narrow it when the policy only needs a few headers, or when the message carries headers that should not leave the JVM. | * | String
| camel.component.opa.include-properties | Comma-separated list of exchange property names to send to OPA in the input document, or \{code } for all of them. Empty by default, so no properties are sent unless asked for. This is where the authentication components put the identity they verified: \{code camel-keycloak} stores the access token and its subject as exchange properties and prefers them over the equivalent headers, precisely because headers can be set by the caller. List those property names here to let a policy authorize the identity an earlier step established, instead of copying it into a header first. Only custom properties are sent; Camel's own internal exchange properties are never included. | | String
diff --git a/tooling/camel-spring-boot-dependencies/pom.xml b/tooling/camel-spring-boot-dependencies/pom.xml
index eda0b030ff5..28528456426 100644
--- a/tooling/camel-spring-boot-dependencies/pom.xml
+++ b/tooling/camel-spring-boot-dependencies/pom.xml
@@ -5260,12 +5260,6 @@
3.9.16
provided
-
- org.apache.maven
- maven-artifact-manager
- 2.2.1
- provided
-
org.apache.maven
maven-compat
@@ -5304,24 +5298,6 @@
3.9.16
provided
-
- org.apache.maven
- maven-plugin-descriptor
- 2.2.1
- provided
-
-
- log4j
- log4j
-
-
-
-
- org.apache.maven
- maven-project
- 2.2.1
- provided
-
org.apache.maven
maven-repository-metadata
@@ -5334,12 +5310,6 @@
3.9.16
provided
-
- org.apache.maven
- maven-toolchain
- 2.2.1
- provided
-
org.codehaus.plexus
plexus-archiver