#!/usr/bin/env sh set -e #set -x NAME=$1 DIST=archlinux RELEASE=current ARCH=amd64 PACKAGES="git sudo base-devel grafana" for f in ci.d/*; do source "$f"; done lxc_destroy lxc_create $DIST $RELEASE $ARCH lxc_wait_for_ip # Necessary because it's using a static IP address # configured via dnsmasq and the network isn't ready # when lxc_wait_for_ip returns. Oh well. sleep 5 pacman_upgrade pacman_install $PACKAGES echo "[auth.anonymous]" >> /etc/grafana.ini echo "enabled = true" >> /etc/grafana.ini echo "org_role = Admin" >> /etc/grafana.ini lxc_do git clone https://aur.archlinux.org/prometheus-bin.git /tmp/prometheus-bin lxc_do chown -R nobody:nobody /tmp/prometheus-bin lxc_do sudo -u nobody bash -c 'cd /tmp/prometheus-bin && makepkg' lxc_do bash -c 'pacman --noconfirm -U /tmp/prometheus-bin/prometheus-bin*.pkg.tar.xz' lxc_do bash -c "printf \"%s\n\" \ \"\" \ \" - job_name: 'grafana'\" \ \"\" \ \" static_configs:\" \ \" - targets: ['localhost:3000']\" >> /etc/prometheus/prometheus.yml" lxc_do systemctl enable grafana lxc_do systemctl enable prometheus lxc_restart lxc_do /usr/bin/env sh -c "until curl http://admin:admin@localhost:3000/api/org ; do sleep 1 ; done" echo <$( cd "$( dirname "$0" )" && pwd )/priv/grafana_prometheus_data_source.json \ lxc_do curl -H "content-type: application/json" --data-binary @- \ http://admin:admin@localhost:3000/api/datasources echo