Hawkinit
Simple CLI tool that spawns linked docker containers with Hawkular and some monitored stuff.
About
This simple CLI tool helps you with starting the hawkular-services together with some monitored WildFly servers. Internally, it uses the docker-compose tool and exposes the service on localhost:8080
.
How to install
$ sudo npm install hawkinit -g
How to update
$ sudo npm update hawkinit -g
Usage
$ hawkinit
Choose the versions of hawkular-services
, Cassandra and instrumented WildFly server you want to start, number of containers or if you want to run WF in standalone mode or in a managed domain. For the domain mode couple of scenarios are prepared. Once every question is answered, you should start seeing the logs from particular containers. Congrats, your hawkular-service is up and running on http://localhost:8080
.
For more help:
$ hawkinit -h
Advanced Mode
By default hawkinit asks only limited amount of questions and assumes some default values for some advanced settings.
To activate the advanced mode, simply run the hawkinit with -f
or --full
flag.
These are the features that are available in the advanced mode:
- custom version of the cassandra container
- multiple cassandra nodes
- multiple host controllers
- various scenarios for domain mode
- SSL support
- creating custom user in the hawkular-services container
- overriding the immutable flag
- and more will come
Requirements
The hawkinit
assumes the docker
and docker-compose
to be installed, Docker version should be higher than 1.12.0
and also the user that runs the command should be in the docker
group.
sudo usermod -a -G docker `whoami`
Add yourself to that group for current session (or logout and log in).
newgrp docker
Make sure the docker deamon is up and running.
sudo systemctl enable docker --now
Make sure the /tmp/opt/data
is created and owned by user with UID = 1000
.
Running following command as non-root (as user with UID=1000
) should work.
mkdir -p /tmp/opt/data/ && sudo chown -R $UID:$UID /tmp/opt/data/
Fedora
On Fedora 24 the Docker that is in the default yum repo is obsolete, so remove it and install the docker-engine package from the yum.dockerproject.org repo.
sudo dnf remove docker
and follow these instructions https://docs.docker.com/engine/installation/linux/fedora/
Debian
sudo apt-get install docker.io docker-compose
Troubleshooting
If you run the hawkinit, it says something like:
Later, you can find your hawkular-services listening on http://localhost:8080
Running 'docker-compose up --force-recreate' in directory: /tmp/tmp-11573k3ujXFLACh9z
If you navigate to /tmp/tmp-11573k3ujXFLACh9z
, you can run docker-dompose up
to start it again. This is not a standard use-case, though. Any other docker-compose
command works just fine. So for instance you may want to see only the Cassandra logs by docker-compose logs -f myCassandra
or inspecting the Hawkular Services container by docker-compose exec hawkular /bin/bash
, etc. Also, nothing protects you from editing the docker-compose.yml
file that was created in that tmp directory.