Merge "Add Monasca Grafana image"

This commit is contained in:
Zuul
2018-11-07 23:24:18 +00:00
committed by Gerrit Code Review
4 changed files with 96 additions and 0 deletions
@@ -0,0 +1,81 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% block monasca_grafana_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.configure_user(name='monasca', homedir='/usr/share/grafana') }}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set monasca_grafana_build_packages = [
'golang',
'git',
'npm',
'bzip2',
'gcc-c++',
'make',
'ruby',
'ruby-devel',
'fontconfig',
'rpm-build'
] %}
{% elif base_distro in ['debian', 'ubuntu'] %}
{% set monasca_grafana_build_packages = [
'golang',
'git',
'npm',
'bzip2',
'g++',
'make',
'ruby',
'ruby-dev',
'fontconfig',
'rpm'
] %}
{% endif %}
{{ macros.install_packages(monasca_grafana_build_packages | customizable("packages")) }}
WORKDIR /usr/share/grafana
COPY grafana_sudoers /etc/sudoers.d/kolla_grafana_sudoers
COPY extend_start.sh /usr/local/bin/kolla_extend_start
ENV GO_PATH=/grafana
ENV monasca_grafana_build_path=${GO_PATH}/src/github.com/grafana/grafana
ARG monasca_grafana_version=grafana4
ARG monasca_grafana_url=https://github.com/monasca/grafana/archive/$monasca_grafana_version.tar.gz
{% block monasca_grafana_install %}
RUN gem install fpm \
&& curl -sSL -o /tmp/monasca-grafana.tgz ${monasca_grafana_url} \
&& mkdir -p ${monasca_grafana_build_path} \
&& tar --strip 1 -xvf /tmp/monasca-grafana.tgz -C ${monasca_grafana_build_path} \
&& rm -f /tmp/monasca-grafana.tgz \
&& cd ${monasca_grafana_build_path} \
&& go run build.go setup \
&& npm install \
&& go run build.go build package \
&& mv ${monasca_grafana_build_path}/dist /grafana_pkgs \
&& rm -rf /grafana
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set monasca_grafana_packages = ['/grafana_pkgs/grafana*.rpm'] %}
{% elif base_distro in ['debian', 'ubuntu'] %}
{% set monasca_grafana_packages = ['/grafana_pkgs/grafana*.deb'] %}
{% endif %}
{{ macros.install_packages(monasca_grafana_packages | customizable("packages")) }}
{% endblock %}
RUN grafana-cli plugins install monasca-datasource \
&& chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_grafana_sudoers \
&& chmod 755 /usr/local/bin/kolla_extend_start
{% block monasca_grafana_footer %}{% endblock %}
{% block footer %}{% endblock %}
USER monasca
@@ -0,0 +1,8 @@
#!/bin/bash
if [[ ! -d "/var/log/kolla/monasca" ]]; then
mkdir -p /var/log/kolla/monasca
fi
if [[ $(stat -c %a /var/log/kolla/monasca) != "755" ]]; then
chmod 755 /var/log/kolla/monasca
fi
@@ -0,0 +1 @@
%kolla ALL=(root) NOPASSWD: /usr/bin/chown -R monasca\: /var/lib/grafana/, /bin/chown -R monasca\: /var/lib/grafana/
@@ -0,0 +1,6 @@
---
features:
- |
Add the Monasca fork of Grafana (v4.0.1). The Monasca fork of Grafana
adds Keystone integration, allowing Grafana users to log in with their
OpenStack credentials and see Metrics from their OpenStack project.