The ancilliary tools package comprises three separate tools:
- admintool
- metrics
- monitoring
Each of the tools is (at the moment) designed to run in an isolated environment - so on a separate docker host.
Please create three separate VMs with Docker, one for each of the tools.
Install and configure Docker. Please follow https://docs.docker.com/engine/installation/
On each of the VMs, start by cloning the git repository:
git clone https://github.com/REANNZ/etcbd
Modify the localdev_admintool.env file with deployment parameters - override at least the following values:
- SITE_PUBLIC_HOSTNAME: the hostname this site will be visible as
- LOGSTASH_HOST: the hostname the metrics tools will be visible as
- ADMIN_EMAIL: where to send notifications
- EMAIL_* settings to match the local environment (server name, port, TLS and authentication settings)
- SERVER_EMAIL: outgoing email address to use in notifications
- ALL PASSWORDS (administrator, db connection and postgres master password)
- GOOGLE_KEY/GOOGLE_SECRET - provide Key + corresponding secret for an API credential (see below on configuring this one)
- Configure other prameters to match the deployment (REALM_, TIME_ZONE, MAP_CENTER_)
- This includes the optional import of existing data (default imports REANNZ data)
This file is used by both the containers to populate runtime configuration and by a one-off script to populate the database.
Use Docker-compose to build and start the containers:
export COMPOSE_FILE=docker-compose-admintool.yml COMPOSE_PROJECT_NAME=admintool
docker-compose build && docker-compose up -d
Run the setup script:
./admintool-setup.sh localdev_admintool.env
Optional: Install proper SSL certificates into /var/lib/docker/host-volumes/admintool-apache-certs/server.{crt,key}
Modify the localdev_icinga.env file with deployment parameters - override at least the following values:
- SITE_PUBLIC_HOSTNAME: the hostname this site will be visible as
- ICINGA_ADMIN_EMAIL: where to send notifications
- EMAIL_* settings to match the local environment (server name, port, TLS and authentication settings)
- ALL PASSWORDS (administrator, db connection and postgres master password)
This file is used by both the containers to populate runtime configuration and by a one-off script to populate the database.
Use Docker-compose to build and start the containers:
export COMPOSE_FILE=docker-compose-icinga.yml COMPOSE_PROJECT_NAME=icinga
docker-compose build && docker-compose up -d
Run the setup script:
./icinga-setup.sh localdev_icinga.env
Optional: Install proper SSL certificates into /var/lib/docker/host-volumes/icinga-apache-certs/server.{crt,key}
Use Docker-compose to build and start the containers:
export COMPOSE_FILE=docker-compose-elk.yml COMPOSE_PROJECT_NAME=elk
docker-compose build && docker-compose up -d
To get the Google credential (key+secret) to use in the admintool, do the following in the Google Developer Console:
Create a new project
From the main menu, select the API Manager
Select Credentials
Configure the OAuth consent screen with how the application shouldb be described to the user (at least, set Product name)
Create a new Credential as an OAuth Client ID for a web application
Add the Authorized redirect URI for your application - the form is (substitute your real hostname here):
https://admin.example.org/accounts/complete/google-oauth2/After saving, this gives you the Client ID and secret (use these as the GOOGLE_KEY and GOOGLE_SECRET)