Merge "Add Monasca Grafana image"
This commit is contained in:
commit
9790f374dd
81
docker/monasca/monasca-grafana/Dockerfile.j2
Normal file
81
docker/monasca/monasca-grafana/Dockerfile.j2
Normal file
@ -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
|
8
docker/monasca/monasca-grafana/extend_start.sh
Normal file
8
docker/monasca/monasca-grafana/extend_start.sh
Normal file
@ -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
|
1
docker/monasca/monasca-grafana/grafana_sudoers
Normal file
1
docker/monasca/monasca-grafana/grafana_sudoers
Normal file
@ -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.
|
Loading…
Reference in New Issue
Block a user