octocatalog-diff 1.5.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.version +1 -1
- data/README.md +4 -4
- data/doc/CHANGELOG.md +50 -0
- data/doc/advanced-compare-file-text.md +79 -0
- data/doc/advanced-environments.md +5 -5
- data/doc/advanced-ignores.md +10 -0
- data/doc/advanced-puppet-master.md +25 -7
- data/doc/configuration-puppet.md +19 -19
- data/doc/configuration-puppetdb.md +8 -0
- data/doc/configuration.md +31 -31
- data/doc/dev/api/v1/calls/catalog-diff.md +6 -2
- data/doc/dev/api/v1/objects/diff.md +3 -3
- data/doc/dev/integration-tests.md +2 -2
- data/doc/dev/releasing.md +41 -41
- data/doc/dev/run-from-branch.md +23 -23
- data/doc/installation.md +14 -14
- data/doc/limitations.md +9 -9
- data/doc/optionsref.md +166 -11
- data/doc/requirements.md +6 -2
- data/lib/octocatalog-diff/catalog-diff/differ.rb +32 -5
- data/lib/octocatalog-diff/catalog-diff/filter/compilation_dir.rb +29 -25
- data/lib/octocatalog-diff/catalog-util/command.rb +25 -3
- data/lib/octocatalog-diff/catalog-util/fileresources.rb +39 -16
- data/lib/octocatalog-diff/catalog.rb +22 -4
- data/lib/octocatalog-diff/catalog/computed.rb +2 -1
- data/lib/octocatalog-diff/catalog/puppetmaster.rb +43 -5
- data/lib/octocatalog-diff/cli.rb +38 -6
- data/lib/octocatalog-diff/cli/options.rb +36 -1
- data/lib/octocatalog-diff/cli/options/compare_file_text.rb +18 -0
- data/lib/octocatalog-diff/cli/options/hostname.rb +13 -2
- data/lib/octocatalog-diff/cli/options/puppet_master_api_version.rb +2 -2
- data/lib/octocatalog-diff/cli/options/puppet_master_token.rb +20 -0
- data/lib/octocatalog-diff/cli/options/puppet_master_token_file.rb +35 -0
- data/lib/octocatalog-diff/cli/options/puppet_master_update_catalog.rb +20 -0
- data/lib/octocatalog-diff/cli/options/puppet_master_update_facts.rb +20 -0
- data/lib/octocatalog-diff/cli/options/puppetdb_package_inventory.rb +18 -0
- data/lib/octocatalog-diff/cli/options/use_lcs.rb +14 -0
- data/lib/octocatalog-diff/facts/json.rb +13 -2
- data/lib/octocatalog-diff/facts/puppetdb.rb +43 -2
- data/lib/octocatalog-diff/util/parallel.rb +20 -16
- data/lib/octocatalog-diff/util/util.rb +2 -0
- data/scripts/env/env.sh +1 -1
- data/scripts/git-extract/git-extract.sh +1 -1
- data/scripts/puppet/puppet.sh +1 -1
- metadata +36 -30
@@ -58,6 +58,6 @@ end
|
|
58
58
|
|
59
59
|
## Hints for writing an integration test
|
60
60
|
|
61
|
-
|
61
|
+
1. If your integration test deals only with the calculation or display of differences, and not catalog compilation, and you are compiling catalogs multiple times, prefer `spec_catalog_old` and `spec_catalog_new` to pass in pre-compiled catalogs. This will make the test run faster.
|
62
62
|
|
63
|
-
|
63
|
+
1. It's a good idea to check the exit code in a test of its own, and then `pending` any subsequent tests if that exit code doesn't match. This way only one test, and not all the tests, will fail if the catalog compilation doesn't work.
|
data/doc/dev/releasing.md
CHANGED
@@ -9,7 +9,7 @@ The project maintainers are responsible for bumping the version number, regenera
|
|
9
9
|
To test the new version of `octocatalog-diff` in the GitHub Puppet repository, check out `github/puppet` and:
|
10
10
|
|
11
11
|
- Start a new branch based off master
|
12
|
-
- Run `script/update-octocatalog-diff
|
12
|
+
- Run `script/update-octocatalog-diff <ocd_branch_name>`
|
13
13
|
- Confirm and commit the result
|
14
14
|
- Make sure all CI jobs pass
|
15
15
|
- Run the `puppet-catalog-diff` CI job and make sure it passes and shows expected results
|
@@ -18,65 +18,65 @@ To test the new version of `octocatalog-diff` in the GitHub Puppet repository, c
|
|
18
18
|
|
19
19
|
This section is useful when releasing a new version based on one PR submitted by a contributor. Following this workflow is important so that the contributor gets appropriate credit in the revision history for his or her work.
|
20
20
|
|
21
|
-
|
22
|
-
|
21
|
+
1. In your local checkout, start a new branch based off master.
|
22
|
+
1. Add the contributor's repository as a remote. For example:
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
```
|
25
|
+
git remote add octocat https://github.com/octocat/octocatalog-diff.git
|
26
|
+
```
|
27
27
|
|
28
|
-
|
28
|
+
1. Merge in the contributor's branch into your own. For example:
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
```
|
31
|
+
git merge octocat/some-branch
|
32
|
+
```
|
33
33
|
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
1. Update `.version` and `doc/CHANGELOG.md` appropriately. In CHANGELOG you should link to the PR submitted by the contributor (not the PR you're creating now).
|
35
|
+
1. Commit your changes to `.version` and `doc/CHANGELOG.md`.
|
36
|
+
1. If necessary, auto-generate the build documentation, and commit the changes to your branch.
|
37
37
|
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
```
|
39
|
+
rake doc:build
|
40
|
+
```
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
42
|
+
1. Open a Pull Request based on your branch. Confirm that the history is correct, showing the contributor's commits first, and then your commit(s) updating the version file, change log, and/or auto-generated documentation.
|
43
|
+
1. Ensure that CI tests are all passing.
|
44
|
+
1. Ensure that you've performed "local testing" within GitHub (typically, ~1 day) to confirm the changes.
|
45
|
+
1. Merge your PR and delete your branch.
|
46
|
+
1. Confirm that the contributor's PR now appears as merged, and any associated issues have been closed.
|
47
47
|
|
48
48
|
## Merging multiple PRs
|
49
49
|
|
50
50
|
If multiple PRs will constitute a release, it's generally easier to merge each such PR individually, and then create a separate PR afterwards to update the necessary files.
|
51
51
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
1. Merge all constituent PRs and ensure that any associated issues have been closed.
|
53
|
+
1. Create your own branch based off master.
|
54
|
+
1. Update `.version` and `doc/CHANGELOG.md` appropriately. In CHANGELOG you should link to the PR submitted by the contributor (not the PR you're creating now).
|
55
|
+
1. Commit your changes to `.version` and `doc/CHANGELOG.md`.
|
56
|
+
1. If necessary, auto-generate the build documentation, and commit the changes to your branch.
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
```
|
59
|
+
rake doc:build
|
60
|
+
```
|
61
61
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
62
|
+
1. Open a Pull Request based on your branch.
|
63
|
+
1. Ensure that CI tests are all passing.
|
64
|
+
1. Ensure that you've performed "local testing" within GitHub (typically, ~1 day) to confirm the changes.
|
65
|
+
1. Merge your PR and delete your branch.
|
66
66
|
|
67
67
|
## Releasing
|
68
68
|
|
69
69
|
Generally, a new release will correspond to a merge to master of one or more Pull Requests.
|
70
70
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
71
|
+
1. Ensure that all changes associated with the release have been merged to master.
|
72
|
+
- Merge all Pull Requests associated with release, including the version number bump, change log update, etc.
|
73
|
+
- If necessary (for significant changes), complete a Pull Request to update the top-level README file.
|
74
|
+
1. Ensure the the master branch is checked out on your system.
|
75
|
+
1. Run the release procedure:
|
76
76
|
|
77
|
-
|
78
|
-
|
79
|
-
|
77
|
+
```
|
78
|
+
rake gem:release
|
79
|
+
```
|
80
80
|
|
81
81
|
This rake task handles the following:
|
82
82
|
|
data/doc/dev/run-from-branch.md
CHANGED
@@ -8,38 +8,38 @@ This document is intended for people who may not be familiar with git, GitHub, a
|
|
8
8
|
|
9
9
|
1. Determine the branch name. If there's an open Pull Request, you can see the branch name near the top of the page.
|
10
10
|
|
11
|
-
|
11
|
+
![Pull Request branch](/doc/images/pull-request-identify-branch.png)
|
12
12
|
|
13
|
-
|
13
|
+
1. Clone the `octocatalog-diff` repository in your home directory. From the command line:
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
```
|
16
|
+
cd $HOME
|
17
|
+
git clone https://github.com/github/octocatalog-diff.git
|
18
|
+
```
|
19
19
|
|
20
|
-
|
20
|
+
1. Change into the directory created by your checkout:
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
```
|
23
|
+
cd $HOME/octocatalog-diff
|
24
|
+
```
|
25
25
|
|
26
|
-
|
26
|
+
1. Check out the branch you wish to use, filling in the branch name you determined in the first step:
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
```
|
29
|
+
git checkout BRANCH_NAME_FROM_STEP_1
|
30
|
+
```
|
31
31
|
|
32
|
-
|
32
|
+
1. Bootstrap the repository to pull in dependencies:
|
33
33
|
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
```
|
35
|
+
./script/bootstrap
|
36
|
+
```
|
37
37
|
|
38
|
-
|
38
|
+
1. Optional but recommended - run the test suite:
|
39
39
|
|
40
|
-
|
41
|
-
|
42
|
-
|
40
|
+
```
|
41
|
+
rake
|
42
|
+
```
|
43
43
|
|
44
44
|
## Use
|
45
45
|
|
@@ -53,7 +53,7 @@ We've created a wrapper script to make this easier for you.
|
|
53
53
|
cd /etc/puppetlabs/code
|
54
54
|
```
|
55
55
|
|
56
|
-
|
56
|
+
1. Run the `script/octocatalog-diff-wrapper` script from *this* checkout. For example, if you checked out `octocatalog-diff` to your home directory, you could use:
|
57
57
|
|
58
58
|
```
|
59
59
|
$HOME/octocatalog-diff/script/octocatalog-diff-wrapper <options>
|
data/doc/installation.md
CHANGED
@@ -25,26 +25,26 @@ For general information on installing gems, see: [RubyGems Basics](http://guides
|
|
25
25
|
|
26
26
|
To install from source, you'll need a git client and internet access.
|
27
27
|
|
28
|
-
|
28
|
+
1. Clone the repository
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
```
|
31
|
+
git clone https://github.com/github/octocatalog-diff.git
|
32
|
+
```
|
33
33
|
|
34
|
-
|
34
|
+
1. Bootstrap the repository (this will install dependent gems in the project)
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
36
|
+
```
|
37
|
+
cd octocatalog-diff
|
38
|
+
./script/bootstrap
|
39
|
+
```
|
40
40
|
|
41
|
-
|
41
|
+
1. RECOMMENDED: Make sure the tests pass on your machine
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
```
|
44
|
+
rake
|
45
|
+
```
|
46
46
|
|
47
|
-
|
47
|
+
Note: If tests fail on your machine with a clean checkout of the master branch, we would definitely appreciate if you would report it. Please [open an issue](https://github.com/github/octocatalog-diff/issues/new) with the output and some information about your system (e.g. OS, ruby version, etc.) to let us know.
|
48
48
|
|
49
49
|
Once the code is downloaded and bootstrapped, please proceed to [Configuration](/doc/configuration.md).
|
50
50
|
|
data/doc/limitations.md
CHANGED
@@ -2,23 +2,23 @@
|
|
2
2
|
|
3
3
|
Testing of Puppet catalogs is faster than running the agent, but you need to be careful of the following limitations:
|
4
4
|
|
5
|
-
|
5
|
+
1. Facts are not taken from a live agent run
|
6
6
|
|
7
|
-
|
7
|
+
octocatalog-diff by default uses the facts reported from a node's more recent Puppet run. If you have made changes to custom facts, catalog testing will **NOT** be an adequate test of whether your custom facts worked. (You can still use octocatalog-diff to help predict changes to nodes based on changes to facts, by overriding facts on the command line.)
|
8
8
|
|
9
|
-
|
9
|
+
1. Agents handle depenency ordering and implementation details
|
10
10
|
|
11
|
-
|
11
|
+
The catalog defines the state of the system, but it's up to the agent to determine how to bring the system to a point that matches the catalog. The agent is responsible for order of operations and actually making the change.
|
12
12
|
|
13
|
-
|
13
|
+
Two specific situations that catalog testing does **NOT** detect are:
|
14
14
|
|
15
|
-
|
15
|
+
- Dependency loops (e.g., you have made A require B, B require C, and C require A).
|
16
16
|
|
17
|
-
|
17
|
+
- Operations not supported by the provider. For example, assume that in your current Puppet manifests, you set the size of a file system to 100 GB. You change this in your new branch to 50 GB. octocatalog-diff will dutifully report this change to you. However, the agent will fail to make the change, because it is not possible to shrink a file system from 100 GB to 50 GB.
|
18
18
|
|
19
|
-
|
19
|
+
1. Changes in underlying providers may not be noticed
|
20
20
|
|
21
|
-
|
21
|
+
Consider that you are using a Puppet module that creates a file system. The current implementation of that module checks to see if *any* file system is present on the device, and creates a new file system there if no file system was present. You upgrade the module, and the new version checks to see if *the specified* file system is present on the device, and reformats the device with the specified file system (regardless of whether there was no file system or if there was an existing file system of a different type). There would be no catalog changes (hence octocatalog-diff would report nothing) because the catalog simply instructs the agent to create a file system of the specified type at the defined location. However, the actual implementation of those instructions has changed dramatically.
|
22
22
|
|
23
23
|
In general catalog testing is great for:
|
24
24
|
|
data/doc/optionsref.md
CHANGED
@@ -9,7 +9,8 @@
|
|
9
9
|
|
10
10
|
```
|
11
11
|
Usage: octocatalog-diff [command line options]
|
12
|
-
-n,
|
12
|
+
-n HOSTNAME1[,HOSTNAME2[,...]], Use PuppetDB facts from last run of a hostname or a comma separated list of multiple hostnames
|
13
|
+
--hostname
|
13
14
|
--basedir DIRNAME Use an alternate base directory (git checkout of puppet repository)
|
14
15
|
-f, --from FROM_BRANCH Branch you are coming from
|
15
16
|
-t, --to TO_BRANCH Branch you are going to
|
@@ -36,6 +37,8 @@ Usage: octocatalog-diff [command line options]
|
|
36
37
|
--fact-file STRING Override fact globally
|
37
38
|
--to-fact-file STRING Override fact for the to branch
|
38
39
|
--from-fact-file STRING Override fact for the from branch
|
40
|
+
--[no-]puppetdb-package-inventory
|
41
|
+
Include Puppet Enterprise package inventory data, if found
|
39
42
|
--save-catalog STRING Save intermediate catalogs into files globally
|
40
43
|
--to-save-catalog STRING Save intermediate catalogs into files for the to branch
|
41
44
|
--from-save-catalog STRING Save intermediate catalogs into files for the from branch
|
@@ -71,6 +74,7 @@ Usage: octocatalog-diff [command line options]
|
|
71
74
|
--from-enc PATH Path to ENC script (for the from catalog only)
|
72
75
|
--to-enc PATH Path to ENC script (for the to catalog only)
|
73
76
|
--[no-]display-detail-add Display parameters and other details for added resources
|
77
|
+
--[no-]use-lcs Use the LCS algorithm to determine differences in arrays
|
74
78
|
--[no-]truncate-details Truncate details with --display-detail-add
|
75
79
|
--no-header Do not print a header
|
76
80
|
--default-header Print default header with output
|
@@ -86,7 +90,18 @@ Usage: octocatalog-diff [command line options]
|
|
86
90
|
--puppet-binary STRING Full path to puppet binary globally
|
87
91
|
--to-puppet-binary STRING Full path to puppet binary for the to branch
|
88
92
|
--from-puppet-binary STRING Full path to puppet binary for the from branch
|
93
|
+
--puppet-master-token-file STRING
|
94
|
+
File containing PE RBAC token to authenticate to the Puppetserver API v4 globally
|
95
|
+
--to-puppet-master-token-file STRING
|
96
|
+
File containing PE RBAC token to authenticate to the Puppetserver API v4 for the to branch
|
97
|
+
--from-puppet-master-token-file STRING
|
98
|
+
File containing PE RBAC token to authenticate to the Puppetserver API v4 for the from branch
|
89
99
|
--facts-terminus STRING Facts terminus: one of yaml, facter
|
100
|
+
--puppet-master-token STRING PE RBAC token to authenticate to the Puppetserver API v4 globally
|
101
|
+
--to-puppet-master-token STRING
|
102
|
+
PE RBAC token to authenticate to the Puppetserver API v4 for the to branch
|
103
|
+
--from-puppet-master-token STRING
|
104
|
+
PE RBAC token to authenticate to the Puppetserver API v4 for the from branch
|
90
105
|
--puppetdb-token TOKEN Token to access the PuppetDB API
|
91
106
|
--puppetdb-token-file PATH Path containing token for PuppetDB API, relative or absolute
|
92
107
|
--puppetdb-url URL PuppetDB base URL
|
@@ -110,11 +125,23 @@ Usage: octocatalog-diff [command line options]
|
|
110
125
|
--to-puppet-master STRING Hostname or Hostname:PortNumber for Puppet Master for the to branch
|
111
126
|
--from-puppet-master STRING Hostname or Hostname:PortNumber for Puppet Master for the from branch
|
112
127
|
--puppet-master-api-version STRING
|
113
|
-
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x) globally
|
128
|
+
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x, 4 for Puppet Server >= 6.3.0) globally
|
114
129
|
--to-puppet-master-api-version STRING
|
115
|
-
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x) for the to branch
|
130
|
+
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x, 4 for Puppet Server >= 6.3.0) for the to branch
|
116
131
|
--from-puppet-master-api-version STRING
|
117
|
-
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x) for the from branch
|
132
|
+
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x, 4 for Puppet Server >= 6.3.0) for the from branch
|
133
|
+
--[no-]puppet-master-update-catalog
|
134
|
+
Update catalog in PuppetDB when using Puppetmaster API version 4 globally
|
135
|
+
--[no-]to-puppet-master-update-catalog
|
136
|
+
Update catalog in PuppetDB when using Puppetmaster API version 4 for the to branch
|
137
|
+
--[no-]from-puppet-master-update-catalog
|
138
|
+
Update catalog in PuppetDB when using Puppetmaster API version 4 for the from branch
|
139
|
+
--[no-]puppet-master-update-facts
|
140
|
+
Update facts in PuppetDB when using Puppetmaster API version 4 globally
|
141
|
+
--[no-]to-puppet-master-update-facts
|
142
|
+
Update facts in PuppetDB when using Puppetmaster API version 4 for the to branch
|
143
|
+
--[no-]from-puppet-master-update-facts
|
144
|
+
Update facts in PuppetDB when using Puppetmaster API version 4 for the from branch
|
118
145
|
--puppet-master-ssl-ca STRING
|
119
146
|
Full path to CA certificate that signed the Puppet Master certificate globally
|
120
147
|
--to-puppet-master-ssl-ca STRING
|
@@ -158,6 +185,8 @@ Usage: octocatalog-diff [command line options]
|
|
158
185
|
--no-ignore-tags Disable ignoring based on tags
|
159
186
|
--ignore-tags STRING1[,STRING2[,...]]
|
160
187
|
Specify tags to ignore
|
188
|
+
--compare-file-text-ignore-tags STRING1[,STRING2[,...]]
|
189
|
+
Tags that exclude a file resource from text comparison
|
161
190
|
--[no-]preserve-environments Enable or disable environment preservation
|
162
191
|
--environment STRING Environment for catalog compilation globally
|
163
192
|
--to-environment STRING Environment for catalog compilation for the to branch
|
@@ -347,6 +376,21 @@ what is most often desired. (<a href="../lib/octocatalog-diff/cli/options/compar
|
|
347
376
|
</td>
|
348
377
|
</tr>
|
349
378
|
|
379
|
+
<tr>
|
380
|
+
<td valign=top>
|
381
|
+
<pre><code>--compare-file-text-ignore-tags STRING1[,STRING2[,...]]</code></pre>
|
382
|
+
</td>
|
383
|
+
<td valign=top>
|
384
|
+
Tags that exclude a file resource from text comparison
|
385
|
+
</td>
|
386
|
+
<td valign=top>
|
387
|
+
When a file is specified with `source => 'puppet:///modules/something/foo.txt'`, remove
|
388
|
+
the 'source' attribute and populate the 'content' attribute with the text of the file.
|
389
|
+
This allows for a diff of the content, rather than a diff of the location, which is
|
390
|
+
what is most often desired. (<a href="../lib/octocatalog-diff/cli/options/compare_file_text.rb">compare_file_text.rb</a>)
|
391
|
+
</td>
|
392
|
+
</tr>
|
393
|
+
|
350
394
|
<tr>
|
351
395
|
<td valign=top>
|
352
396
|
<pre><code>--create-symlinks STRING1[,STRING2[,...]]</code></pre>
|
@@ -718,7 +762,7 @@ Puppet control repo template, the value of this should be 'hieradata', which is
|
|
718
762
|
<pre><code>--from-puppet-master-api-version STRING</code></pre>
|
719
763
|
</td>
|
720
764
|
<td valign=top>
|
721
|
-
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x) for the from branch
|
765
|
+
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x, 4 for Puppet Server >= 6.3.0) for the from branch
|
722
766
|
</td>
|
723
767
|
<td valign=top>
|
724
768
|
Specify the API version to use for the Puppet Master. This makes it possible to authenticate to a
|
@@ -780,6 +824,32 @@ This timeout is specified in seconds. (<a href="../lib/octocatalog-diff/cli/opti
|
|
780
824
|
</td>
|
781
825
|
</tr>
|
782
826
|
|
827
|
+
<tr>
|
828
|
+
<td valign=top>
|
829
|
+
<pre><code>--from-puppet-master-token STRING</code></pre>
|
830
|
+
</td>
|
831
|
+
<td valign=top>
|
832
|
+
PE RBAC token to authenticate to the Puppetserver API v4 for the from branch
|
833
|
+
</td>
|
834
|
+
<td valign=top>
|
835
|
+
Specify a PE RBAC token used to authenticate to Puppetserver for v4
|
836
|
+
catalog API calls. (<a href="../lib/octocatalog-diff/cli/options/puppet_master_token.rb">puppet_master_token.rb</a>)
|
837
|
+
</td>
|
838
|
+
</tr>
|
839
|
+
|
840
|
+
<tr>
|
841
|
+
<td valign=top>
|
842
|
+
<pre><code>--from-puppet-master-token-file STRING</code></pre>
|
843
|
+
</td>
|
844
|
+
<td valign=top>
|
845
|
+
File containing PE RBAC token to authenticate to the Puppetserver API v4 for the from branch
|
846
|
+
</td>
|
847
|
+
<td valign=top>
|
848
|
+
Specify a path to a file containing a PE RBAC token used to authenticate to the
|
849
|
+
Puppetserver for a v4 catalog API call. (<a href="../lib/octocatalog-diff/cli/options/puppet_master_token_file.rb">puppet_master_token_file.rb</a>)
|
850
|
+
</td>
|
851
|
+
</tr>
|
852
|
+
|
783
853
|
<tr>
|
784
854
|
<td valign=top>
|
785
855
|
<pre><code>--from-puppetdb
|
@@ -856,14 +926,17 @@ Puppet control repo template, the value of this should be 'hieradata', which is
|
|
856
926
|
|
857
927
|
<tr>
|
858
928
|
<td valign=top>
|
859
|
-
<pre><code>-n
|
860
|
-
--hostname
|
929
|
+
<pre><code>-n HOSTNAME1[,HOSTNAME2[,...]]
|
930
|
+
--hostname HOSTNAME1[,HOSTNAME2[,...]]</code></pre>
|
861
931
|
</td>
|
862
932
|
<td valign=top>
|
863
|
-
Use PuppetDB facts from last run of hostname
|
933
|
+
Use PuppetDB facts from last run of a hostname or a comma separated list of multiple hostnames
|
864
934
|
</td>
|
865
935
|
<td valign=top>
|
866
|
-
Set hostname, which is used to look up facts in PuppetDB, and in the header of diff display.
|
936
|
+
Set hostname, which is used to look up facts in PuppetDB, and in the header of diff display.
|
937
|
+
This option can recieve a single hostname, or a comma separated list of
|
938
|
+
multiple hostnames, which are split into an Array. Multiple hostnames do not
|
939
|
+
work with the `catalog-only` or `bootstrap-then-exit` options. (<a href="../lib/octocatalog-diff/cli/options/hostname.rb">hostname.rb</a>)
|
867
940
|
</td>
|
868
941
|
</tr>
|
869
942
|
|
@@ -1235,7 +1308,7 @@ to work correctly. (<a href="../lib/octocatalog-diff/cli/options/preserve_enviro
|
|
1235
1308
|
<pre><code>--puppet-master-api-version STRING</code></pre>
|
1236
1309
|
</td>
|
1237
1310
|
<td valign=top>
|
1238
|
-
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x) globally
|
1311
|
+
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x, 4 for Puppet Server >= 6.3.0) globally
|
1239
1312
|
</td>
|
1240
1313
|
<td valign=top>
|
1241
1314
|
Specify the API version to use for the Puppet Master. This makes it possible to authenticate to a
|
@@ -1297,6 +1370,32 @@ This timeout is specified in seconds. (<a href="../lib/octocatalog-diff/cli/opti
|
|
1297
1370
|
</td>
|
1298
1371
|
</tr>
|
1299
1372
|
|
1373
|
+
<tr>
|
1374
|
+
<td valign=top>
|
1375
|
+
<pre><code>--puppet-master-token STRING</code></pre>
|
1376
|
+
</td>
|
1377
|
+
<td valign=top>
|
1378
|
+
PE RBAC token to authenticate to the Puppetserver API v4 globally
|
1379
|
+
</td>
|
1380
|
+
<td valign=top>
|
1381
|
+
Specify a PE RBAC token used to authenticate to Puppetserver for v4
|
1382
|
+
catalog API calls. (<a href="../lib/octocatalog-diff/cli/options/puppet_master_token.rb">puppet_master_token.rb</a>)
|
1383
|
+
</td>
|
1384
|
+
</tr>
|
1385
|
+
|
1386
|
+
<tr>
|
1387
|
+
<td valign=top>
|
1388
|
+
<pre><code>--puppet-master-token-file STRING</code></pre>
|
1389
|
+
</td>
|
1390
|
+
<td valign=top>
|
1391
|
+
File containing PE RBAC token to authenticate to the Puppetserver API v4 globally
|
1392
|
+
</td>
|
1393
|
+
<td valign=top>
|
1394
|
+
Specify a path to a file containing a PE RBAC token used to authenticate to the
|
1395
|
+
Puppetserver for a v4 catalog API call. (<a href="../lib/octocatalog-diff/cli/options/puppet_master_token_file.rb">puppet_master_token_file.rb</a>)
|
1396
|
+
</td>
|
1397
|
+
</tr>
|
1398
|
+
|
1300
1399
|
<tr>
|
1301
1400
|
<td valign=top>
|
1302
1401
|
<pre><code>--puppetdb-api-version N</code></pre>
|
@@ -1310,6 +1409,23 @@ the default. (<a href="../lib/octocatalog-diff/cli/options/puppetdb_api_version.
|
|
1310
1409
|
</td>
|
1311
1410
|
</tr>
|
1312
1411
|
|
1412
|
+
<tr>
|
1413
|
+
<td valign=top>
|
1414
|
+
<pre><code>--puppetdb-package-inventory
|
1415
|
+
--no-puppetdb-package-inventory </code></pre>
|
1416
|
+
</td>
|
1417
|
+
<td valign=top>
|
1418
|
+
Include Puppet Enterprise package inventory data, if found
|
1419
|
+
</td>
|
1420
|
+
<td valign=top>
|
1421
|
+
When pulling facts from PuppetDB in a Puppet Enterprise environment, also include
|
1422
|
+
the Puppet Enterprise Package Inventory data in the fact results, if available.
|
1423
|
+
Generally you should not need to specify this, but including the package inventory
|
1424
|
+
data will produce a more accurate set of input facts for environments using
|
1425
|
+
package inventory. (<a href="../lib/octocatalog-diff/cli/options/puppetdb_package_inventory.rb">puppetdb_package_inventory.rb</a>)
|
1426
|
+
</td>
|
1427
|
+
</tr>
|
1428
|
+
|
1313
1429
|
<tr>
|
1314
1430
|
<td valign=top>
|
1315
1431
|
<pre><code>--puppetdb-ssl-ca FILENAME</code></pre>
|
@@ -1683,7 +1799,7 @@ Puppet control repo template, the value of this should be 'hieradata', which is
|
|
1683
1799
|
<pre><code>--to-puppet-master-api-version STRING</code></pre>
|
1684
1800
|
</td>
|
1685
1801
|
<td valign=top>
|
1686
|
-
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x) for the to branch
|
1802
|
+
Puppet Master API version (2 for Puppet 3.x, 3 for Puppet 4.x, 4 for Puppet Server >= 6.3.0) for the to branch
|
1687
1803
|
</td>
|
1688
1804
|
<td valign=top>
|
1689
1805
|
Specify the API version to use for the Puppet Master. This makes it possible to authenticate to a
|
@@ -1745,6 +1861,32 @@ This timeout is specified in seconds. (<a href="../lib/octocatalog-diff/cli/opti
|
|
1745
1861
|
</td>
|
1746
1862
|
</tr>
|
1747
1863
|
|
1864
|
+
<tr>
|
1865
|
+
<td valign=top>
|
1866
|
+
<pre><code>--to-puppet-master-token STRING</code></pre>
|
1867
|
+
</td>
|
1868
|
+
<td valign=top>
|
1869
|
+
PE RBAC token to authenticate to the Puppetserver API v4 for the to branch
|
1870
|
+
</td>
|
1871
|
+
<td valign=top>
|
1872
|
+
Specify a PE RBAC token used to authenticate to Puppetserver for v4
|
1873
|
+
catalog API calls. (<a href="../lib/octocatalog-diff/cli/options/puppet_master_token.rb">puppet_master_token.rb</a>)
|
1874
|
+
</td>
|
1875
|
+
</tr>
|
1876
|
+
|
1877
|
+
<tr>
|
1878
|
+
<td valign=top>
|
1879
|
+
<pre><code>--to-puppet-master-token-file STRING</code></pre>
|
1880
|
+
</td>
|
1881
|
+
<td valign=top>
|
1882
|
+
File containing PE RBAC token to authenticate to the Puppetserver API v4 for the to branch
|
1883
|
+
</td>
|
1884
|
+
<td valign=top>
|
1885
|
+
Specify a path to a file containing a PE RBAC token used to authenticate to the
|
1886
|
+
Puppetserver for a v4 catalog API call. (<a href="../lib/octocatalog-diff/cli/options/puppet_master_token_file.rb">puppet_master_token_file.rb</a>)
|
1887
|
+
</td>
|
1888
|
+
</tr>
|
1889
|
+
|
1748
1890
|
<tr>
|
1749
1891
|
<td valign=top>
|
1750
1892
|
<pre><code>--to-save-catalog STRING</code></pre>
|
@@ -1772,6 +1914,19 @@ has no effect when `--display-detail-add` is not used. (<a href="../lib/octocata
|
|
1772
1914
|
</td>
|
1773
1915
|
</tr>
|
1774
1916
|
|
1917
|
+
<tr>
|
1918
|
+
<td valign=top>
|
1919
|
+
<pre><code>--use-lcs
|
1920
|
+
--no-use-lcs </code></pre>
|
1921
|
+
</td>
|
1922
|
+
<td valign=top>
|
1923
|
+
Use the LCS algorithm to determine differences in arrays
|
1924
|
+
</td>
|
1925
|
+
<td valign=top>
|
1926
|
+
Configures using the Longest common subsequence (LCS) algorithm to determine differences in arrays (<a href="../lib/octocatalog-diff/cli/options/use_lcs.rb">use_lcs.rb</a>)
|
1927
|
+
</td>
|
1928
|
+
</tr>
|
1929
|
+
|
1775
1930
|
<tr>
|
1776
1931
|
<td valign=top>
|
1777
1932
|
<pre><code>--validate-references
|