puppet-validator 0.0.8 → 0.0.9

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.
Files changed (3) hide show
  1. checksums.yaml +13 -5
  2. data/lib/puppet-validator.rb +32 -31
  3. metadata +28 -28
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 67c8ee96635e89f10fdb0562b7c34444aaa46090
4
- data.tar.gz: 832192f6b3ee57c0f418fe86d12dbc2dbdd99c4a
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ODkwMThiYjc2M2RiYTAwYjQzZjdiOGExNzA5M2VhNDcyZDE1MGUxZA==
5
+ data.tar.gz: !binary |-
6
+ YmUxZGMwYmM3ZGE3MjI0ZjNmZDUxMDdlMDYyYTZjOWExNDg3MzUzMA==
5
7
  SHA512:
6
- metadata.gz: be779caf3b0cd291459dcb74c4b48608e6e731babfa3fbb42bbf76b054a349dc3e600d2319c9fe27c08741a84222dccc561ffbc564641871748f6088d566866d
7
- data.tar.gz: b52bfc8a76c77bfd87661dbb964a85411c628f3e5c7c17d4d97b3bf05c757d67e95569b260a2f8d91d1af46aa2e21771ff84c33af08811d68dc86937f7a8c636
8
+ metadata.gz: !binary |-
9
+ ZDM1NTQ3MDc2NGFhNDBkNGUxOWVlZjE0YTA1NmEwMWQ0ZDU4Mzc1NmNkN2Iz
10
+ MmYyNzkwZGY3MjU5MmExYjExNDA0ZjZkODk2ZjdlMTJmYzYxMzBjNTY4ZDll
11
+ MWZiNTBlMWMxYTRjZjRjYzc4YWZlY2U4NGNiZTk5MmM0YWEzY2U=
12
+ data.tar.gz: !binary |-
13
+ M2E0NGIwZDQ3NzZmNzliOTE2N2QyMWFjNDYyZWFmY2VlNzU3NjBhYzRiMDIx
14
+ N2E4ZmRmYzJiYWY0OTc4ZjA2OGVlNzBkYWEzYjY2MWY1NGZlM2RmNGY0NDFh
15
+ YmVkMWEwYjNmYzdiYmY3ZjBkYTBmNTNkMTk1MmI1NjU4NGQ0YmY=
@@ -35,39 +35,42 @@ class PuppetValidator < Sinatra::Base
35
35
  super(app)
36
36
 
37
37
  Puppet.initialize_settings rescue nil
38
+ Puppet.settings[:app_management] = true if Gem::Version.new(Puppet.version) >= Gem::Version.new('4.3.2')
38
39
 
39
- # there must be a better way
40
- if settings.respond_to? :disabled_lint_checks
41
- # can pass in an array, a filename, or a list of checks
42
- if settings.disabled_lint_checks.class == String
43
- path = File.expand_path(settings.disabled_lint_checks)
44
- if File.file? path
45
- data = File.readlines(path).map {|line| line.chomp }
46
- data.reject! {|line| line.empty? or line.start_with? '#' }
40
+ # set up the base environment
41
+ Puppet.push_context(Puppet.base_context(Puppet.settings), 'Setup for Puppet Validator') rescue nil
47
42
 
48
- settings.disabled_lint_checks = data
49
- else
50
- settings.disabled_lint_checks = settings.disabled_lint_checks.split(',')
51
- end
52
- end
43
+ # disable as much disk access as possible
44
+ Puppet::Node::Facts.indirection.terminus_class = :memory
45
+ Puppet::Node.indirection.cache_class = nil
53
46
 
54
- else
55
- # this seems... gross, but I don't know a better way to make sure this
56
- # option exists whether it was passed in or not.
57
- def settings.disabled_lint_checks
58
- []
47
+ # make sure that all the settings we expect are defined.
48
+ [:disabled_lint_checks, :puppet_versions, :csrf].each do |name|
49
+ next if settings.respond_to? name
50
+
51
+ settings.define_singleton_method(name) { Array.new }
52
+
53
+ settings.define_singleton_method("#{name}=") do |arg|
54
+ settings.define_singleton_method(name) { arg }
59
55
  end
60
56
  end
61
57
 
62
- if settings.respond_to? :puppet_versions
63
- # put our supported versions in reverse semver order
64
- settings.puppet_versions = settings.puppet_versions.sort_by { |v| Gem::Version.new(v) }.reverse
65
- else
66
- def settings.puppet_versions
67
- []
58
+ # can pass in an array, a filename, or a list of checks
59
+ if settings.disabled_lint_checks.class == String
60
+ path = File.expand_path(settings.disabled_lint_checks)
61
+ if File.file? path
62
+ data = File.readlines(path).map {|line| line.chomp }
63
+ data.reject! {|line| line.empty? or line.start_with? '#' }
64
+
65
+ settings.disabled_lint_checks = data
66
+ else
67
+ settings.disabled_lint_checks = settings.disabled_lint_checks.split(',')
68
68
  end
69
69
  end
70
70
 
