motoko 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8863037ff395360857c200013862b108d7a101ee7a939911ee30f3d24d7fcd08
4
- data.tar.gz: 4aefa7a9fd5a9ed4573f39c15a823f486d876d4cd7fa6b21f6e39fc3ef91e67b
3
+ metadata.gz: b655f710fff5c1442d40c441172a62aed7ab6431e094fa6b107e2808e4b19d81
4
+ data.tar.gz: 3e3c338bf5e18961f12e88531d7b2a110fbd5a961ec205592c250e9f40a3abc1
5
5
  SHA512:
6
- metadata.gz: 9ba38d76902c83f1edbfcb344668610fe5d57aa842e5e64ac93daddc9cb9031a9bfdf763931f07ee5c8d70e4e1cc40bc4533bbead7ef65800f450f98db5bdd01
7
- data.tar.gz: 1be988997f339b9fada99d3118d643e752deedc509089665871069d5be6691aa0a5ca885002eb26ad9cc667149838dbc9d7aeb72f834b165ed4e9b5b04401272
6
+ metadata.gz: aafac19ff2e1602fc0efc2ad2137065493d39d1320044afc84a349a9366c642dda8eedb0b93395cb6f016a81fab59fcf2e08f996c09845eace00d73c72727dce
7
+ data.tar.gz: 108d41d8043d3cc3a92cf2f46b666f19a011e305075f6674c67613b45fde176f8bd07e065fa0caed8a640ceb281b3dd2f3fc3df2189d3071b7b35cfc70059405
data/CHANGELOG.md ADDED
@@ -0,0 +1,18 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.1.0](https://github.com/smortex/motoko/tree/1.1.0) (2021-07-26)
9
+
10
+ [Full Changelog](https://github.com/smortex/motoko/compare/v1.0.0...1.1.0)
11
+
12
+ **Implemented enhancements:**
13
+
14
+ - Allow shortcuts to replace the list of columns [\#2](https://github.com/smortex/motoko/pull/2) ([smortex](https://github.com/smortex))
15
+
16
+
17
+
18
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/README.md CHANGED
@@ -2,20 +2,50 @@
2
2
 
3
3
  A gem to get inventories of nodes in a Puppet / Choria deployment.
4
4
 
5
+ <!-- vim-markdown-toc GFM -->
6
+
7
+ * [Installation](#installation)
8
+ * [Usage](#usage)
9
+ * [Basic usage](#basic-usage)
10
+ * [Which nodes are currently up and running](#which-nodes-are-currently-up-and-running)
11
+ * [Which nodes are known to puppet](#which-nodes-are-known-to-puppet)
12
+ * [Accessing facts](#accessing-facts)
13
+ * [Add more facts to the output](#add-more-facts-to-the-output)
14
+ * [Filtering](#filtering)
15
+ * [Which nodes have burned in Strasbourg](#which-nodes-have-burned-in-strasbourg)
16
+ * [Configuration](#configuration)
17
+ * [Columns](#columns)
18
+ * [Column Specifications](#column-specifications)
19
+ * [Shortcuts](#shortcuts)
20
+ * [Resolvers](#resolvers)
21
+ * [Extending Motoko with custom resolvers](#extending-motoko-with-custom-resolvers)
22
+ * [Formatters](#formatters)
23
+ * [Extending Motoko with custom formatters](#extending-motoko-with-custom-formatters)
24
+ * [Development](#development)
25
+ * [Contributing](#contributing)
26
+ * [License](#license)
27
+ * [Code of Conduct](#code-of-conduct)
28
+
29
+ <!-- vim-markdown-toc -->
30
+
5
31
  ## Installation
6
32
 
7
- Take care to install this tool in the Puppet envrionment. If you are using the AIO package, you can install with:
33
+ Take care to install this tool in the Puppet environment. If you are using the AIO package, you can install with:
8
34
 
9
35
  ```
10
- /opt/puppetlabs/puppet/bin/gem install --bindir /opt/puppetlabs/bin puppetdb_cli
36
+ /opt/puppetlabs/puppet/bin/gem install --bindir /opt/puppetlabs/bin motoko
11
37
  ```
12
38
 
13
39
  Alternatively, you can install using Puppet:
14
40
 
15
41
  ```puppet
16
42
  package { 'motoko':
17
- ensure => installed,
18
- provider => 'puppet_gem',
43
+ ensure => 'installed',
44
+ provider => 'puppet_gem',
45
+ install_options => [
46
+ '--bindir',
47
+ '/opt/puppetlabs/bin',
48
+ ],
19
49
  }
20
50
  ```
21
51
 
@@ -58,7 +88,7 @@ The usual filtering knobs are available for the choria inventory script. The pu
58
88
 
59
89
  #### Which nodes have burned in Strasbourg
60
90
 
61
- The initial work on querying PuppetDB is due to the fact that you can't ask Choria for information about nodes which are gone. On March 9th 2021, [OVH lost (part of) it's Strasboug datacenter](https://twitter.com/olesovhcom/status/1369478732247932929?ref_src=twsrc%5Etfw) and the frustration of not being able to conviniently build a list of affected nodes and customers was a pain. with motoko we can now just query PuppetDB:
91
+ The initial work on querying PuppetDB is due to the fact that you can't ask Choria for information about nodes which are gone. On March 9th 2021, [OVH lost (part of) it's Strasboug datacenter](https://twitter.com/olesovhcom/status/1369478732247932929?ref_src=twsrc%5Etfw) and the frustration of not being able to conveniently build a list of affected nodes and customers was a pain. With Motoko we can now just query PuppetDB:
62
92
 
63
93
  ```sh-session
64
94
  romain@zappy ~ % pdb-inventory -F datacenter=/sbg/
@@ -123,10 +153,20 @@ shortcuts:
123
153
 
124
154
  This add a new command switch `--dc` equivalent to `--add-columns datacenter,server_rack,server_id --with-fact virtual=physical`.
125
155
 
156
+ The following settings are available when defining shortcuts:
157
+
158
+ | Setting | Description |
159
+ |---------------|-------------|
160
+ | `description` | Description of the shortcut (visible in `--help`) |
161
+ | `columns` | List of columns to display |
162
+ | `add_columns` | Extra columns to append of the default list |
163
+ | `with_fact` | Extra filtering of the results based on facts |
164
+ | `with_class` | Extra filtering of the results based on configured classes |
165
+
126
166
  ## Resolvers
127
167
 
128
- | Resolver name | Desciption |
129
- |-------------------|------------|
168
+ | Resolver name | Description |
169
+ |-------------------|-------------|
130
170
  | `cpu` | Aggregate information about the CPU |
131
171
  | `fact` | Gather the value of the fact `fact` (default to the column name if unset) |
132
172
  | `identity` | Gather the node identity |
@@ -135,12 +175,12 @@ This add a new command switch `--dc` equivalent to `--add-columns datacenter,ser
135
175
 
136
176
  ### Extending Motoko with custom resolvers
137
177
 
138
- Custom resolvers can be droped in the `<motoko-config-directory>/resolvers/` directory. They are automatically loaded on startup.
178
+ Custom resolvers can be dropped in the `<motoko-config-directory>/resolvers/` directory. They are automatically loaded on startup.
139
179
 
140
180
  ## Formatters
141
181
 
142
- | Formatter name | Desciption |
143
- |-----------------|------------|
182
+ | Formatter name | Description |
183
+ |-----------------|-------------|
144
184
  | `boolean` | Display a checkmark for things that evaluate to `true` |
145
185
  | `datetime` | Display a date and time in the local time zone |
146
186
  | `datetime_ago` | Display a date and time as a duration |
@@ -150,7 +190,7 @@ Custom resolvers can be droped in the `<motoko-config-directory>/resolvers/` dir
150
190
 
151
191
  ### Extending Motoko with custom formatters
152
192
 
153
- Custom formatters can be droped in the `<motoko-config-directory>/formatters/` directory. They are automatically loaded on startup.
193
+ Custom formatters can be dropped in the `<motoko-config-directory>/formatters/` directory. They are automatically loaded on startup.
154
194
 
155
195
  ## Development
156
196
 
data/Rakefile CHANGED
@@ -1,8 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
4
 
5
+ require 'github_changelog_generator/task'
6
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
7
+ config.future_release = Motoko::VERSION
8
+ config.header = <<~HEADER.chomp
9
+ # Changelog
10
+
11
+ All notable changes to this project will be documented in this file.
12
+
13
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
14
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
15
+ HEADER
16
+ config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog ignore]
17
+ config.user = 'smortex'
18
+ config.project = 'motoko'
19
+ config.since_tag = 'v1.0.0'
20
+ end
21
+
22
+ require 'rspec/core/rake_task'
6
23
  RSpec::Core::RakeTask.new(:spec)
7
24
 
8
25
  task default: :spec
@@ -67,7 +67,11 @@ module Motoko
67
67
 
68
68
  formatter.shortcuts.each do |key, value|
69
69
  parser.on("--#{key}", value.delete('description')) do
70
- formatter.columns.push(*value.delete('add_columns'))
70
+ if value.key?('columns')
71
+ formatter.columns.replace(value.delete('columns'))
72
+ else
73
+ formatter.columns.push(*value.delete('add_columns'))
74
+ end
71
75
  local_options[:with_class] ||= []
72
76
  local_options[:with_class].push(*value.delete('with_class'))
73
77
  local_options[:with_fact] ||= []
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Motoko
4
- VERSION = '1.0.0'
4
+ VERSION = '1.1.0'
5
5
  end
data/motoko.gemspec CHANGED
@@ -31,4 +31,6 @@ Gem::Specification.new do |spec|
31
31
  spec.add_dependency 'choria-mcorpc-support'
32
32
  spec.add_dependency 'skittlize', '~> 1.2'
33
33
  spec.add_dependency 'terminal-table'
34
+
35
+ spec.add_development_dependency 'github_changelog_generator'
34
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: motoko
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Romain Tartière
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-06 00:00:00.000000000 Z
11
+ date: 2021-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: choria-mcorpc-support
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: github_changelog_generator
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description:
56
70
  email:
57
71
  - romain@blogreen.org
@@ -67,6 +81,7 @@ files:
67
81
  - ".rubocop.yml"
68
82
  - ".simplecov"
69
83
  - ".travis.yml"
84
+ - CHANGELOG.md
70
85
  - CODE_OF_CONDUCT.md
71
86
  - Gemfile
72
87
  - LICENSE.txt