#!/bin/bash

exit 0

echo 'deb http://packagecloud.io/grafana/stable/debian/ stretch main' >> /etc/apt/sources.list

curl https://packagecloud.io/gpg.key | sudo apt-key add -

apt update
apt-get -y install apt install grafana

systemctl daemon-reload
systemctl enable grafana-server
systemctl start grafana-server

# Set up pen
# To run manually:
apt-get -y install pen mariadb-client
useradd pen
echo "d /var/run/pen 0755 pen pen -" > /etc/tmpfiles.d/pen.conf
systemd-tmpfiles --create

mkdir -p /etc/pen
cat > /etc/pen/galera.cfg <<EOF
server 0 address 10.42.1.171 port 3306
server 2 address 10.42.1.172 port 3306
server 3 address 10.42.1.173 port 3306
server 4 address 10.42.1.174 port 3306
debug 1
EOF

cat > /lib/systemd/system/pen-galera.service <<EOF
[Unit]
Description=Pen load balancer (galera)
After=network.target

[Service]
User=pen
Type=forking
PIDFile=/var/run/pen/galera.pid
ExecStart=/usr/bin/pen -u pen -C /var/run/pen/galera.ctl -F /etc/pen/galera.cfg -p /var/run/pen/galera.pid 127.0.0.1:3306
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

systemctl restart pen-galera
systemctl enable pen-galera.service

# Set up mysql
# In database, to store grafana data:
CREATE DATABASE grafana CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'grafana'@'10.42.1.111' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON grafana.* TO 'grafana'@'10.42.1.111';
FLUSH PRIVILEGES;

# Create database for grafana to poll mysql:
CREATE USER 'grafanaReader'@'10.42.1.111' IDENTIFIED BY 'password';
GRANT SELECT ON grafana.* TO 'grafanaReader'@'10.42.1.111';
FLUSH PRIVILEGES;