diff options
Diffstat (limited to 'kolla/docker/fluentd')
| -rw-r--r-- | kolla/docker/fluentd/Dockerfile.j2 | 62 | ||||
| -rw-r--r-- | kolla/docker/fluentd/extend_start.sh | 20 | ||||
| -rw-r--r-- | kolla/docker/fluentd/fluentd_sudoers | 8 |
3 files changed, 90 insertions, 0 deletions
diff --git a/kolla/docker/fluentd/Dockerfile.j2 b/kolla/docker/fluentd/Dockerfile.j2 new file mode 100644 index 000000000..c63e1b990 --- /dev/null +++ b/kolla/docker/fluentd/Dockerfile.j2 @@ -0,0 +1,62 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} + +{% set fluentd_user = 'fluentd' %} + +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" fluentd_binary="fluentd" fluentd_user="{{ fluentd_user }}" +{% endblock %} + +{% block fluentd_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.enable_extra_repos(['fluentd']) }} + +{% if base_package_type == 'rpm' %} + + {% set fluentd_packages = [ + 'gcc-c++', + 'make', + 'fluent-package', + ] %} + +{% elif base_package_type == 'deb' %} + + {% set fluentd_packages = [ + 'g++', + 'make', + 'fluent-package', + ] %} + +{% endif %} + +{{ macros.configure_user(name=fluentd_user, groups='mysql') }} + +COPY fluentd_sudoers /etc/sudoers.d/kolla_fluentd_sudoers +COPY extend_start.sh /usr/local/bin/kolla_extend_start + +{{ macros.install_packages(fluentd_packages | customizable("packages")) }} \ + && chmod 440 /etc/sudoers.d/kolla_fluentd_sudoers \ + && mkdir -p /etc/{{ fluentd_user }} \ + && mkdir -p /var/run/{{ fluentd_user }} \ + && chown -R {{ fluentd_user }}: /var/run/{{ fluentd_user }} \ + && chmod 644 /usr/local/bin/kolla_extend_start + +{% block fluentd_plugins_install %} + +{% set fluentd_plugins = [ + 'fluent-plugin-grok-parser', + 'fluent-plugin-prometheus', + 'fluent-plugin-rewrite-tag-filter', +] %} + +{{ macros.install_fluent_plugins(fluentd_plugins | customizable("plugins")) }} + +{% endblock %} + +{{ macros.kolla_patch_sources() }} + +{% block fluentd_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER {{ fluentd_user }} diff --git a/kolla/docker/fluentd/extend_start.sh b/kolla/docker/fluentd/extend_start.sh new file mode 100644 index 000000000..6b304b92c --- /dev/null +++ b/kolla/docker/fluentd/extend_start.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Give processes executed with the "kolla" group the permission to create files +# and sub-directories in the /var/log/kolla directory. +# +# Also set the setgid permission on the /var/log/kolla directory so that new +# files and sub-directories in that directory inherit its group id ("kolla"). + +if [ ! -d /var/log/kolla ]; then + mkdir -p /var/log/kolla +fi +if [[ $(stat -c %U:%G /var/log/kolla) != "fluentd:kolla" ]]; then + sudo chown fluentd:kolla /var/log/kolla +fi +if [[ $(stat -c %a /var/log/kolla) != "2775" ]]; then + sudo chmod 2775 /var/log/kolla +fi +if [[ (-d /var/lib/fluentd) && ($(stat -c %U:%G /var/lib/fluentd) != "fluentd:kolla") ]]; then + sudo chown fluentd:kolla /var/lib/fluentd +fi diff --git a/kolla/docker/fluentd/fluentd_sudoers b/kolla/docker/fluentd/fluentd_sudoers new file mode 100644 index 000000000..25ca93f5a --- /dev/null +++ b/kolla/docker/fluentd/fluentd_sudoers @@ -0,0 +1,8 @@ +%kolla ALL=(root) NOPASSWD: /bin/chown fluentd\:kolla /var/log/kolla, /usr/bin/chown fluentd\:kolla /var/log/kolla +%kolla ALL=(root) NOPASSWD: /bin/chown td-agent\:kolla /var/log/kolla, /usr/bin/chown td-agent\:kolla /var/log/kolla +%kolla ALL=(root) NOPASSWD: /bin/chown fluentd\:kolla /var/lib/fluentd, /usr/bin/chown fluentd\:kolla /var/lib/fluentd +%kolla ALL=(root) NOPASSWD: /bin/chown td-agent\:kolla /var/lib/td-agent, /usr/bin/chown td-agent\:kolla /var/lib/td-agent +%kolla ALL=(root) NOPASSWD: /bin/chown fluentd\:kolla /var/lib/td-agent, /usr/bin/chown fluentd\:kolla /var/lib/td-agent +%kolla ALL=(root) NOPASSWD: /bin/chmod 2775 /var/log/kolla, /usr/bin/chmod 2775 /var/log/kolla +%kolla ALL=(root) NOPASSWD: /bin/chmod 2775 /var/lib/fluentd, /usr/bin/chmod 2775 /var/lib/fluentd +%kolla ALL=(root) NOPASSWD: /bin/chmod 2775 /var/lib/td-agent, /usr/bin/chmod 2775 /var/lib/td-agent |
