Skip to content

Commit

Permalink
template jdbc connection using info from data bag
Browse files Browse the repository at this point in the history
refactor esb recipe w/ crazy "_modular_recipe"'s
  • Loading branch information
bryanwb committed Mar 16, 2012
1 parent 2ff6f07 commit 3de8a99
Show file tree
Hide file tree
Showing 11 changed files with 77 additions and 106 deletions.
3 changes: 2 additions & 1 deletion jboss/attributes/default.rb
Expand Up @@ -5,9 +5,10 @@
default['jboss']['url'] = "http://download.jboss.org/jbossas/7.1/jboss-as-7.1.0.Final/jboss-as-7.1.0.Final.tar.gz"
default['jboss']['checksum'] = "3a8ee8e3ab10003a5330e27d87e5ba38b90fbf8d6132055af4dd9a288d459bb7"
default['jboss']['user'] = "jboss"
default['jboss']['application'] = 'jboss'

default['jboss']['jdbc']['user'] = 'sa'
default['jboss']['jdbc']['passwd_data_bag'] = 'secret/jboss_passwd'
default['jboss']['jdbc']['passwd'] = ''
default['jboss']['jdbc']['schema'] = ''
default['jboss']['jdbc']['host'] = 'localhost'
default['jboss']['jdbc']['transaction_isolation'] = nil
Expand Down
2 changes: 1 addition & 1 deletion jboss/metadata.rb
Expand Up @@ -3,7 +3,7 @@
license "Apache v2.0"
description "Installs/Configures jboss"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
version "0.0.5"
version "0.0.6"

depends "java"

Expand Down
23 changes: 23 additions & 0 deletions jboss/recipes/_jdbc_driver.rb
@@ -0,0 +1,23 @@
#
# Cookbook Name:: jboss
# Recipe:: _jdbc_driver
# Author:: Bryan W. Berry (<bryan.berry@gmail.com>)
# Copyright 2012, Food and Agriculture Organization of the United Nations
#
# license Apache v2.0
#


if node['jboss']['jdbc']['driver']['name'] != 'h2'
maven node['jboss']['jdbc']['driver']['name'] do
groupId node['jboss']['jdbc']['driver']['name']
version node['jboss']['jdbc']['driver']['version']
dest "#{node['jboss']['home']}/modules/org/#{node['jboss']['jdbc']['driver']['name']}/main"
owner node['jboss']['user']
end
# jboss needs module.xml that matches the jdbc driver
template "#{node['jboss']['home']}/modules/org/#{node['jboss']['jdbc']['driver']['name']}/main/module.xml" do
source "#{node['jboss']['jdbc']['driver']['name']}.module.xml.erb"
owner node['jboss']['user']
end
end
17 changes: 17 additions & 0 deletions jboss/recipes/_jdbc_password.rb
@@ -0,0 +1,17 @@
#
# Cookbook Name:: jboss
# Recipe:: _jdbc_password
# Author:: Bryan W. Berry (<bryan.berry@gmail.com>)
# Copyright 2012, Food and Agriculture Organization of the United Nations
#
# license Apache v2.0
#

app_name = node['jboss']['application']
app_env = node['app_env']

# get password
bag, item = node[:passwd_data_bag].split('/')
db = Chef::EncryptedDataBagItem.load(bag, item)
node['jboss']['jdbc']['password'] = db[app_name][app_env]['jdbc']

16 changes: 16 additions & 0 deletions jboss/recipes/_load_params.rb
@@ -0,0 +1,16 @@
#
# Cookbook Name:: jboss
# Recipe:: _load_app_params
# Author:: Bryan W. Berry (<bryan.berry@gmail.com>)
# Copyright 2012, Food and Agriculture Organization of the United Nations
#
# license Apache v2.0
#

app_name = node['jboss']['application']

db = data_bag_item("apps", app_name)[node['app_env']]
node['jboss']['java_opts'] = db['java_opts']
node['jboss']['jdbc']['schema'] = db['jdbc']['schema']
node['jboss']['jdbc']['user'] = db['jdbc']['user']
node['jboss']['jdbc']['host'] = db['jdbc']['host']
31 changes: 7 additions & 24 deletions jboss/recipes/esb.rb
@@ -1,21 +1,19 @@
#
# Cookbook Name:: jboss
# Recipe:: esb
#
# Author:: Bryan W. Berry (<bryan.berry@gmail.com>)
# Copyright 2012, Food and Agriculture Organization of the United Nations
#
# license Apache v2.0
#

