diff --git a/docker/collectd/Dockerfile.j2 b/docker/collectd/Dockerfile.j2 new file mode 100644 index 0000000000..c04b367b97 --- /dev/null +++ b/docker/collectd/Dockerfile.j2 @@ -0,0 +1,22 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% import "macros.j2" as macros with context %} + +{% set collectd_packages = ['collectd'] %} + +{{ macros.install_packages(collectd_packages | customizable("packages")) }} + +COPY collectd_sudoers /etc/sudoers.d/kolla_collectd_sudoers +COPY extend_start.sh /usr/local/bin/kolla_extend_start + +RUN useradd -r -m --user-group collectd \ + && chmod 755 /usr/local/bin/kolla_extend_start \ + && chmod 750 /etc/sudoers.d \ + && chmod 440 /etc/sudoers.d/kolla_collectd_sudoers \ + && usermod -a -G kolla collectd + +{% block collectd_footer %}{% endblock %} +{{ include_footer }} + +USER collectd diff --git a/docker/collectd/collectd_sudoers b/docker/collectd/collectd_sudoers new file mode 100644 index 0000000000..fae410a997 --- /dev/null +++ b/docker/collectd/collectd_sudoers @@ -0,0 +1 @@ +%kolla ALL=(root) NOPASSWD: /bin/chown collectd\: /var/lib/collectd/, /usr/bin/chown collectd\: /var/lib/collectd/ diff --git a/docker/collectd/extend_start.sh b/docker/collectd/extend_start.sh new file mode 100644 index 0000000000..5142a67fea --- /dev/null +++ b/docker/collectd/extend_start.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Only update permissions if permissions need to be updated +if [[ $(stat -c %U:%G /var/lib/collectd) != "collectd:collectd" ]]; then + sudo chown collectd: /var/lib/collectd +fi \ No newline at end of file