Skip to main content

Setting up Hanlon Development Environment (Update)

This is an update to my previous post Setting up Hanlon Development Environment. This update reflects the latest script changes incorporated

Pre-requisites

Operating System: Support any standard Linux distribution (Ubuntu LTS 14.04)
Database: MongoDB
Web Server: Trinidad
Dev Tools: JRuby development enviroment with necessary gems
Others: git, make, openjdk7, etc.,

Setting up

Update your linux to get all the latest distributions

apt-get install updates

1. Install pre-requisites

apt-get install -y git make mongodb openjdk-7-jre-headless g++ curl

 

2. Install ruby environment with your preferred Ruby environment manager like rvm or rbenv (I prefer using rvm) and setup jruby as your default environment

\curl -sSL https://get.rvm.io | bash -s stable --ruby=jruby
source /usr/local/rvm/scripts/rvm
rvm use jruby –default

 

3. Setup Hanlon working directory (My preferred location ~/wspace/hanlon) and clone hanon git repository

cd
mkdir wspace
git clone
https://github.com/csc/Hanlon.git hanlon

 

4. Install / update ruby gems

cd hanlon
bundle install
gem install bundler trinidad

Hanlon now comes with scripted support both for trinidad and puma. (I prefer running trinidad)

 

5. Run hanlon initialization script

./hanlon_init.rb

This script creates config file and necessary directory structure to run hanlon.

 

6. Edit hanlon client and server configuration files

Now hanlon client and server configuration files are segregated to reflect right configuration parameter. Files created by hanlon_init (samples included below) are suitable for most of the practical purpose. Do edit them (just in case) before starting the server

~/wspace/hanlon/cli/config/hanlon_client.config

# This file is the main configuration for ProjectHanlon
#
# -- this was system generated --
#
#
--- !ruby/object:ProjectHanlon::Config::Client
noun: config
admin_port: 8025
api_port: 8026
api_version: v1
base_path: /hanlon/api
hanlon_log_level: Logger::ERROR
hanlon_server: 192.168.190.11
http_timeout: 60

~/wspace/hanlon/cli/config/hanlon_server.config

#
# This file is the main configuration for ProjectHanlon
#
# -- this was system generated --
#
#
--- !ruby/object:ProjectHanlon::Config::Server
noun: config
admin_port: 8025
api_port: 8026
api_version: v1
base_path: /hanlon/api
daemon_min_cycle_time: 30
force_mk_uuid: ''
hanlon_log_level: Logger::ERROR
hanlon_server: 192.168.190.11
hnl_mk_boot_debug_level: Logger::ERROR
hnl_mk_boot_kernel_args: ''
image_path: /home/user/wspace/hanlon/image
ipmi_password: ''
ipmi_username: ''
ipmi_utility: ''
mk_checkin_interval: 60
mk_checkin_skew: 5
mk_gem_mirror:
http://localhost:2158/gem-mirror
mk_gemlist_uri: /gems/gem.list
mk_kmod_install_list_uri: /kmod-install-list
mk_log_level: Logger::ERROR
mk_tce_install_list_uri: /tce-install-list
mk_tce_mirror:
http://localhost:2157/tinycorelinux
node_expire_timeout: 300
persist_dbname: project_hanlon
persist_host: 127.0.0.1
persist_mode: :mongo
persist_password: ''
persist_port: 27017
persist_timeout: 10
persist_username: ''
register_timeout: 120
sui_allow_access: 'true'
sui_mount_path: /docs

 

7. Run trinidad server

cd web
./run-trinidad.sh

Comments

Popular posts from this blog

Just Buzz... Where is AI?

Speaking to Recode’s Kara Swisher and MSNBC’s Ari Melber, Pichai said AI is “one of the most important things that humanity is working on. It’s more profound than, I don’t know, electricity or fire,” adding that people learned to harness fire for the benefits of humanity, but also needed to overcome its downsides, too. Pichai also said that AI could be used to help solve climate change issues, or to cure cancer. We are seeing some exciting things in the industry, Samsung’s massive 8K TVs apparently use AI to upscale lower resolution images for the big screen. Sony has created a new version of the Aibo robot dog, which this time promises more artificial intelligence. Travelmate’s robot suitcase will use AI to drive around and follow its owner wherever they go.  Kohler has invented Numi, a toilet that has Amazon’s Alexa voice assistant built in etc., But despite all this, it does leave me wondering: is artificial intelligence really what we should be calling this revolution?...

Effective Pattern Identification Model for DDoS Attack Detection

Abstract: Distributed Denial of Service (DDoS) attacks are one of the major challenges to Internet community. Attackers send legitimate packets with often changing information from various compromised systems at random and at a very high frequency, rendering the target non-responsive for normal traffic. DDoS attacks are difficult to detect with traditional detection methods and standard Intrusion Detection Systems (IDS). Standard IDS tries to analyze the network traffic or system logs trying to identify emerging patterns on the network traffic. But due to randomness of the package origins it is difficult segregate true, false positive and normal traffic. This paper proposes a model based on Artificial Neural Networks to identify anomalies and detect DDoS patterns. In the proposed system sets of known characteristic features, which can separate attacks from normal traffic, are fed to the system to train the Artificial Neural Networks (ANN). This self learn system improves with each n...

Evolving App Paradigm

Over last two decades we have seen enterprise application landscape changing very rapidly with rapidly evolving technology stacks and changing industry dynamics. It is time for another paradigm shift in terms of how we conceptualize, design, develop, test and maintain our applications to meet volatile business requirements. Some of the prime features of this evolving paradigm Flexible business user centric infrastructure (than IT centric) IT as a service model with emphasis on user self service. Flexible development and deployment infrastructure which is readily available over cloud (no setup time, no high budgets and initial spending) Develop application using modern development languages which help improve the developer Usage of more dynamic meta programming languages Reusable assets, code generators, ... Build once and run anywhere across platforms and devices End-to-End application lifecycle integration through ALM and DevOps Improve communication and collaborat...