... | ... | @@ -17,7 +17,21 @@ Stork's interesting future use case is to automatically create and configure a n |
|
|
Keeping in mind that Stork may evolve into a system for controlling more application types than Kea, we should generalize as many aspects of the configuration management as possible. Specifically, a fundamental question is "what tools and communication methods are common to manage different applications?". We will focus on this topic in the further sections.
|
|
|
|
|
|
## Interactions with Applications
|
|
|
TBD
|
|
|
|
|
|
Applications can be managed using one or more of the following methods:
|
|
|
|
|
|
- dedicated command-line tools (e.g., `kea-admin`, `psql`, `mysql`),
|
|
|
- REST or RPC API (e.g., Kea control channel, Bind9 rpc),
|
|
|
- configuration file modification (e.g., Kea configuration file),
|
|
|
- direct database access (e.g., Kea host backend).
|
|
|
|
|
|
Out of these methods, the first one deserves some more consideration.
|
|
|
|
|
|
Many command-line tools offer options for remote management. For example: `psql` tool can connect to a remote database. The `kea-admin` tool can connect to the remote database if the `mysql` client program is available on the same machine. It leads to the following design choice.
|
|
|
|
|
|
**Design choice**: use the command-line tool capability to manage the application remotely or install the tool on the managed application's machine and control it over the `stork-agent`?
|
|
|
|
|
|
We should run the tool on the same machine as the managed application and control it over the `stork-agent`. The tools are often installed together with the managed applications. For example, the `mysql` client is often installed with the database server, `kea-admin` is installed with Kea. In that case, the Stork server does not need installing tools local to the server. It can simply use the tools available on the managed machines. Secondly, some tools may not provide remote management capabilities. Such tools must be controlled via the `stork-agent`. Having one philosophy in that regard simplifies Stork logic.
|
|
|
|
|
|
## Configuration Capabilities
|
|
|
TBD
|
... | ... | |