include_recipe "java::oracle"
include_recipe "maven"

jboss_home = node['jboss']['home']
jboss_user = node['jboss']['user']

bag, item = node['jboss']['jdbc']['passwd_data_bag'].split('/')
password = Chef::EncryptedDataBagItem.load(bag, item)['passwd']

include_recipe "java::oracle"
include_recipe "maven"
include_recipe "jboss::_jdbc_password"
include_recipe "jboss::_load_params"

# create user
user node['jboss']['user']
Expand Down Expand Up @@ -47,26 +45,11 @@
group "root"
end

# get the jdbc driver
if node['jboss']['jdbc']['driver']['name'] != 'h2'
maven node['jboss']['jdbc']['driver']['name'] do
groupId node['jboss']['jdbc']['driver']['name']
version node['jboss']['jdbc']['driver']['version']
dest "#{jboss_home}/modules/org/#{node['jboss']['jdbc']['driver']['name']}/main"
owner jboss_user
end
# jboss needs module.xml that matches the jdbc driver
template "#{jboss_home}/modules/org/#{node['jboss']['jdbc']['driver']['name']}/main/module.xml" do
source "#{node['jboss']['jdbc']['driver']['name']}.module.xml.erb"
owner jboss_user
end
end


# put the jdbc driver in place
include_recipe "jboss::_jdbc_driver"

template "#{jboss_home}/standalone/configuration/standalone.xml" do
source 'standalone.xml.erb'
variables( :password => password )
owner jboss_user
end

Expand Down
5 changes: 5 additions & 0 deletions jboss/templates/default/default.erb
Expand Up @@ -15,6 +15,11 @@ JBOSS_HOME=<%= node['jboss']['home'] %>
JBOSS_PIDFILE=/var/run/<%= node['jboss']['user'] %>.pid

JBOSS_CONFIG=standalone.xml

<% if node['jboss']['java_opts'] -%>
export JAVA_OPTS="$JAVA_OPTS <%= node['jboss']['java_opts'].join(' ') %>"
<% end -%>

# Location to keep the console log
#
JBOSS_CONSOLE_LOG=<%= node['jboss']['home'] %>/standalone/log/console.log
74 changes: 0 additions & 74 deletions jboss/templates/default/init_el.erb

This file was deleted.

8 changes: 4 additions & 4 deletions jboss/templates/default/standalone.xml.erb
Expand Up @@ -93,20 +93,20 @@
<subsystem xmlns="urn:jboss:domain:configadmin:1.0"/>
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource
jndi-name="java:jboss/datasources/<%= node['jboss']['jdbc']['schema'].capitalize %>DS"
<datasource
jndi-name="java:jboss/datasources/<%= node['jboss']['jdbc']['schema'].capitalize %>DS"
pool-name="<%= node['jboss']['jdbc']['schema'].capitalize %>Pool" enabled="true" use-java-context="true">
<connection-url>jdbc:<%=
node['jboss']['jdbc']['driver']['name'] +
'://' + node['jboss']['jdbc']['host'] + '/' + node['jboss']['jdbc']['schema'] %></connection-url>
<driver><%= node['jboss']['jdbc']['driver']['name'] %></driver>
<% if
tr = node['jboss']['jdbc']['transaction_isolation'] -%>
tr = node['jboss']['jdbc']['transaction_isolation'] -%>
<transaction-isolation><%= tr %></transaction-isolation>
<% end -%>
<security>
<user-name><%= node['jboss']['jdbc']['user'] %></user-name>
<password><%= @password %></password>
<password><%= node['jboss']['jdbc']['password'] %></password>
</security>
</datasource>
<drivers>
Expand Down
2 changes: 1 addition & 1 deletion postgresql9/recipes/server_redhat.rb
Expand Up @@ -69,7 +69,7 @@
action :enable
end

template "/var/lib/pgsql/.bash_profile" do
template "/home/postgres/.bash_profile" do
source "profile.erb"
owner "root"
group "root"
Expand Down
2 changes: 1 addition & 1 deletion postgresql9/templates/default/profile.erb
@@ -1,5 +1,5 @@
[ -f /etc/sysconfig/pgsql/postgresql ] && source /etc/sysconfig/pgsql/postgresql
export PATH=$PATH:/usr/pgsql-9.0/bin/

export PGDATA
export PGDATA=<%= node[:postgresql][:dir] %>

0 comments on commit 3de8a99

Please sign in to comment.