]
Brian Stansberry moved WFLY-1396 to WFCORE-422:
-----------------------------------------------
Project: WildFly Core (was: WildFly)
Key: WFCORE-422 (was: WFLY-1396)
Component/s: CLI
(was: CLI)
File upload/manipulation through management API - modules, config
files
-----------------------------------------------------------------------
Key: WFCORE-422
URL:
https://issues.jboss.org/browse/WFCORE-422
Project: WildFly Core
Issue Type: Feature Request
Components: CLI
Reporter: Ondrej Zizka
It would be nice to have a possibility to upload certain files. Namely:
- create modules (e.g. JDBC drivers)
- copy .properties files - logging, security etc.
- ssh keys, certificates etc.
Could be limited to the examples above - i.e. one operation for creating/removing a
module, another for copying a file to configuration/ .
{code}
/:add-config-file(file=foo.properties, ifExists=fail|skip|overwrite|...)
/:add-module(file=foo.jar, name=org.jboss.foo, version=main,
dependencies=["org.jboss.bar"], imports=[...] exports=[...]
ifExists=fail|skip|overwrite|...)
{code}
To avoid the complexity of distributing such file amongst managed domain, the op could be
scoped to just a single host, like
{code}
/host=host1:add-config-file(...)
{code}
File transfer
=============
The same principle could be used as for deployments (--{{ModelNode.readExternal()}}-- ?)
CLI's DeployHander#execute():
{code}
OperationBuilder op = new OperationBuilder(request);
op.addFileAsAttachment(f);
request.get(Util.CONTENT).get(0).get(Util.INPUT_STREAM_INDEX).set(0);
Operation operation = op.build();
result = ctx.getModelControllerClient().execute(operation);
operation.close();
{code}
Specifics
=========
The file manipulation in add-module would be performed by JBoss Modules through an
appropriate API.
The file manipulation in add-config-file would be performed by the part of AS which knows
where the config is actually read from (in case it is variable) - MSC?