promswarm
Modernized version of swarmprom packaged as a nothelm chart.
How to use this repository
Requirements
- 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
Install in your Swarm
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


