Compare commits

...

2 Commits
0.6 ... master

Author SHA1 Message Date
7d4057c6c9 Updated README 2021-04-24 13:34:43 +02:00
4438f8be6d Added mounts to preserve state 2021-04-24 13:31:32 +02:00

View File

@ -12,7 +12,8 @@ is instead to create an easy-to-deploy satellite image.
## Tags and their respective Dockerfile ## Tags and their respective Dockerfile
### Main tags ### Main tags
* [0.6, latest](https://github.com/jackbenny/icinga-satellite/blob/master/Dockerfile) * [0.6.1, latest](https://github.com/jackbenny/icinga-satellite/blob/master/Dockerfile)
* [0.6](https://github.com/jackbenny/icinga-satellite/blob/0.6/Dockerfile)
* [0.5](https://github.com/jackbenny/icinga-satellite/blob/0.5/Dockerfile) * [0.5](https://github.com/jackbenny/icinga-satellite/blob/0.5/Dockerfile)
* [0.4](https://github.com/jackbenny/icinga-satellite/blob/0.4/Dockerfile) * [0.4](https://github.com/jackbenny/icinga-satellite/blob/0.4/Dockerfile)
* [0.3](https://github.com/jackbenny/icinga-satellite/blob/0.3/Dockerfile) * [0.3](https://github.com/jackbenny/icinga-satellite/blob/0.3/Dockerfile)
@ -26,40 +27,46 @@ is instead to create an easy-to-deploy satellite image.
> **NOTE:** Currently there are some problems with the Alpine image. > **NOTE:** Currently there are some problems with the Alpine image.
> Use the *main images* instead, tagged *0.n*. > Use the *main images* instead, tagged *0.n*.
There are two available images for you to choose from. The main images (0.*n*) are based on There are two available images for you to choose from. The main images (0.*n*)
Debian 10-slim from tag 0.5 and up. Previous to 0.5 they were based on Ubuntu 18.04. are based on Debian 10-slim from tag 0.5 and up. Previous to 0.5 they were
The main images uses Icinga2 from Icingas official repository. based on Ubuntu 18.04. The main images uses Icinga2 from Icingas official
repository.
The other images (0.*n*-alpine) are based on Alpine with Icinga2 from Alpines repository. The other images (0.*n*-alpine) are based on Alpine with Icinga2 from Alpines
From 0.1.1-alpine and up, the Alpine images are built on the latest Alpine image. Previous to repository. From 0.1.1-alpine and up, the Alpine images are built on the latest
0.1.1 they were based on Alpine 3.11. Alpine image. Previous to 0.1.1 they were based on Alpine 3.11.
## Environment variables ## Environment variables
Everything is controlled using the following environment variables. Everything is controlled using the following environment variables.
* **CN** is the Common Name of the satellite * **CN** is the Common Name of the satellite
* **ZONE** is the zone in which this satellite should be in. If no zone is specified * **ZONE** is the zone in which this satellite should be in. If no zone is
it defaults to using the **CN** as the zone. specified it defaults to using the **CN** as the zone.
* **PARENTCN** is the Common Name of the parent host, for example the master. If * **PARENTCN** is the Common Name of the parent host, for example the master.
no **PARENTCN** is specified it defaults to using the **PARENTHOST** as a If no **PARENTCN** is specified it defaults to using the **PARENTHOST** as a
**PARENTCN** **PARENTCN**
* **PARENTHOST** is the FQDN or IP of the parent host, for example the master. * **PARENTHOST** is the FQDN or IP of the parent host, for example the master.
* **PARENTPORT** is the Icinga2 port on the parent host. Defaults to 5665. * **PARENTPORT** is the Icinga2 port on the parent host. Defaults to 5665.
* **TICKET** is the ticket you get from the master (if you are using Director * **TICKET** is the ticket you get from the master (if you are using Director
you find it under the Agent tab of the host). you find it under the Agent tab of the host).
* **TICKET_PATH** is the path to the ticket secrets file if you use Swarm and wants to use * **TICKET_PATH** is the path to the ticket secrets file if you use Swarm and
secrets instead (to keep your ticket secure). The ticket should be on ONE line only wants to use secrets instead (to keep your ticket secure). The ticket should
and be created as an external secret. This variable is optional and only apply for be on ONE line only and be created as an external secret. This variable is
Docker Swarm. optional and only apply for Docker Swarm.
* **ACCEPT_CONFIG** takes a ***y*** or ***n*** value for yes or no. The default is * **ACCEPT_CONFIG** takes a ***y*** or ***n*** value for yes or no. The default
***n*** is ***n***
* **ACCEPT_COMMANDS** takes a ***y*** or ***n*** value for yes or no. The default is * **ACCEPT_COMMANDS** takes a ***y*** or ***n*** value for yes or no. The
***n*** default is ***n***
* **DISABLE_CONFD** takes a ***y*** or ***n*** value for yes or no. The default is * **DISABLE_CONFD** takes a ***y*** or ***n*** value for yes or no. The default
***y***. This should be a sane default for most people. is ***y***. This should be a sane default for most people.
* **LOCAL_TIMEZONE** sets the local timezone of the satellite. For example * **LOCAL_TIMEZONE** sets the local timezone of the satellite. For example
*Europe/Stockholm* or *America/New_York* *Europe/Stockholm* or *America/New_York*
## Mounts
You need to mount `/var/lib/icinga2` and `/var/cache/icinga2` somewhere on your
filesystem to preserve the state of the satellite between restarts. See the
examples below.
## Example usage ## Example usage
``` ```
#> docker run -d --name my-icinga-sat \ #> docker run -d --name my-icinga-sat \
@ -70,6 +77,8 @@ Everything is controlled using the following environment variables.
-e PARENTZONE=master \ -e PARENTZONE=master \
-e TICKET=124de0573705d1133db62a974aaf \ -e TICKET=124de0573705d1133db62a974aaf \
-e DISABLE_CONFD=y -e ACCEPT_CONFIG=y -e ACCEPT_COMMANDS=y \ -e DISABLE_CONFD=y -e ACCEPT_CONFIG=y -e ACCEPT_COMMANDS=y \
-v /var/lib/icinga2:/var/lib/icinga2 \
-v /var/cache/icinga2:/var/cache/icinga2 \
jackbenny/icinga-satellite jackbenny/icinga-satellite
``` ```
@ -93,6 +102,9 @@ services:
- ACCEPT_COMMANDS=y - ACCEPT_COMMANDS=y
- DISABLE_CONFD=y - DISABLE_CONFD=y
- LOCAL_TIMEZONE=Europe/Stockholm - LOCAL_TIMEZONE=Europe/Stockholm
volumes:
- /var/lib/icinga2:/var/lib/icinga2
- /var/cache/icinga2:/var/cache/icinga2
``` ```
## docker-compose.yml example with Docker secrets ## docker-compose.yml example with Docker secrets
@ -110,6 +122,9 @@ services:
- ACCEPT_COMMANDS=y - ACCEPT_COMMANDS=y
- DISABLE_CONFD=y - DISABLE_CONFD=y
- LOCAL_TIMEZONE=Europe/Stockholm - LOCAL_TIMEZONE=Europe/Stockholm
volumes:
- /var/lib/icinga2:/var/lib/icinga2
- /var/cache/icinga2:/var/cache/icinga2
secrets: secrets:
- ticket - ticket
secrets: secrets: