travis-chef 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/script/travis-chef +64 -1
- data/travis-chef.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05da5e96a87a53845ffe425ad609efc05649c4d8
|
4
|
+
data.tar.gz: c6fffae51168da325c73e2cb72d2b574512d725c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f3c6737fedceb1a9fb235bc200aa8f80f513e86291c3c8495b1a3f48909dd2ecfced3e21f761e3602d3dd8cf1b9012e0e383a829a259fee4d20cf71c2e5c888
|
7
|
+
data.tar.gz: 85bf198ad3e0e68fa91aa38b28c90cdc27ad2c48bb34c2dc074c9b0c2e193d33d8c011c8579848ad9275e67d0adff6d9837ff689f616e74f192d20bf1e485249
|
data/script/travis-chef
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
|
3
3
|
set -x
|
4
4
|
|
5
|
-
if [ -
|
5
|
+
if [ -n "${CHEF_ENVIRONMENTS}" ]; then
|
6
|
+
environments=( ${CHEF_ENVIRONMENTS} )
|
7
|
+
elif [ -f "${PWD%/}/.travis-envs" ]; then
|
6
8
|
environments=( $(<"${PWD%/}/.travis-envs") )
|
7
9
|
fi
|
8
10
|
|
@@ -24,6 +26,14 @@ load_ssh_key() {
|
|
24
26
|
}
|
25
27
|
|
26
28
|
setup_chef() {
|
29
|
+
if [ -n "${CHEF_ENVIRONMENTS}" ]; then
|
30
|
+
setup_chef_from_env
|
31
|
+
else
|
32
|
+
setup_chef_from_files
|
33
|
+
fi
|
34
|
+
}
|
35
|
+
|
36
|
+
setup_chef_from_files() {
|
27
37
|
# Install chef gem to get knife
|
28
38
|
gem install chef -v '~> 11.0' --no-rdoc --no-ri || exit $?
|
29
39
|
|
@@ -79,6 +89,59 @@ EOF
|
|
79
89
|
decrypt ${CHEF_VALIDATOR} "${PWD%/}/.chef/${CHEF_ORG}-validator.pem" || exit $?
|
80
90
|
}
|
81
91
|
|
92
|
+
setup_chef_from_env() {
|
93
|
+
# Install chef gem to get knife
|
94
|
+
gem install chef -v '~> 11.0' --no-rdoc --no-ri || exit $?
|
95
|
+
|
96
|
+
# Redefine CHEF_SERVER if possible using environment
|
97
|
+
if [ -n "${environment}" ]; then
|
98
|
+
chef_server_variable_name="CHEF_SERVER_${environment^^}"
|
99
|
+
if [ -n "${!chef_server_variable_name}" ]; then
|
100
|
+
CHEF_SERVER="${!chef_server_variable_name}"
|
101
|
+
fi
|
102
|
+
fi
|
103
|
+
|
104
|
+
# Determine Chef organization name from CHEF_SERVER
|
105
|
+
CHEF_ORG="${CHEF_SERVER##*/}"
|
106
|
+
|
107
|
+
# Redefine CHEF_USER if possible using environment
|
108
|
+
if [ -n "${environment}" ]; then
|
109
|
+
chef_user_variable_name="CHEF_USER_${environment^^}"
|
110
|
+
if [ -n "${!chef_user_variable_name}" ]; then
|
111
|
+
CHEF_USER="${!chef_user_variable_name}"
|
112
|
+
fi
|
113
|
+
fi
|
114
|
+
|
115
|
+
# Redefine CHEF_CLIENT if possible using environment
|
116
|
+
if [ -n "${environment}" ]; then
|
117
|
+
chef_client_variable_name="CHEF_CLIENT_${environment^^}"
|
118
|
+
if [ -n "${!chef_client_variable_name}" ]; then
|
119
|
+
CHEF_CLIENT="${!chef_client_variable_name}"
|
120
|
+
fi
|
121
|
+
fi
|
122
|
+
|
123
|
+
# Write client key
|
124
|
+
if [ -n "${CHEF_CLIENT}" ]; then
|
125
|
+
echo -e "${CHEF_CLIENT}" >"${PWD%/}/.chef/${CHEF_USER}.pem"
|
126
|
+
fi
|
127
|
+
|
128
|
+
# Configure knife
|
129
|
+
[ -d "${PWD%/}/.chef" ] && rm -rf "${PWD%/}/.chef"
|
130
|
+
mkdir "${PWD%/}/.chef" || exit $?
|
131
|
+
cat >"${PWD%/}/.chef/knife.rb" <<EOF
|
132
|
+
current_dir = File.dirname(__FILE__)
|
133
|
+
|
134
|
+
log_level :info
|
135
|
+
log_location STDOUT
|
136
|
+
|
137
|
+
node_name '${CHEF_USER}'
|
138
|
+
client_key "#{current_dir}/${CHEF_USER}.pem"
|
139
|
+
chef_server_url '${CHEF_SERVER}'
|
140
|
+
|
141
|
+
knife[:ssh_user] = '${CHEF_USER}'
|
142
|
+
EOF
|
143
|
+
}
|
144
|
+
|
82
145
|
if [ -n "${1}" -a "${1}" = "prepare" ]; then
|
83
146
|
load_ssh_key
|
84
147
|
exit $?
|
data/travis-chef.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: travis-chef
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Kasa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Script to automate Chef deployments from Travis
|
14
14
|
email:
|
@@ -48,7 +48,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
48
48
|
version: '0'
|
49
49
|
requirements: []
|
50
50
|
rubyforge_project:
|
51
|
-
rubygems_version: 2.
|
51
|
+
rubygems_version: 2.4.8
|
52
52
|
signing_key:
|
53
53
|
specification_version: 4
|
54
54
|
summary: Travis/Chef deployment script
|