Modernized version of swarmprom packaged as a nothelm chart.
- Traefik set up and running with an attachable network
traefik-public
(configurable name) - A recent version of docker-stack-deploy https://github.com/neuroforgede/docker-stack-deploy for automatic secret rotation
- A recent version of nothelm.py https://github.com/neuroforgede/nothelm.py/ for the deployment templating
Setup your workdirectory with the following commands (please verify all the variables in the yaml files this generates):
export BASE_DIR="."
export WORKDIR="$(pwd)/test"
export CHART_DIR="../chart"
export START_PWD=$(pwd)
mkdir -p $WORKDIR/secrets
echo "exec nothelm run deploy --project-dir $CHART_DIR -f values.yaml -f secrets/secret_values.yaml" > $WORKDIR/setup.sh
cat > $WORKDIR/secrets/secret_values.yaml << EOF
promswarm_prometheus_teams_webhook_url: "http://some.teams.webhook.url"
promswarm_alertmanager_admin_password: "s3cr3t"
promswarm_prometheus_admin_password: "moars3cr3t"
promswarm_grafana_admin_password: "holys3cr3tyay"
EOF
cat > $WORKDIR/values.yaml << EOF
stack_name: monitoring
promswarm_monitoring_base_domain: some.base.domain
promswarm_traefik_public_network: 'traefik-public'
promswarm_monitoring_net_network_mtu: '1350'
promswarm_external_monitors_network_mtu: '1350'
promswarm_prometheus_volume_config: {}
promswarm_grafana_volume_config: {}
promswarm_alertmanager_volume_config: {}
EOF
After you have verified everything looks good, you can deploy by running
cd $WORKDIR
bash setup.sh