hammer_cli 0.0.18 → 0.1.0
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/README.md +3 -314
- data/bin/hammer +45 -6
- data/config/cli.modules.d/module_config_template.yml +4 -0
- data/config/cli_config.template.yml +9 -11
- data/doc/developer_docs.md +1 -0
- data/doc/i18n.md +85 -0
- data/doc/installation.md +321 -0
- data/lib/hammer_cli.rb +3 -0
- data/lib/hammer_cli/abstract.rb +15 -24
- data/lib/hammer_cli/apipie/command.rb +13 -7
- data/lib/hammer_cli/apipie/options.rb +14 -16
- data/lib/hammer_cli/apipie/read_command.rb +6 -1
- data/lib/hammer_cli/apipie/resource.rb +48 -58
- data/lib/hammer_cli/apipie/write_command.rb +5 -1
- data/lib/hammer_cli/completer.rb +77 -21
- data/lib/hammer_cli/connection.rb +44 -0
- data/lib/hammer_cli/exception_handler.rb +15 -4
- data/lib/hammer_cli/exceptions.rb +6 -0
- data/lib/hammer_cli/i18n.rb +95 -0
- data/lib/hammer_cli/logger.rb +3 -3
- data/lib/hammer_cli/main.rb +12 -11
- data/lib/hammer_cli/modules.rb +19 -6
- data/lib/hammer_cli/options/normalizers.rb +42 -7
- data/lib/hammer_cli/options/option_definition.rb +2 -2
- data/lib/hammer_cli/output.rb +1 -0
- data/lib/hammer_cli/output/adapter/abstract.rb +20 -0
- data/lib/hammer_cli/output/adapter/base.rb +49 -78
- data/lib/hammer_cli/output/adapter/csv.rb +5 -5
- data/lib/hammer_cli/output/adapter/table.rb +41 -10
- data/lib/hammer_cli/output/dsl.rb +1 -1
- data/lib/hammer_cli/output/field_filter.rb +21 -0
- data/lib/hammer_cli/output/fields.rb +44 -78
- data/lib/hammer_cli/output/formatters.rb +38 -0
- data/lib/hammer_cli/settings.rb +28 -6
- data/lib/hammer_cli/shell.rb +58 -57
- data/lib/hammer_cli/utils.rb +14 -0
- data/lib/hammer_cli/validator.rb +5 -5
- data/lib/hammer_cli/version.rb +1 -1
- data/locale/Makefile +64 -0
- data/locale/hammer-cli.pot +203 -0
- data/locale/zanata.xml +29 -0
- data/test/unit/apipie/command_test.rb +42 -25
- data/test/unit/apipie/read_command_test.rb +10 -7
- data/test/unit/apipie/write_command_test.rb +9 -8
- data/test/unit/completer_test.rb +206 -21
- data/test/unit/connection_test.rb +68 -0
- data/test/unit/fixtures/apipie/architectures.json +153 -0
- data/test/unit/fixtures/apipie/documented.json +79 -0
- data/test/unit/fixtures/json_input/invalid.json +12 -0
- data/test/unit/fixtures/json_input/valid.json +12 -0
- data/test/unit/history_test.rb +71 -0
- data/test/unit/main_test.rb +9 -0
- data/test/unit/modules_test.rb +22 -6
- data/test/unit/options/field_filter_test.rb +27 -0
- data/test/unit/options/normalizers_test.rb +53 -0
- data/test/unit/output/adapter/base_test.rb +162 -10
- data/test/unit/output/adapter/csv_test.rb +16 -3
- data/test/unit/output/adapter/table_test.rb +97 -13
- data/test/unit/output/dsl_test.rb +74 -6
- data/test/unit/output/fields_test.rb +93 -62
- data/test/unit/output/formatters_test.rb +47 -0
- data/test/unit/settings_test.rb +35 -4
- data/test/unit/utils_test.rb +45 -0
- metadata +85 -4
- data/test/unit/apipie/fake_api.rb +0 -101
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83ee93e64de515a960acf80a4ed0452d700fb5cd
|
4
|
+
data.tar.gz: fb55752f1a394e1261a342bf3d8e9a68ed98386f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 772c2a0849cde3c134977dfe3856cd4e6deb4b3cdbaa0568eb7656e64c9a9d722b11ba00a61a65a99e75978fd377e069f2aa9b4adb9e1fe7f8535dc4cc1edb19
|
7
|
+
data.tar.gz: dff56f16e56b6632e1e82e5327f1c0ae7fd39e218ce6aaaf5d0d4c30643b12dc3864e83fd9279066e504f0c740de9b666fe103498eeaf086caf11633ecf62bba
|
data/README.md
CHANGED
@@ -8,326 +8,15 @@ Hammer-cli provides just the core functionality. The core is extensible using pl
|
|
8
8
|
This architecture allows for easy customization according to your application. Nearly any Ruby script can be turned into a Hammer command, so the possibilities are endless.
|
9
9
|
|
10
10
|
Available plugins are currently:
|
11
|
-
- [hammer-cli-foreman](https://github.com/theforeman/hammer-cli-foreman)
|
12
|
-
- [hammer-cli-katello
|
11
|
+
- [hammer-cli-foreman](https://github.com/theforeman/hammer-cli-foreman) - commands corresponding to Foreman API
|
12
|
+
- [hammer-cli-katello](https://github.com/theforeman/hammer-cli-katello) - commands for managing Katello
|
13
13
|
|
14
14
|
You also can easily add custom commands for your specific use, such as bulk actions or admin tasks.
|
15
15
|
|
16
16
|
|
17
17
|
Installation
|
18
18
|
------------
|
19
|
-
|
20
|
-
Hammer CLI is packaged for the following RPM based distributions:
|
21
|
-
|
22
|
-
- RHEL and derivatives, version 6
|
23
|
-
- Fedora 18, 19
|
24
|
-
- Debian Wheezy, Squeezy
|
25
|
-
- Ubuntu Precise
|
26
|
-
|
27
|
-
### Installation from RPMs
|
28
|
-
|
29
|
-
#### Step 1: setup yum repositories
|
30
|
-
|
31
|
-
For Foreman 1.3 stable the hammer packages are part of your installation repo and you can skip this step.
|
32
|
-
|
33
|
-
You can choose from stable or nightly repo. Nightly has more recent version of hammer packages, but it was subject to less testing so there is a higher risk of issues.
|
34
|
-
Add the Foreman yum repository to your yum repo files. For Fedora installations replace 'el6' with 'f18' or 'f19' as appropriate.
|
35
|
-
|
36
|
-
|
37
|
-
Using stable
|
38
|
-
|
39
|
-
```bash
|
40
|
-
yum -y install http://yum.theforeman.org/releases/1.3/el6/x86_64/foreman-release.rpm
|
41
|
-
```
|
42
|
-
|
43
|
-
or nightly
|
44
|
-
|
45
|
-
```bash
|
46
|
-
cat > /etc/yum.repos.d/foreman.repo << EOF
|
47
|
-
[foreman]
|
48
|
-
name=Foreman Nightly
|
49
|
-
baseurl=http://yum.theforeman.org/nightly/el6/x86_64
|
50
|
-
gpgcheck=0
|
51
|
-
enabled=1
|
52
|
-
EOF
|
53
|
-
```
|
54
|
-
|
55
|
-
On RHEL systems you will also have to add [EPEL repository](https://fedoraproject.org/wiki/EPEL) as it contains some of the required dependencies.
|
56
|
-
|
57
|
-
|
58
|
-
#### Step 2: install hammer core
|
59
|
-
|
60
|
-
```bash
|
61
|
-
yum install rubygem-hammer_cli
|
62
|
-
```
|
63
|
-
|
64
|
-
#### Step 3: install plugins
|
65
|
-
Currently, there are two plugins, both available as rpm packages.
|
66
|
-
|
67
|
-
- commands for managing foreman
|
68
|
-
|
69
|
-
```bash
|
70
|
-
yum install rubygem-hammer_cli_foreman
|
71
|
-
```
|
72
|
-
|
73
|
-
- 1:1 bridge to [katello cli](https://github.com/Katello/katello)
|
74
|
-
|
75
|
-
```bash
|
76
|
-
yum install rubygem-hammer_cli_katello_bridge
|
77
|
-
```
|
78
|
-
|
79
|
-
To install any other hammer plugin just make sure the appropriate gem is installed and follow with the configuration.
|
80
|
-
|
81
|
-
|
82
|
-
### Installation from DEBs
|
83
|
-
|
84
|
-
#### Step 1: setup apt repositories
|
85
|
-
|
86
|
-
For Foreman 1.3 stable the hammer packages are part of your installation repo and you can skip this step.
|
87
|
-
|
88
|
-
You can choose from stable or nightly repo. Nightly has more recent version of hammer packages, but it was subject to less testing so there is a highr risk of issues.
|
89
|
-
|
90
|
-
Choose stable (don't forget to replace "squeeze" with version name of your system)
|
91
|
-
|
92
|
-
```bash
|
93
|
-
echo "deb http://deb.theforeman.org/ squeeze stable" > /etc/apt/sources.list.d/foreman.list
|
94
|
-
```
|
95
|
-
|
96
|
-
or nightly
|
97
|
-
|
98
|
-
```bash
|
99
|
-
echo "deb http://deb.theforeman.org/ squeeze nightly" > /etc/apt/sources.list.d/foreman.list
|
100
|
-
```
|
101
|
-
|
102
|
-
and update the keys
|
103
|
-
|
104
|
-
```bash
|
105
|
-
wget -q http://deb.theforeman.org/foreman.asc -O- | apt-key add -
|
106
|
-
```
|
107
|
-
|
108
|
-
#### Step 2: install hammer core
|
109
|
-
|
110
|
-
```bash
|
111
|
-
apt-get update && apt-get install ruby-hammer-cli
|
112
|
-
```
|
113
|
-
|
114
|
-
#### Step 3: install plugins
|
115
|
-
Currently, there are two plugins, both available as deb packages.
|
116
|
-
|
117
|
-
- commands for managing foreman
|
118
|
-
|
119
|
-
```bash
|
120
|
-
$ apt-get install ruby-hammer-cli-foreman
|
121
|
-
```
|
122
|
-
|
123
|
-
- 1:1 bridge to [katello cli](https://github.com/Katello/katello)
|
124
|
-
|
125
|
-
```bash
|
126
|
-
$ apt-get install ruby-hammer-cli-katello-bridge
|
127
|
-
```
|
128
|
-
|
129
|
-
To install any other hammer plugin just make sure the appropriate gem is installed and follow with the configuration.
|
130
|
-
|
131
|
-
|
132
|
-
### Installation from GEMs
|
133
|
-
|
134
|
-
Make sure you have ```gem``` command installed on your system
|
135
|
-
|
136
|
-
#### Step 1: install hammer core
|
137
|
-
|
138
|
-
```bash
|
139
|
-
$ gem install hammer_cli
|
140
|
-
```
|
141
|
-
|
142
|
-
#### Step 2: install plugins
|
143
|
-
Currently, there are two plugins, both available on rubygems.org
|
144
|
-
|
145
|
-
- commands for managing foreman
|
146
|
-
|
147
|
-
```bash
|
148
|
-
$ gem install hammer_cli_foreman
|
149
|
-
```
|
150
|
-
|
151
|
-
- 1:1 bridge to [katello cli](https://github.com/Katello/katello)
|
152
|
-
|
153
|
-
```bash
|
154
|
-
$ gem install hammer_cli_katello_bridge
|
155
|
-
```
|
156
|
-
|
157
|
-
To install any other hammer plugin just install the appropriate gem and follow with the configuration.
|
158
|
-
|
159
|
-
|
160
|
-
### Installation from SOURCE
|
161
|
-
|
162
|
-
If you can install hammer from git checkouts, you will just need ```rake``` installed on your system.
|
163
|
-
Clone and install CLI core
|
164
|
-
|
165
|
-
```bash
|
166
|
-
$ git clone https://github.com/theforeman/hammer-cli.git
|
167
|
-
$ cd hammer-cli
|
168
|
-
$ rake install
|
169
|
-
$ cd ..
|
170
|
-
```
|
171
|
-
|
172
|
-
clone plugin with foreman commands
|
173
|
-
|
174
|
-
```bash
|
175
|
-
$ git clone https://github.com/theforeman/hammer-cli-foreman.git
|
176
|
-
$ cd hammer-cli-foreman
|
177
|
-
$ rake install
|
178
|
-
$ cd ..
|
179
|
-
```
|
180
|
-
|
181
|
-
and optionally other plugins via any of the methods mentioned above.
|
182
|
-
|
183
|
-
|
184
|
-
Configuration
|
185
|
-
-------------
|
186
|
-
|
187
|
-
### Format and locations
|
188
|
-
|
189
|
-
Configuration is set based on the following files, loaded in this order:
|
190
|
-
|
191
|
-
- ```/etc/foreman/cli_config.yml```.
|
192
|
-
- ```~/.foreman/cli_config.yml```
|
193
|
-
- ```./config/cli_config.yml``` (config dir in CWD)
|
194
|
-
- custom location specified on command line - ```-c CONF_FILE_PATH```
|
195
|
-
|
196
|
-
Later files have precedence if they redefines the same option.
|
197
|
-
|
198
|
-
Hammer uses yaml formatting for its configuration. The config file template is contained in the hammer_cli gem
|
199
|
-
|
200
|
-
```bash
|
201
|
-
gem contents hammer_cli|grep cli_config.template.yml
|
202
|
-
```
|
203
|
-
and can be copied to one of the locations above and changed as needed. The packaged version of hammer copies the template to /etc for you.
|
204
|
-
|
205
|
-
|
206
|
-
### Plugins
|
207
|
-
|
208
|
-
Plugins are disabled by default. You have to edit the config file and enable them manually under ```modules``` option, as can be seen in the sample config below.
|
209
|
-
|
210
|
-
Plugin specific configuration should be nested under plugin's name.
|
211
|
-
|
212
|
-
### Options
|
213
|
-
|
214
|
-
- ```:log_dir: <path>``` - directory where the logs are stored. The default is ```/var/log/foreman/``` and the log file is named ```hammer.log```
|
215
|
-
- ```:log_level: <level>``` - logging level. One of ```debug```, ```info```, ```warning```, ```error```, ```fatal```
|
216
|
-
- ```:log_owner: <owner>``` - logfile owner
|
217
|
-
- ```:log_group: <group>``` - logfile group
|
218
|
-
- ```:log_size: 1048576``` - size in bytes, when exceeded the log rotates. Default is 1MB
|
219
|
-
- ```:watch_plain: false``` - turn on/off syntax highlighting of data being logged in debug mode
|
220
|
-
|
221
|
-
### Sample config
|
222
|
-
|
223
|
-
```yaml
|
224
|
-
:modules:
|
225
|
-
- hammer_cli_foreman
|
226
|
-
- hammer_cli_katello_bridge
|
227
|
-
|
228
|
-
:foreman:
|
229
|
-
:host: 'https://localhost/'
|
230
|
-
:username: 'admin'
|
231
|
-
:password: 'changeme'
|
232
|
-
|
233
|
-
:katello_bridge:
|
234
|
-
:cli_description: '/home/mbacovsk/work/theforeman/hammer-cli-katello-bridge/katello.json'
|
235
|
-
|
236
|
-
|
237
|
-
:log_dir: '/var/log/foreman/'
|
238
|
-
:log_level: 'debug'
|
239
|
-
```
|
240
|
-
|
241
|
-
Use the hammer
|
242
|
-
--------------
|
243
|
-
|
244
|
-
Confirm your setup by running ```$ hammer -h``` and check that the desired commands are listed.
|
245
|
-
|
246
|
-
```
|
247
|
-
$ hammer -h
|
248
|
-
Usage:
|
249
|
-
hammer [OPTIONS] SUBCOMMAND [ARG] ...
|
250
|
-
|
251
|
-
Parameters:
|
252
|
-
SUBCOMMAND subcommand
|
253
|
-
[ARG] ... subcommand arguments
|
254
|
-
|
255
|
-
Subcommands:
|
256
|
-
architecture Manipulate Foreman's architectures.
|
257
|
-
global_parameter Manipulate Foreman's global parameters.
|
258
|
-
compute_resource Manipulate Foreman's compute resources.
|
259
|
-
domain Manipulate Foreman's domains.
|
260
|
-
fact Search Foreman's facts.
|
261
|
-
report Browse and read reports.
|
262
|
-
puppet_class Browse and read reports.
|
263
|
-
host Manipulate Foreman's hosts.
|
264
|
-
hostgroup Manipulate Foreman's hostgroups.
|
265
|
-
location Manipulate Foreman's locations.
|
266
|
-
medium Manipulate Foreman's installation media.
|
267
|
-
model Manipulate Foreman's hardware models.
|
268
|
-
os Manipulate Foreman's operating system.
|
269
|
-
organization Manipulate Foreman's organizations.
|
270
|
-
partition_table Manipulate Foreman's partition tables.
|
271
|
-
proxy Manipulate Foreman's smart proxies.
|
272
|
-
subnet Manipulate Foreman's subnets.
|
273
|
-
template Manipulate Foreman's config templates.
|
274
|
-
about status of the katello server and its subcomponents
|
275
|
-
activation_key activation key specific actions in the katello server
|
276
|
-
admin various administrative actions
|
277
|
-
changeset changeset specific actions in the katello server
|
278
|
-
client client specific actions in the katello server
|
279
|
-
content content namespace command
|
280
|
-
distribution repo specific actions in the katello server
|
281
|
-
distributor distributor specific actions in the katello server
|
282
|
-
environment environment specific actions in the katello server
|
283
|
-
errata errata specific actions in the katello server
|
284
|
-
gpg_key GPG key specific actions in the katello server
|
285
|
-
node node specific actions in the katello server
|
286
|
-
org organization specific actions in the katello server
|
287
|
-
package package specific actions in the katello server
|
288
|
-
package_group package group specific actions in the katello server
|
289
|
-
permission permission specific actions in the katello server
|
290
|
-
ping get the status of the katello server
|
291
|
-
product product specific actions in the katello server
|
292
|
-
provider provider specific actions in the katello server
|
293
|
-
puppet_module puppet module specific actions in the katello server
|
294
|
-
repo repo specific actions in the katello server
|
295
|
-
shell run the cli as a shell
|
296
|
-
sync_plan synchronization plan specific actions in the katello server
|
297
|
-
system system specific actions in the katello server
|
298
|
-
system_group system group specific actions in the katello server
|
299
|
-
task commands for retrieving task information
|
300
|
-
user user specific actions in the katello server
|
301
|
-
user_role user role specific actions in the katello server
|
302
|
-
version get the version of the katello server
|
303
|
-
|
304
|
-
Options:
|
305
|
-
-v, --verbose be verbose
|
306
|
-
-c, --config CFG_FILE path to custom config file
|
307
|
-
-u, --username USERNAME username to access the remote system
|
308
|
-
-p, --password PASSWORD password to access the remote system
|
309
|
-
--version show version
|
310
|
-
--show-ids Show ids of associated resources
|
311
|
-
--csv Output as CSV (same as --adapter=csv)
|
312
|
-
--output ADAPTER Set output format. One of [base, table, silent, csv]
|
313
|
-
--csv-separator SEPARATOR Character to separate the values
|
314
|
-
-P, --ask-pass Ask for password
|
315
|
-
--autocomplete LINE Get list of possible endings
|
316
|
-
-h, --help print help
|
317
|
-
```
|
318
|
-
|
319
|
-
|
320
|
-
And you are Done. Your hammer client is configured and ready to use.
|
321
|
-
|
322
|
-
|
323
|
-
Autocompletion
|
324
|
-
--------------
|
325
|
-
|
326
|
-
It is necessary to copy the hammer_cli_complete script to the bash_completion.d directory.
|
327
|
-
|
328
|
-
$ sudo cp hammer-cli/hammer_cli_complete /etc/bash_completion.d/
|
329
|
-
|
330
|
-
Then after starting a new shell the completion should work.
|
19
|
+
We build rpms, debs and gems. Alternatively you can install hammer form a git checkout. See our [installation instructions](doc/installation.md#installation) for details.
|
331
20
|
|
332
21
|
|
333
22
|
Further reading
|
data/bin/hammer
CHANGED
@@ -5,10 +5,21 @@ require 'clamp'
|
|
5
5
|
require 'highline'
|
6
6
|
HighLine.color_scheme = HighLine::SampleColorScheme.new
|
7
7
|
|
8
|
+
# load i18n to get translations
|
9
|
+
require 'hammer_cli/i18n'
|
10
|
+
|
11
|
+
require 'hammer_cli/options/normalizers'
|
8
12
|
# create fake command instance to use some global args before we start
|
9
13
|
class PreParser < Clamp::Command
|
10
|
-
option ["-v", "--verbose"], :flag, "be verbose"
|
11
|
-
option ["-
|
14
|
+
option ["-v", "--verbose"], :flag, _("be verbose")
|
15
|
+
option ["-d", "--debug"], :flag, _("show debugging output")
|
16
|
+
option ["-c", "--config"], "CFG_FILE", _("path to custom config file")
|
17
|
+
option ["-u", "--username"], "USERNAME", _("username to access the remote system")
|
18
|
+
option ["-p", "--password"], "PASSWORD", _("password to access the remote system")
|
19
|
+
option ["--interactive"], "INTERACTIVE", _("Explicitly turn interactive mode on/off") do |value|
|
20
|
+
bool_normalizer = HammerCLI::Options::Normalizers::Bool.new
|
21
|
+
bool_normalizer.format(value)
|
22
|
+
end
|
12
23
|
end
|
13
24
|
|
14
25
|
preparser = PreParser.new File.basename($0), {}
|
@@ -20,26 +31,48 @@ end
|
|
20
31
|
# load user's settings
|
21
32
|
require 'hammer_cli/settings'
|
22
33
|
|
23
|
-
|
34
|
+
CFG_PATH_LEGACY = ['~/.foreman/', '/etc/foreman/', "#{::RbConfig::CONFIG['sysconfdir']}/foreman/"].uniq
|
35
|
+
HammerCLI::Settings.load_from_paths CFG_PATH_LEGACY
|
36
|
+
if HammerCLI::Settings.path_history.empty?
|
37
|
+
CFG_PATH = ['~/.hammer/', '/etc/hammer/', "#{::RbConfig::CONFIG['sysconfdir']}/hammer/"].uniq
|
38
|
+
HammerCLI::Settings.load_from_paths CFG_PATH
|
39
|
+
else
|
40
|
+
warn _("Warning: Legacy config paths detected, move the following files")
|
41
|
+
HammerCLI::Settings.path_history.each { |p| warn " #{p} -> #{p.gsub('hammer.modules.d', 'cli.modules.d').gsub('foreman/', 'hammer/')}"}
|
42
|
+
end
|
43
|
+
|
44
|
+
CFG_PATH_LOCAL = ['./config/']
|
24
45
|
|
25
46
|
if preparser.config
|
26
|
-
|
47
|
+
CFG_PATH_LOCAL.unshift preparser.config
|
27
48
|
end
|
28
49
|
|
29
|
-
HammerCLI::Settings.
|
50
|
+
HammerCLI::Settings.load_from_paths CFG_PATH_LOCAL
|
51
|
+
|
52
|
+
# store username and password in settings
|
53
|
+
HammerCLI::Settings.load({
|
54
|
+
:_params => {
|
55
|
+
:username => preparser.username,
|
56
|
+
:password => preparser.password,
|
57
|
+
:interactive => preparser.interactive,
|
58
|
+
:verbose => preparser.verbose? || preparser.debug?
|
59
|
+
}})
|
30
60
|
|
31
61
|
# setup logging
|
32
62
|
require 'hammer_cli/logger'
|
33
63
|
logger = Logging.logger['Init']
|
34
64
|
|
35
|
-
if preparser.verbose?
|
65
|
+
if preparser.verbose? || preparser.debug?
|
36
66
|
root_logger = Logging.logger.root
|
37
67
|
root_logger.appenders = root_logger.appenders << ::Logging.appenders.stderr(:layout => HammerCLI::Logger::COLOR_LAYOUT)
|
68
|
+
root_logger.level = 'debug' if preparser.debug?
|
38
69
|
end
|
39
70
|
|
40
71
|
require 'hammer_cli/version'
|
41
72
|
hammer_version = HammerCLI.version.to_s
|
42
73
|
logger.info "Initialization of Hammer CLI (#{hammer_version}) has started..."
|
74
|
+
logger.debug "Running at ruby #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
|
75
|
+
|
43
76
|
|
44
77
|
# log which config was loaded (now when we have logging)
|
45
78
|
HammerCLI::Settings.path_history.each do |path|
|
@@ -58,4 +91,10 @@ rescue => e
|
|
58
91
|
exit HammerCLI::EX_SOFTWARE
|
59
92
|
end
|
60
93
|
|
94
|
+
# log information about locale
|
95
|
+
logger.debug "Using locale '#{HammerCLI::I18n.locale}'"
|
96
|
+
HammerCLI::I18n.domains.each do |domain|
|
97
|
+
logger.debug "'#{domain.type}' files for locale domain '#{domain.domain_name}' loaded from '#{File.expand_path(domain.locale_dir)}'"
|
98
|
+
end
|
99
|
+
|
61
100
|
exit HammerCLI::MainCommand.run || HammerCLI::EX_OK
|
@@ -1,17 +1,15 @@
|
|
1
|
-
:
|
2
|
-
|
3
|
-
|
1
|
+
:ui:
|
2
|
+
:interactive: true
|
3
|
+
:per_page: 20
|
4
|
+
:history_file: '~/.hammer/history'
|
4
5
|
|
5
|
-
:foreman:
|
6
|
-
:host: 'https://localhost/'
|
7
|
-
:username: 'admin'
|
8
|
-
:password: 'changeme'
|
9
6
|
|
10
|
-
#
|
7
|
+
# enable/disable color output of logger in Clamp commands
|
11
8
|
:watch_plain: false
|
12
9
|
|
13
|
-
|
14
|
-
#:log_dir: '/var/log/foreman'
|
15
|
-
:log_dir: '~/.foreman/log'
|
10
|
+
:log_dir: '~/.hammer/log'
|
16
11
|
:log_level: 'error'
|
17
12
|
:log_api_calls: false
|
13
|
+
#:log_owner: 'foreman'
|
14
|
+
#:log_group: 'foreman'
|
15
|
+
#:log_size: 5 #MB
|