Intersmash / intersmash

Intersmash - Cloud-native testing with Java!
Apache License 2.0
5 stars 13 forks source link

Provide an Helm Chart release adapter for EAP XP 5 #179

Closed fabiobrz closed 4 months ago

fabiobrz commented 4 months ago

Is your feature request related to a problem? Please describe. Intersmash does not provide a specific EAP XP 5 Helm Chart release adapter. The EAP 8 one can be used for s2i build cases, but there's no way to have a bootable jar build that way

Describe the solution you'd like

POJOs that represent the release are generated via a plugin (jsonschema2pojo IIRC). The one that should be added to https://github.com/Intersmash/intersmash/tree/main/provisioners/src/main/resources/org/jboss/intersmash/provision/helm/values/schema is https://raw.githubusercontent.com/jbossas/eap-charts/eap-xp5-dev/charts/eap-xp5/values.schema.json - via a new xp5 folder. Then a new execution here would generate the POJO at build time, see https://github.com/Intersmash/intersmash/blob/main/provisioners/pom.xml#L244 Finally, the specific XP 5 adapter - initially we can simply copy paste Eap8HelmChartReleaseAdapter to a new EapXp5HelmChartReleaseAdapter and add the missing parts to handle the Bootable JAR build, and image. Later we can evaluate a design pattern to have it refactored and isolate common code, which is currently "tricky" because the generate POJOs have nothing in common. One way might be to check whether the jsonschema2pojo plugin provides a configuration param to - let's say - let the generate POJOs implement some common interface.

Describe alternatives you've considered

Quick 'n' dirty solution: just extend the EAP8 adapter class with what we need, so that it gets serialized

Additional context N/A