71
+ # put our supported versions in reverse semver order
72
+ settings.puppet_versions = settings.puppet_versions.sort_by { |v| Gem::Version.new(v) }.reverse
73
+
71
74
  end
72
75
 
73
76
  get '/' do
@@ -145,8 +148,6 @@ class PuppetValidator < Sinatra::Base
145
148
 
146
149
  def validate(data)
147
150
  begin
148
- Puppet.settings[:app_management] = true if Gem::Version.new(Puppet.version) >= Gem::Version.new('4.3.2')
149
-
150
151
  Puppet[:code] = data
151
152
 
152
153
  if Puppet::Node::Environment.respond_to?(:create)
@@ -207,13 +208,13 @@ class PuppetValidator < Sinatra::Base
207
208
  return unless settings.graph
208
209
 
209
210
  begin
210
- Puppet::Node::Facts.indirection.terminus_class = :memory
211
- Puppet::Node.indirection.cache_class = nil
212
- node = Puppet::Node.indirection.find(Puppet[:node_name_value])
211
+ node = Puppet::Node.indirection.find('validator')
213
212
  catalog = Puppet::Resource::Catalog.indirection.find(node.name, :use_node => node)
214
213
 
215
- catalog.remove_resource(catalog.resource("Stage", :main))
216
- catalog.remove_resource(catalog.resource("Class", :settings))
214
+ # These calls are failing due to an internal method not being available in 2 & 3.x. Suspect
215
+ # that it's related to the compiler not being set up fully?
216
+ catalog.remove_resource(catalog.resource("Stage", :main)) rescue nil
217
+ catalog.remove_resource(catalog.resource("Class", :settings)) rescue nil
217
218
 
218
219
  graph = catalog.to_ral.relationship_graph.to_dot
219
220
 
metadata CHANGED
@@ -1,115 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Ford
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-07 00:00:00.000000000 Z
11
+ date: 2017-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: puppet
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2.7'
34
- - - "<"
34
+ - - <
35
35
  - !ruby/object:Gem::Version
36
36
  version: '5.0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ">="
41
+ - - ! '>='
42
42
  - !ruby/object:Gem::Version
43
43
  version: '2.7'
44
- - - "<"
44
+ - - <
45
45
  - !ruby/object:Gem::Version
46
46
  version: '5.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: puppet-lint
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.1'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ~>
59
59
  - !ruby/object:Gem::Version
60
60
  version: '1.1'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: nokogiri
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ~>
66
66
  - !ruby/object:Gem::Version
67
67
  version: '1.6'
68
- - - ">="
68
+ - - ! '>='
69
69
  - !ruby/object:Gem::Version
70
70
  version: 1.6.5
71
71
  type: :runtime
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - "~>"
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
77
  version: '1.6'
78
- - - ">="
78
+ - - ! '>='
79
79
  - !ruby/object:Gem::Version
80
80
  version: 1.6.5
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: ruby-graphviz
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - "~>"
85
+ - - ~>
86
86
  - !ruby/object:Gem::Version
87
87
  version: '1.2'
88
88
  type: :runtime
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - "~>"
92
+ - - ~>
93
93
  - !ruby/object:Gem::Version
94
94
  version: '1.2'
95
- description: |2
96
- Puppet Validator is a simple web service that accepts arbitrary code submissions and
97
- validates it the way `puppet parser validate` would. It can optionally also
98
- run `puppet-lint` checks on the code and display both results together.
95
+ description: ! " Puppet Validator is a simple web service that accepts arbitrary
96
+ code submissions and\n validates it the way `puppet parser validate` would. It
97
+ can optionally also\n run `puppet-lint` checks on the code and display both results
98
+ together.\n"
99
99
  email: binford2k@gmail.com
100
100
  executables:
101
101
  - puppet-validator
102
102
  extensions: []
103
103
  extra_rdoc_files: []
104
104
  files:
105
- - README.md
106
105
  - LICENSE
107
- - config.ru
106
+ - README.md
107
+ - bin/grapher
108
108
  - bin/puppet-validator
109
+ - config.ru
109
110
  - lib/puppet-validator.rb
110
- - bin/grapher
111
- - views/index.erb
112
- - views/result.erb
113
111
  - public/gist.png
114
112
  - public/info.png
115
113
  - public/prism-default.css
@@ -118,6 +116,8 @@ files:
118
116
  - public/scripts.js
119
117
  - public/styles.css
120
118
  - public/testing.html
119
+ - views/index.erb
120
+ - views/result.erb
121
121
  homepage: https://github.com/puppetlabs/puppet-validator/
122
122
  licenses:
123
123
  - Apache-2.0
@@ -128,17 +128,17 @@ require_paths:
128
128
  - lib
129
129
  required_ruby_version: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - ">="
131
+ - - ! '>='
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - ! '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  requirements: []
140
140
  rubyforge_project:
141
- rubygems_version: 2.0.14.1
141
+ rubygems_version: 2.6.11
142
142
  signing_key:
143
143
  specification_version: 4
144
144
  summary: Puppet code validator as a service