Skip to content

Simple CLI tool that spawns linked docker containers with Hawkular and some monitored stuff.

License

Notifications You must be signed in to change notification settings

hawkular/hawkinit

Repository files navigation

Hawkinit

Simple CLI tool that spawns linked docker containers with Hawkular and some monitored stuff.

Build Status npm version

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 @hawkular/hawkinit -g

How to update

$ sudo npm update @hawkular/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

cli demo

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

Make sure you've installed the hawkinit as @hawkular/hawkinit because historically, there was also hawkinit npm package.

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.