Commit Graph

43 Commits (2e66b44e5880f417b35e0edf95852c5c2fea3526)

Author SHA1 Message Date
Luka Vandervelden 2e66b44e58 start-as-root option added in service spec files. 2020-01-04 16:26:05 +01:00
Luka Vandervelden 5347ec4a62 spec-defined users and groups. 2020-01-04 16:15:44 +01:00
Luka Vandervelden 7258ac4552 Improved groups/gid handling. 2020-01-04 13:15:19 +01:00
Luka Vandervelden 3d49ca43be Improved groups creation and edition. 2020-01-04 09:08:55 +01:00
Luka Vandervelden c8c0be9804 WIP for on-the-fly users. 2019-11-17 20:06:42 +01:00
Luka Vandervelden 1a90b285d2 Non-runnables are being setup automatically.
In practice, they’re being setup after their last token provider has
been started.
2019-11-11 20:52:15 +01:00
Luka Vandervelden ef7521c5b6 Imprroves postgresql’s readiness-check-command. 2019-11-11 19:02:04 +01:00
Luka Vandervelden f2507e2dd0 readiness-check-command: implemented.
The 'postgresql' service is a good example of how this is used in
practice.
2019-11-11 16:52:40 +01:00
Luka Vandervelden c43eb7af42 Grooming.
Fixes some issues introduced in the last commit.
2019-11-10 19:25:45 +01:00
Luka Vandervelden d3fe317665 Grooming, `service reload`, `Service#reload`.
`reload-command:` can be defined in service definition `.spec` files.
2019-11-09 21:52:43 +01:00
Luka Vandervelden f3633eba63 Minor UI edition for consistency. 2019-11-09 14:49:54 +01:00
Luka Vandervelden 4a03200130 Improved variable expansion in service definitions. 2019-11-09 14:47:29 +01:00
Luka Vandervelden 5852a1b818 Improved UI a bit. 2019-11-09 13:35:25 +01:00
Luka Vandervelden c2730bdd71 Improved service removal. 2019-11-08 15:54:44 +01:00
Luka Vandervelden 87929be026 Updating service definitions format.
THIS IS A BREAKING CHANGE

Hopefully, this change will make it easier to remove data on service
removal, but also to export and backup service data and to add
per-service system users.

A few obsolete service definitions have also been updated to the new
format.

Testing is still incomplete, you may want to wait a few commits before
using this.
2019-11-08 14:36:59 +01:00
Philippe PITTOLI e0e81d8581 Services can now be "Non Runnable". 2019-11-08 01:08:57 +01:00
Philippe PITTOLI 10cd792373 Delete the PID file when stopping the service. 2019-11-07 21:03:26 +01:00
Luka Vandervelden 1c80a80158 Custom names for services.
Services must be created as `[env/]custom_name` and be passed a `type=`
parameter when created.
2019-11-07 18:08:57 +01:00
Luka Vandervelden 184db7db1e waitpid() called when stopping services. 2019-10-29 14:22:13 +01:00
Luka Vandervelden cd6fd4c81f Improved `service status` a bit. 2019-10-29 12:48:36 +01:00
Luka Vandervelden 6ee52f5baa Ports management overhaul. 2019-10-29 12:32:49 +01:00
Luka Vandervelden 55dbfa7999 Some services now require a domain name to be provided. 2019-10-28 13:22:15 +01:00
Luka Vandervelden 36829e8664 Grooming. 2019-10-28 06:08:58 +01:00
Luka Vandervelden 9a74130efa wip, stuff 2019-10-28 06:08:58 +01:00
Luka Vandervelden f53db2c6cc Service definitions get some sugar.
- %configuration template target
  - %directory target
  - Services are started in their “root directory” if no “directory”
    option is provided.
2019-10-26 15:24:22 +02:00
Luka Vandervelden 7b02cffb9e %check entries are now called %pre-start hooks. 2019-10-26 14:50:03 +02:00
Luka Vandervelden 27c9a525f6 Service#root, Environment#root. 2019-10-26 14:00:11 +02:00
Luka Vandervelden 1f9264f97b Improved `service del`, `service stop`, grooming. 2019-10-25 18:40:27 +02:00
Luka Vandervelden de2b124d09 service add-environment <name>, bugfixes. 2019-10-24 18:29:22 +02:00
Luka Vandervelden 5ab14d4ee4 service: providers are identified by full ids internally. 2019-10-24 15:41:53 +02:00
Luka Vandervelden 440fde06f8 service: $SERVICE_ID is the long service id 2019-10-24 15:29:22 +02:00
Luka Vandervelden 10dcca2392 gen-config: random_password(id, name) 2019-10-24 14:29:35 +02:00
Luka Vandervelden 2dfcfcb979 Updates for configuration generation. 2019-10-20 18:05:31 +02:00
Luka Vandervelden 6237a9bb10 PID directory created as needed. 2019-10-19 18:43:40 +02:00
Luka Vandervelden 365e780055 Does not raise on missing directories. 2019-10-19 18:40:47 +02:00
Luka Vandervelden 794ffe16fa Bugfixes related to a dependency’s API changes. 2019-10-19 18:24:38 +02:00
Luka Vandervelden 3c20783f91 Updated dependencies and code for new Crystal version. 2019-10-19 18:08:34 +02:00
Luka Vandervelden 75e500adcf SpecFileParser update. 2019-08-15 17:29:52 +02:00
Luka Vandervelden 4eefe465f4 Providers are auto-guessed when adding services. 2019-08-10 22:29:11 +02:00
Luka Vandervelden 9e7921a803 `service add` can be specified token providers. 2019-08-10 22:02:11 +02:00
Luka Vandervelden efe2c0e964 Complete removal of YAML files. 2019-08-10 17:16:24 +02:00
Luka Vandervelden fbeece112a Bugfix.
Bug was revealed through manual integration testing. Checks used to be
ran as unpriviledged user instead of the actual service command (duh~).
2019-06-10 00:39:15 +02:00
Luka Vandervelden 5eb0849abd Project organisation for WIP separate binaries.
- The idea would be to allow running specific commands from SUID
    binaries when unpriviledged users should be able to run them. Such
    commands include getting services status, which need root
    priviledges to be implemented but shouldn’t be required by users.
  - Because the repository now builds several binaries, src/main.cr is
    now src/service.cr and a WIP src/status.cr has been added.
  - The `status` binary will likely be installed in libexec in the
    future, with the SUID bit set.
2019-06-09 18:08:59 +02:00