Skip to content

Commit

Permalink
* Improve documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
blaubaer committed Feb 24, 2016
1 parent 7d05ced commit 2d0d4c9
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 9 deletions.
34 changes: 34 additions & 0 deletions manual/includes/features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Features {#features}

* **[Simple configuration](#configuration.examples)**<br>
Configure everything via one [YAML](https://en.wikipedia.org/wiki/YAML) file. Every configuration could also be overwritten via
[environment variables](#configuration.environmentMapping) and the master service could
[receive its command line also from the command line of caretakerd itself](#configuration.dataType.service.Service.command.special-master-handling).

* **Optimized for containerization**<br>
cratekerd was designed to be a simple and small process supervisor for containerization environment (such as [Docker](https://en.wikipedia.org/wiki/Docker_\(software\))).
It is explicitly not a replacement for host process supervisors like [systemd](https://en.wikipedia.org/wiki/Systemd).

* **No dependencies**<br>
Just [download the binary](#downloads) and use it. caretakerd is a [fat binary](https://en.wikipedia.org/wiki/Fat_binary) ready to use.
You are not required to install environment with a lot of dependencies like Ruby, Python or Perl - caretakerd is build with [Go](https://en.wikipedia.org/wiki/Go_\(programming_language\)).

* **Builtin watchdog**<br>
If a service crashes, caretakerd will [restart](#configuration.dataType.service.Service.autoRestart) it for you.

* **[Custom logging](configuration.dataType.logger.Logger)**<br>
You can log how you want. It is possible to log to [log files](#configuration.dataType.logger.Logger.filename)
per service, to just one log file for all services or also direct to [console](#configuration.dataType.logger.Logger.filename).
Also log rotate based on [max file size](#configuration.dataType.logger.Logger.maxSizeInMb) and [age of](#configuration.dataType.logger.Logger.maxAgeInDays)
log files are builtin.

* **[Builtin cron](#configuration.dataType.service.CronExpression)**<br>
Execute services when and how often you want.

* **[Focus on one core service](#configuration.dataType.service.Type)**<br>
There is always one service (the [master](#configuration.dataType.service.Type.master))
which all other services are life and die together. We expect that this service is the most important one and all other services have to serve him.

* **[Remote controllable](#configuration.dataType.rpc.Rpc)**<br>
caretakerd could fully controlled via [``caretakerctl``](#commands.caretakerctl) command or
REST calls via encrypted HTTPS.
18 changes: 10 additions & 8 deletions manual/templates/root.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,18 @@ <h1 id="caretakerd" property="name">{{.Name}}</h1>

<h2 id="topics">Topics</h2>
<ul class="toc" vocab="http://schema.org/" typeof="BreadcrumbList">
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#gettingStarted"><span property="name">Getting started</span></a><meta property="position" content="1"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#downloads"><span property="name">Downloads</span></a><meta property="position" content="2"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#commands"><span property="name">Commands</span></a><meta property="position" content="3"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#configuration"><span property="name">Configuration</span></a><meta property="position" content="4"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#dataTypes"><span property="name">Data Types</span></a><meta property="position" content="5"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#support"><span property="name">Support</span></a><meta property="position" content="6"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#contributing"><span property="name">Contributing</span></a><meta property="position" content="7"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#license"><span property="name">License</span></a><meta property="position" content="8"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#features"><span property="name">Features</span></a><meta property="position" content="1"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#gettingStarted"><span property="name">Getting started</span></a><meta property="position" content="2"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#downloads"><span property="name">Downloads</span></a><meta property="position" content="3"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#commands"><span property="name">Commands</span></a><meta property="position" content="4"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#configuration"><span property="name">Configuration</span></a><meta property="position" content="5"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#dataTypes"><span property="name">Data Types</span></a><meta property="position" content="6"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#support"><span property="name">Support</span></a><meta property="position" content="7"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#contributing"><span property="name">Contributing</span></a><meta property="position" content="8"></li>
<li property="itemListElement" typeof="ListItem"><a property="item" typeof="WebPage" href="#license"><span property="name">License</span></a><meta property="position" content="9"></li>
</ul>

{{includeMarkdown "features" 2 "" .}}
{{includeMarkdown "gettingStarted" 2 "" .}}
{{includeMarkdown "downloads" 2 "" .}}
{{include "commands" .}}
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<artifactId>caretakerd</artifactId>
<groupId>org.echocat</groupId>
<version>0.1.5-SNAPSHOT</version>
<description>caretakerd is a minimal process supervisor build for easy use with no dependencies.</description>
<description>caretakerd is build for to be a minimal process supervisor, with no dependencies, optimized for containerization (such as Docker) and simple to configure.</description>
<url>https://caretakerd.echocat.org</url>

<properties>
Expand Down

0 comments on commit 2d0d4c9

Please sign in to comment.