This module deploys Grafana as a Docker container on Red Hat systems. The Grafana container is managed as a systemd service.
The simplest configuration to run the Grafana container is:
grafana::docker::container { 'grafana':
publish => ['3000:3000/tcp'],
}
The above example configures a systemd service which runs the Grafana container. It is started immediately and enabled to be started on system boot.
The following options are supported on grafana::docker::container
:
-
image
: The name of the Docker image to use. -
depends
: Dependencies on other systemd docker units which need to be started before this one. (List) -
pull_image
: Always pull image before starting the container. (Defaultfalse
) -
env
: Set environment variables in the container. (List) -
env_file
: Use environment file in the container. (List) -
link
: Containers which this container links to. (List) -
log_driver
: Set log driver to use. -
log_opt
: Set options for the log driver. (List) -
publish
: Ports which should be published by this container. (List) -
volume
: Volumes to be used by this container. (List) -
volumes_from
: Containers which this container mounts volumes from. (List) -
systemd_env_file
: Path to a systemd environment file to use.
The Grafana container can be configured by mounting configuration files from the host filesystem, as so:
grafana::docker::container { 'grafana':
publish => ['3000:3000/tcp'],
volume => ['/var/local/grafana/grafana.ini:/etc/grafana/grafana.ini:ro'],
}
Note you will need to create the configuration file
/var/local/grafana/grafana.ini
for the above example to work. How you do that
is up to you.
You may also want to manage persistent data using the data volume container pattern. To implement that, we do the following:
grafana::docker::data_volume_container { 'grafana-data': }
->
grafana::docker::container { 'grafana':
volumes_from => ['grafana-data'],
}
This first creates a service for the data volume container named "grafana-data", then creates a service named "grafana" which mounts volumes from that container.
The following options are supported on
grafana::docker::data_volume_container
:
-
image
: The name of the Docker image to use. -
pull_image
: Always pull image before starting the container. (Defaultfalse
) -
systemd_env_file
: Path to a systemd environment file to use.
This module is compatible with Red Hat Linux systems which are capable of running Docker:
- RHEL 7+
- CentOS 7+
- Fedora 20+
- Re-release to fix a build issue in the last release.
- Upgrade to ajsmith/docker_systemd v0.4.x.
- Provide support for more Docker options:
--env
--env-file
--log-driver
--log-opt
- Documentation updates.
- Update default Grafana Docker image.
- Ugrade to ajsmith/docker_systemd v0.3.x.
- Add
pull_image
andsystemd_env_file
options to Docker container resources. - Removed resources for building Grafana Docker images.
- Support volume configuration for the Grafana Docker container.
- Fix Grafana image version.
- Use updated Grafana v2.6.0 image.
- Allow customizations to the Grafana Docker image build process.
- Add option to set the VCS revision of the Grafana Docker image.
- Improve rspec test coverage.
- Style fixes.
- Initial release.