puppet-syntax 2.5.0 → 2.6.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/.travis.yml +1 -0
- data/CHANGELOG.md +17 -1
- data/README.md +5 -0
- data/lib/puppet-syntax.rb +9 -0
- data/lib/puppet-syntax/hiera.rb +1 -1
- data/lib/puppet-syntax/manifests.rb +1 -0
- data/lib/puppet-syntax/tasks/puppet-syntax.rb +2 -2
- data/lib/puppet-syntax/version.rb +1 -1
- data/spec/puppet-syntax/templates_spec.rb +9 -2
- data/spec/puppet-syntax_spec.rb +8 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed40e0315c9f5a3ae3f761b1d2af9779b1ab913e19057af9415bc88791a67d39
|
4
|
+
data.tar.gz: d4a7e69e7c1e57afe6d0d393469de33cb6c38fd683d985e1cdd9a1daa35317c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eddfdba6008c885abfefd649165d8aafa31fb920274f8a2cc5221a277bc3b789d637e998516618d066ee039d41032711da910524e39f39e233fd2eeb617b7ff6
|
7
|
+
data.tar.gz: baeedf5b248d065b73db5365ea11b31db5cab27a953a2158e7d09839e8e96230c26b8a652659bc33bc86f6be31fbf01a4ebd121c230d9d050064c9c4bffc9a33
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
|
3
|
+
## [v2.6.0](https://github.com/voxpupuli/puppet-syntax/tree/v2.6.0) (2019-10-05)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/voxpupuli/puppet-syntax/compare/v2.5.0...v2.6.0)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- add support for validating puppet plans \(fixes \#95, fixes \#96\) [\#97](https://github.com/voxpupuli/puppet-syntax/pull/97) ([slauger](https://github.com/slauger))
|
10
|
+
- Allow specifying file paths for manifests and templates too [\#87](https://github.com/voxpupuli/puppet-syntax/pull/87) ([lavagetto](https://github.com/lavagetto))
|
11
|
+
|
12
|
+
**Merged pull requests:**
|
13
|
+
|
14
|
+
- Test on ruby 2.6 [\#111](https://github.com/voxpupuli/puppet-syntax/pull/111) ([alexjfisher](https://github.com/alexjfisher))
|
15
|
+
- Adding KMS tags to allowed EYAML methods [\#105](https://github.com/voxpupuli/puppet-syntax/pull/105) ([craigwatson](https://github.com/craigwatson))
|
4
16
|
|
5
17
|
## [v2.5.0](https://github.com/voxpupuli/puppet-syntax/tree/v2.5.0) (2019-07-07)
|
6
18
|
|
@@ -10,6 +22,10 @@ All notable changes to this project will be documented in this file.
|
|
10
22
|
|
11
23
|
- Support puppet 6.5 [\#106](https://github.com/voxpupuli/puppet-syntax/pull/106) ([alexjfisher](https://github.com/alexjfisher))
|
12
24
|
|
25
|
+
**Fixed bugs:**
|
26
|
+
|
27
|
+
- search manifests outside of manifests directory [\#104](https://github.com/voxpupuli/puppet-syntax/issues/104)
|
28
|
+
|
13
29
|
## [v2.4.3](https://github.com/voxpupuli/puppet-syntax/tree/v2.4.3) (2019-02-09)
|
14
30
|
|
15
31
|
[Full Changelog](https://github.com/voxpupuli/puppet-syntax/compare/v2.4.2...v2.4.3)
|
data/README.md
CHANGED
@@ -51,6 +51,11 @@ To configure Puppet::Syntax, add any of the following settings to your `Rakefile
|
|
51
51
|
|
52
52
|
PuppetSyntax.hieradata_paths = ["**/data/**/*.yaml", "hieradata/**/*.yaml", "hiera*.yaml"]
|
53
53
|
|
54
|
+
* To configure specific paths for the Puppet syntax checks or for the templates checks, specify `manifests_paths` or `templates_paths` respectively. This is useful if you want to check specific paths only.
|
55
|
+
|
56
|
+
PuppetSyntax.manifests_paths = ["**/environments/future/*.pp"]
|
57
|
+
PuppetSyntax.templates_paths = ["**/modules/**/templates/*.erb"]
|
58
|
+
|
54
59
|
* To validate the syntax of code written for application orchestration, enable `app_management`:
|
55
60
|
|
56
61
|
PuppetSyntax.app_management = true
|
data/lib/puppet-syntax.rb
CHANGED
@@ -12,6 +12,13 @@ module PuppetSyntax
|
|
12
12
|
"hieradata/**/*.*{yaml,yml}",
|
13
13
|
"hiera*.*{yaml,yml}"
|
14
14
|
]
|
15
|
+
@manifests_paths = [
|
16
|
+
'**/*.pp'
|
17
|
+
]
|
18
|
+
@templates_paths = [
|
19
|
+
'**/templates/**/*.erb',
|
20
|
+
'**/templates/**/*.epp'
|
21
|
+
]
|
15
22
|
@fail_on_deprecation_notices = true
|
16
23
|
@app_management = Puppet.version.to_i >= 5 ? true : false
|
17
24
|
@check_hiera_keys = false
|
@@ -20,6 +27,8 @@ module PuppetSyntax
|
|
20
27
|
attr_accessor :exclude_paths,
|
21
28
|
:future_parser,
|
22
29
|
:hieradata_paths,
|
30
|
+
:manifests_paths,
|
31
|
+
:templates_paths,
|
23
32
|
:fail_on_deprecation_notices,
|
24
33
|
:epp_only,
|
25
34
|
:check_hiera_keys
|
data/lib/puppet-syntax/hiera.rb
CHANGED
@@ -56,7 +56,7 @@ module PuppetSyntax
|
|
56
56
|
method = 'PKCS7'
|
57
57
|
end
|
58
58
|
|
59
|
-
return "has unknown eyaml method #{method}" unless ['PKCS7','GPG'].include? method
|
59
|
+
return "has unknown eyaml method #{method}" unless ['PKCS7','GPG','GKMS','KMS'].include? method
|
60
60
|
return "has unpadded or truncated base64 data" unless base64.length % 4 == 0
|
61
61
|
|
62
62
|
# Base64#decode64 will silently ignore characters outside the alphabet,
|
@@ -64,6 +64,7 @@ module PuppetSyntax
|
|
64
64
|
def validate_manifest(file)
|
65
65
|
Puppet[:parser] = 'future' if PuppetSyntax.future_parser and Puppet.version.to_i < 4
|
66
66
|
Puppet[:app_management] = true if PuppetSyntax.app_management && (Puppet::Util::Package.versioncmp(Puppet.version, '4.3.0') >= 0 && Puppet.version.to_i < 5)
|
67
|
+
Puppet[:tasks] = true if Puppet::Util::Package.versioncmp(Puppet.version, '5.4.0') >= 0 and file.match(/.*plans\/.*\.pp$/)
|
67
68
|
Puppet::Face[:parser, :current].validate(file)
|
68
69
|
end
|
69
70
|
end
|
@@ -13,11 +13,11 @@ module PuppetSyntax
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def filelist_manifests
|
16
|
-
filelist(
|
16
|
+
filelist(PuppetSyntax.manifests_paths)
|
17
17
|
end
|
18
18
|
|
19
19
|
def filelist_templates
|
20
|
-
filelist(
|
20
|
+
filelist(PuppetSyntax.templates_paths)
|
21
21
|
end
|
22
22
|
|
23
23
|
def filelist_hiera_yaml
|
@@ -2,6 +2,13 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe PuppetSyntax::Templates do
|
4
4
|
let(:subject) { PuppetSyntax::Templates.new }
|
5
|
+
let(:conditional_warning_regex) do
|
6
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6.0')
|
7
|
+
%r{2: warning: found `= literal' in conditional}
|
8
|
+
else
|
9
|
+
%r{2: warning: found = in conditional}
|
10
|
+
end
|
11
|
+
end
|
5
12
|
|
6
13
|
it 'should expect an array of files' do
|
7
14
|
expect { subject.check(nil) }.to raise_error(/Expected an array of files/)
|
@@ -34,7 +41,7 @@ describe PuppetSyntax::Templates do
|
|
34
41
|
res = subject.check(files)
|
35
42
|
|
36
43
|
expect(res.size).to eq(1)
|
37
|
-
expect(res[0]).to match(
|
44
|
+
expect(res[0]).to match(conditional_warning_regex)
|
38
45
|
end
|
39
46
|
|
40
47
|
it 'should read more than one valid file' do
|
@@ -50,7 +57,7 @@ describe PuppetSyntax::Templates do
|
|
50
57
|
|
51
58
|
expect(res.size).to eq(2)
|
52
59
|
expect(res[0]).to match(/2: syntax error, unexpected/)
|
53
|
-
expect(res[1]).to match(
|
60
|
+
expect(res[1]).to match(conditional_warning_regex)
|
54
61
|
end
|
55
62
|
|
56
63
|
it 'should ignore a TypeError' do
|
data/spec/puppet-syntax_spec.rb
CHANGED
@@ -44,4 +44,12 @@ describe PuppetSyntax do
|
|
44
44
|
expect(PuppetSyntax.epp_only).to eq(true)
|
45
45
|
end
|
46
46
|
|
47
|
+
it 'should support setting paths for manifests, templates and hiera' do
|
48
|
+
PuppetSyntax.hieradata_paths = []
|
49
|
+
expect(PuppetSyntax.hieradata_paths).to eq([])
|
50
|
+
PuppetSyntax.manifests_paths = ["**/environments/production/**/*.pp"]
|
51
|
+
expect(PuppetSyntax.manifests_paths).to eq(["**/environments/production/**/*.pp"])
|
52
|
+
PuppetSyntax.templates_paths = []
|
53
|
+
expect(PuppetSyntax.templates_paths).to eq([])
|
54
|
+
end
|
47
55
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-syntax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vox Pupuli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -142,7 +142,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
142
|
- !ruby/object:Gem::Version
|
143
143
|
version: '0'
|
144
144
|
requirements: []
|
145
|
-
|
145
|
+
rubyforge_project:
|
146
|
+
rubygems_version: 2.7.7
|
146
147
|
signing_key:
|
147
148
|
specification_version: 4
|
148
149
|
summary: Syntax checks for Puppet manifests, templates, and Hiera YAML
|