[
https://issues.apache.org/jira/browse/CAMEL-25185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino reassigned CAMEL-25185:
----------------------------------------
Fix Version/s: 4.23.0
Assignee: Andrea Cosentino
> camel-openfga-starter: add the Spring Boot starter for the camel-openfga
> component
> ----------------------------------------------------------------------------------
>
> Key: CAMEL-25185
> URL: https://issues.apache.org/jira/browse/CAMEL-25185
> Project: Camel
> Issue Type: New Feature
> Components: camel-spring-boot-starters
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
> Labels: openfga
> Fix For: 4.23.0
>
>
> {{camel-openfga}} landed on {{main}} for 4.23.0 in CAMEL-25028, so it needs a
> Spring Boot starter like its two
> companions: {{camel-opa-starter}} (CAMEL-24641) and {{camel-spiffe-starter}}.
> h2. What is needed
> {{components-starter/camel-openfga-starter}}, following the shape of
> {{camel-opa-starter}}:
> * the starter {{pom.xml}}, depending on {{camel-openfga}} and
> {{camel-core-starter}};
> * registration in {{components-starter/pom.xml}},
> {{tooling/camel-spring-boot-bom/pom.xml}} and
> {{tooling/camel-spring-boot-dependencies/pom.xml}};
> * the nav entry in {{docs/spring-boot/modules/ROOT/nav.adoc}};
> * the {{META-INF}} {{LICENSE.txt}} and {{NOTICE.txt}} boilerplate.
> Everything else is produced by {{camel-spring-boot-generator-maven-plugin}}
> during the build: the component
> auto-configuration, configuration and converter classes,
> {{src/main/docs/openfga.json}}, the
> {{AutoConfiguration.imports}} entry, the starter documentation page, and the
> {{camel-catalog-provider-springboot}} catalog entries.
> h2. Note on the component's options
> {{camel-openfga}} carries a few options whose Spring Boot binding is worth a
> glance once generated, because they are
> not plain scalars:
> * {{openFgaClient}} is an autowired
> {{dev.openfga.sdk.api.client.OpenFgaClient}};
> * {{sslContextParameters}} is an {{SSLContextParameters}};
> * {{connectTimeout}} and {{readTimeout}} are declared with {{javaType =
> "java.time.Duration"}} but are {{long}}
> millisecond values on the configuration, so they should generate as
> {{Long}} in the same way camel-opa's
> {{connectionTimeout}} and {{requestTimeout}} do;
> * {{failOpen}} is annotated {{security = "insecure:dev"}}, and {{apiToken}}
> and {{clientSecret}} are secrets.
> h2. Not in scope
> {{OpenFgaSecurityPolicy}} is a plain bean rather than a component, so it
> needs no auto-configuration of its own; a
> Spring Boot application declares it as a {{@Bean}} exactly as it would in
> plain Camel. Worth keeping in mind that
> {{useGlobalSslContextParameters}} on the component does not reach that
> policy, which the component documentation
> already states.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)