[wildfly-dev] Customizing a provisioned server

Brian Stansberry brian.stansberry at redhat.com
Thu Sep 4 17:18:02 EDT 2014


On 9/3/14, 11:16 PM, Stuart Douglas wrote:
> Hi everyone,
>
> Work on the provisioning tool is now well underway, so I would like to
> revisit something I mentioned in my original email, which is allowing
> the provisioning tool to customize a provisioned server.
>
> I think there are a few options here, some more palatable than others.
> In no particular order:
>
> 1) Customize the XML directly
>
> Using this approach we would just directly customize the XML
> configuration files. This would basically require the use of XSLT
> (yuck), or require us to basically invent our own version of XSLT (even
> more yuck). Even though this approach will work, and will be fairly easy
> to implement, I think it would really suck from an end-user point of
> view, and I think we should discount it.
>

I can't see this as workable at all for generic customization. I could 
see it for a setup where a user provides a list of capabilities, and we 
produce a tailored xml that provides those capabilities. The xml is 
still some standard config, just mildly customizable by listing 
capabilities. Implemented perhaps using something like the templating 
thing we've used in the past.

But if the idea is to support arbitrary config changes, no way xml is an 
option.

> 2) Allow the user to provide CLI commands to customise the server
>
> This is by far my favorite approach. The provisioning file would just
> contain a list of CLI commands, and would execute them in order. I think
> this is by far the most intuitive, and the CLI is well documented.
>
> 3) Allow the user to provide DMR operations to customize the server
>
> Similar to 2, but allow the user to provide DMR or JSON operations to
> customize the server. I think this is not nearly as nice as 2, as users
> are much more likely to be familiar with the CLI rather than DMR.
>
>
> I think 2 is by far the best approach, however it does open up the
> question of how and when to execute the operations. I think the easiest
> way to do this would be to just start the server in admin only mode on a
> custom port (so it will not interfere with any existing running Wildfly
> instances), and just execute the CLI commands in admin only mode.
>

If we are going to use the management API, we need to start an embedded 
process with no ports open. Otherwise people should just use one of our 
existing management tools.

> Does this all sound reasonable?
>
> Stuart
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>


-- 
Brian Stansberry
Senior Principal Software Engineer
JBoss by Red Hat


More information about the wildfly-dev mailing list