Skip to content

CAMEL-17368: document Google Functions ADC and GKE authentication - #27284

Draft
oscerd wants to merge 1 commit into
apache:mainfrom
oscerd:fix/CAMEL-17368-gke-adc
Draft

oscerd wants to merge 1 commit into
apache:mainfrom
oscerd:fix/CAMEL-17368-gke-adc

Conversation

@oscerd

@oscerd oscerd commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Google Functions already falls back to Application Default Credentials when no serviceAccountKey is supplied, but its guide only describes key-file authentication. This documents keyless GKE workload identity, credential precedence, and a route using the pod identity.

Adds factory tests proving ADC credentials reach the client, an explicit key bypasses ADC, and credential lookup failures propagate without creating a client. Includes the mirrored catalog documentation. Authentication behavior is unchanged.

Validation: Functions module tests and formatter/import sorter passed (24 tests, zero failures/errors, one existing disabled test). The full 692-module reactor build passed with mvn -Dquickly install (tests skipped in that build).

Live GKE verification remains outstanding: this workspace has no configured Google Cloud project or kubectl. This draft addresses the original GKE/ADC scope of CAMEL-17368; explicit WIF endpoint options are outside this changeset.

AI-generated by Codex on behalf of oscerd.

Generated by Codex via OSS Helper

Document the existing keyless authentication path and cover ADC selection,
explicit service-account key precedence, and ADC failure propagation.

Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • components/camel-google/camel-google-functions

🔬 Scalpel shadow comparison — Scalpel: 9 of 698 tested, 26 compile-only — current: 9 all tested

Maveniverse Scalpel detected 9 affected modules (current approach: 9).

Skip-tests mode would test 9 modules (2 direct + 8 downstream), skip tests for 26 (generated code, meta-modules)

Modules Scalpel would test (9)
  • camel-google-functions ← components/camel-google/camel-google-functions/src/main/docs/google-functions-component.adoc, components/camel-google/camel-google-functions/src/test/java/org/apache/camel/component/google/functions/unit/GoogleCloudFunctionsClientFactoryTest.java
  • camel-jbang-mcp ← downstream of org.apache.camel:camel-catalog
  • camel-jbang-plugin-mcp ← downstream of org.apache.camel:camel-jbang-core
  • camel-jbang-plugin-route-parser ← downstream of org.apache.camel:camel-route-parser
  • camel-jbang-plugin-tui ← downstream of org.apache.camel:camel-catalog
  • camel-jbang-plugin-validate ← downstream of org.apache.camel:camel-yaml-dsl-validator
  • camel-launcher-container ← downstream of org.apache.camel:camel-launcher
  • camel-yaml-dsl-validator ← downstream of org.apache.camel:camel-catalog
  • camel-yaml-dsl-validator-maven-plugin ← downstream of org.apache.camel:camel-yaml-dsl-validator
Modules with tests skipped (26)
  • apache-camel
  • camel-allcomponents
  • camel-catalog-console
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more

All tested modules (36 modules, 5m 31s total)

Total reactor time: 5m 31s

Module Duration Status
Camel :: Launcher 47.9s SUCCESS
Camel :: JBang :: Plugin :: TUI 41.4s SUCCESS
Camel :: JBang :: MCP 38.9s SUCCESS
Camel :: Component DSL 22.9s SUCCESS
Camel :: Catalog :: Camel Catalog 22.4s SUCCESS
Camel :: YAML DSL 18.1s SUCCESS
Camel :: JBang :: Plugin :: Kubernetes 17.7s SUCCESS
Camel :: YAML DSL :: Validator 17.5s SUCCESS
Camel :: Docs 14.7s SUCCESS
Camel :: Google :: Functions 12.9s SUCCESS
Camel :: Kamelet Main 10.4s SUCCESS
Camel :: YAML DSL :: Deserializers 8.5s SUCCESS
Camel :: Catalog :: Camel Route Parser 7.8s SUCCESS
Camel :: JBang :: Plugin :: Testing 7.7s SUCCESS
Camel :: Catalog :: Camel Report Maven Plugin 6.0s SUCCESS
Camel :: JBang :: Plugin :: Validate 5.5s SUCCESS
Camel :: All Components Sync point 5.2s SUCCESS
Camel :: YAML DSL :: Validator Maven Plugin 4.8s SUCCESS
Camel :: YAML DSL :: Maven Plugins 3.4s SUCCESS
Camel :: Catalog :: Maven 2.9s SUCCESS
Camel :: Catalog :: Suggest (deprecated) 2.8s SUCCESS
Camel :: Assembly 1.8s SUCCESS
Camel :: Coverage 1.8s SUCCESS
Camel :: Catalog :: Dummy Component 1.2s SUCCESS
Camel :: JBang :: Plugin :: Edit 1.2s SUCCESS
Camel :: JBang :: Plugin :: Generate 1.0s SUCCESS
Camel :: Catalog :: Console 0.9s SUCCESS
Camel :: JBang :: Main 0.8s SUCCESS
Camel :: JBang :: Integration tests 0.8s SUCCESS
Camel :: JBang :: Plugin :: MCP 0.7s SUCCESS
Camel :: Endpoint DSL :: Support 0.7s SUCCESS
Camel :: Launcher :: Container 0.7s SUCCESS
Camel :: JBang :: Plugin :: Route Parser 0.5s SUCCESS
Camel :: Endpoint DSL n/a
Camel :: Integration Tests n/a
Camel :: JBang :: Core n/a

Top 20 slowest modules:

  • Camel :: Launcher (47.9s)
  • Camel :: JBang :: Plugin :: TUI (41.4s)
  • Camel :: JBang :: MCP (38.9s)
  • Camel :: Component DSL (22.9s)
  • Camel :: Catalog :: Camel Catalog (22.4s)
  • Camel :: YAML DSL (18.1s)
  • Camel :: JBang :: Plugin :: Kubernetes (17.7s)
  • Camel :: YAML DSL :: Validator (17.5s)
  • Camel :: Docs (14.7s)
  • Camel :: Google :: Functions (12.9s)
  • Camel :: Kamelet Main (10.4s)
  • Camel :: YAML DSL :: Deserializers (8.5s)
  • Camel :: Catalog :: Camel Route Parser (7.8s)
  • Camel :: JBang :: Plugin :: Testing (7.7s)
  • Camel :: Catalog :: Camel Report Maven Plugin (6.0s)
  • Camel :: JBang :: Plugin :: Validate (5.5s)
  • Camel :: All Components Sync point (5.2s)
  • Camel :: YAML DSL :: Validator Maven Plugin (4.8s)
  • Camel :: YAML DSL :: Maven Plugins (3.4s)
  • Camel :: Catalog :: Maven (2.9s)

⚙️ View full build and test results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant