Remote administration
For the first round, this is presumed to be
single server and include the following per application:
- start
- stop
- status
- stats (as currently available from the management APIs)
This type of administration requires that an application is always running at a known URI.
We can build the functionality in a module called
zero.admin (contains the UI; depends on zero.admin.resources (backend)). Users can deploy this functionality with either "zero create ... linkto zero:zero.admin" or by adding zero.admin as a dependency to another application that will serve as the admin application.
There are App Builder assets that can be leveraged here. As a feature for "production", the modules will ultimately be available in the stable module group. Will have to
internationalize the UI and translate the strings.
How to get the list of applications?
If we implement
bug 5591, then we'll be able to generate the list of all resolved applications on the server.
Without bug 5591, we can consider manual alternatives:
- The minimum support would be for users to configure zero.admin with the list of applications (at least name and apphome directory; URI can be computed).
- The visual equivalent could be achieved by re-using the "Import application" support in App Builder; allows the user to browse/select applications from the filesystem.
Resources (URIs)
App Builder has a set of resources that model applications and processes:
| GET | /resources/applications |
| GET | /resources/applications/{id} |
| POST | /resources/processes |
| GET | /resources/processes/{id} |
| DELETE | /resources/processes/{id} |
Need to add stats to the application details.
UI
The basic operations are very close to what's implemented in App Builder's "My Applications" page. Suggest that we start there.
Let's see if we can extract a widget from the My Applications page that could then be shared by My Applications and the remote admin.
Advanced topics
Beyond the scope of a first-round admin feature:
- view logs; change logging properties on-the-fly
- install applications via the admin support; this might be linked to a "deploy" step for hosted development?