[wildfly-dev] Customizing a provisioned server

Thomas Heute theute at redhat.com
Fri Sep 5 01:52:44 EDT 2014


On 09/04/2014 11:15 PM, Stuart Douglas wrote:
>
>
> Thomas Heute wrote:
>> I would need to provision Wildfly remotely with something like JON or
>> Fabric8 for instance, the CLI would not work for that if I understand
>> correctly.
>>
>
> This is more about how to customize a server after it has been 
> provisioned. So for example you can have a file that basically says 'I 
> want a WF instance with these features, these deployments, and then 
> perform these mgmt ops to configure it'


Sounds like what I want to do remotely :)
Let's take an example, I would like to be able to "deploy and configure" 
keycloak on a group of servers (i can handle the "group" part).
Deploying and installing keycloak today requires to:
     - Add a few modules
     - add 1 extension and 1 subsytem in standalone/domain.xml
     - add 1 security domain in standalone/domain.xml

If Keycloak could be delivered as "feature pack" to do the 3 steps above 
I would still want the possibility to do this remotely on a set of servers.

You could argue that you need to prepare a package beforehand "locally" 
and they deploy the fully customized WF but I don't think it would 
always be the preferred solution

Does that make sense ?

Thomas

>
> Stuart
>
>> REST-ish API would work better I think (I guess option 3 covers that),
>> Fabric8 preference would likely be option 1 though (note that in this
>> usecase the end-user doesn't really touch the XML files, he's using a 
>> tool)
>>
>> BTW: I completely missed the discussion about provisioning tool until
>> this email so please forgive my ignorance. If there is a document or
>> email thread that would help me catch up I would love to have a look.
>>
>> Thomas
>>
>>
>> On 09/04/2014 06:16 AM, 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.
>>>
>>> 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.
>>>
>>> Does this all sound reasonable?
>>>
>>> Stuart
>>>
>>> _______________________________________________
>>> wildfly-dev mailing list
>>> wildfly-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>
>> _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/wildfly-dev



More information about the wildfly-dev mailing list