Closed fabiobrz closed 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.
Eap8HelmChartReleaseAdapter
EapXp5HelmChartReleaseAdapter
jsonschema2pojo
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
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 newEapXp5HelmChartReleaseAdapter
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 thejsonschema2pojo
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