harshilv17 opened a new pull request, #6834:
URL: https://github.com/apache/camel-k/pull/6834
Removes the Synthetic Integrations feature, deprecated in 2.10.0 and gated
behind the `CAMEL_K_SYNTHETIC_INTEGRATIONS` environment variable.
Per @squakez's answer on the issue — *"the code is not meant to be used
externally so all business logic can be cleaned"* — this also removes the
external application import path and the already unreachable synthetic
`IntegrationKit` type.
### Removed
- `pkg/controller/synthetic` and the `monitor_synthetic` action
- the `CAMEL_K_SYNTHETIC_INTEGRATIONS` lookup in the operator
- `IntegrationSyntheticLabel` and `Integration.IsSynthetic()`, plus the
seven trait guards built on it (`camel`, `cron`, `environment`, `jvm`,
`logging`, `mount`, `security_context`) and the `syntheticActions` reconciler
wiring
- the external app import path: the `IntegrationImported*` labels,
`initializeAction.importFromExternalApp`, `getCamelAppImportingCondition`, and
the now orphaned `IntegrationConditionImportingKindAvailableReason`
- `trait.NewSyntheticEnvironment` and `getCamelAppObject`, whose only caller
was the synthetic monitor
- the synthetic `IntegrationKit` type. Nothing in the tree ever assigned
`IntegrationKitTypeSynthetic`, and `lookupKitsForIntegration` only ever
selected platform and external Kits, so it was already unreachable. Its
branches in integrationkit `monitor.go`, `error.go` and
`integrationkit_controller.go` collapse to `IsExternal()`, which lets three
`//nolint: staticcheck` come off
- `docs/modules/ROOT/pages/running/synthetic.adoc`, its `nav.adoc` entry,
and the env var row in `advanced.adoc`
### Deliberately not touched
- **`integrationkit/initialize.go`** keys off `kit.Spec.Image`, not the
removed label, so Kits built from a user supplied image are unaffected. Its
comment called that a "synthetic Kit", which is now reworded.
- The `container.image` trait doc no longer describes the Kit it creates as
synthetic, since that Kit type no longer exists.
- `docs/threat-model.{md,yaml}` keep their ratified rulings, and
`observability/dashboard.adoc` keeps the note on where the Camel Dashboard
project came from — both are records rather than live documentation.
- A handful of trait tests are named `...SyntheticKit...` but never set the
label; they exercise the non managed build path and still pass. Renaming them
felt like noise for this PR, happy to do it if you would prefer.
### Generated code
CRDs, the Helm chart and the docs were regenerated with `script/gen_crd.sh`
and `script/gen_doc.sh` (`controller-gen` v0.22.0, `kustomize` v5.7.1). The
only generated change is the reworded `container.image` sentence.
### Checks
`go build ./...`, `go vet ./...` and `gofmt` are clean, and the tests pass
for every package this touches. Unrelated failures in `pkg/builder`,
`pkg/controller/integrationplatform`, `pkg/util/{camel,jvm,maven}` reproduce
identically on a clean `main` checkout here — they need `mvn` and `keytool`,
which my machine does not have.
Fixes #6828
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]