compliance_engine 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be01dba1978b2a1c6f8ed80ba995264a5ad2d99507749d008b24f8e6536090f2
4
- data.tar.gz: 8e75e28e497ba0ce50dc7566e6208d05e691a50b6954156acfc6713fd4375fb4
3
+ metadata.gz: b5a48cfc74834d72605b0c735def9499da907d799e30a78e5253b6b3712366a1
4
+ data.tar.gz: 258e32544f1a90950a963658f37b5604109933de15a17bb5cea5bd8f6bfae7a5
5
5
  SHA512:
6
- metadata.gz: 98998fbb8675147122b2c711e16dc138ecb3583ec19f1228ae6804b413d79606ecacd4be16456c5f9089e0644d5882f34cf7026865ceeaf829aee81d12e3b893
7
- data.tar.gz: 786c09500c9175232884a3eddf2c086f944460fc6b35fe1081dbb924ee24042925603adb2a1305faeca55596a0f6d225f9a564c3a702ef2cb2d3923e674a7f2e
6
+ metadata.gz: 493847f9d6a0f679c16cbac55526db9f730da23fedade51f1a395392d2f649dc1ccd0f1ca1b4aa73e7592b65a63b86e0427edabe851bf91695a2c871333d7003
7
+ data.tar.gz: ee0ee28c7a1dc3a7305b1136f3ff972c491c98d0076d7d859c48c40b3c5a261c44e8546576dc413acb0405b37310e387293920c85570261c348972fdf7e6eb13
data/CHANGELOG.md CHANGED
@@ -1,5 +1,6 @@
1
- ## [Unreleased]
1
+ ### 0.1.1 / 2024-12-03
2
+ * Update README.md and other documentation
3
+ * Add a `version` CLI command
2
4
 
3
- ## [0.1.0] - 2023-10-16
4
-
5
- - Initial release
5
+ ### 0.1.0 / 2024-12-03
6
+ * Initial release
data/LICENSE ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/README.md CHANGED
@@ -1,31 +1,47 @@
1
1
  # ComplianceEngine
2
2
 
3
- TODO: Delete this and the text below, and describe your gem
3
+ Work with [Sicura](https://sicura.us/) (formerly [SIMP](https://simp-project.com/)) Compliance Engine data.
4
4
 
5
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/compliance_engine`. To experiment with that code, run `bin/console` for an interactive prompt.
5
+ For more information on the Compliance Engine data format and how to use it, see [the SCE documentation](https://simp-project.com/docs/sce/).
6
6
 
7
7
  ## Installation
8
8
 
9
- TODO: Replace `UPDATE_WITH_YOUR_GEM_NAME_PRIOR_TO_RELEASE_TO_RUBYGEMS_ORG` with your gem name right after releasing it to RubyGems.org. Please do not do it earlier due to security reasons. Alternatively, replace this section with instructions to install your gem from git if you don't plan to release to RubyGems.org.
10
-
11
9
  Install the gem and add to the application's Gemfile by executing:
12
10
 
13
- $ bundle add UPDATE_WITH_YOUR_GEM_NAME_PRIOR_TO_RELEASE_TO_RUBYGEMS_ORG
11
+ $ bundle add compliance_engine
14
12
 
15
13
  If bundler is not being used to manage dependencies, install the gem by executing:
16
14
 
17
- $ gem install UPDATE_WITH_YOUR_GEM_NAME_PRIOR_TO_RELEASE_TO_RUBYGEMS_ORG
15
+ $ gem install compliance_engine
18
16
 
19
17
  ## Usage
20
18
 
21
- TODO: Write usage instructions here
19
+ ### CLI
20
+
21
+ `compliance_engine` provides a CLI for interacting with Compliance Engine data.
22
+
23
+ ```
24
+ Commands:
25
+ compliance_engine dump # Dump all compliance data
26
+ compliance_engine help [COMMAND] # Describe available commands or one specific command
27
+ compliance_engine hiera --profile=one two three # Dump Hiera data
28
+ compliance_engine inspect # Start an interactive shell
29
+ compliance_engine lookup KEY --profile=one two three # Look up a Hiera key
30
+ compliance_engine profiles # List available profiles
31
+ compliance_engine version # Print the version
22
32
 
23
- ## Development
33
+ Options:
34
+ [--facts=FACTS]
35
+ [--enforcement-tolerance=N]
36
+ [--module=one two three]
37
+ [--modulepath=one two three]
38
+ [--modulezip=MODULEZIP]
39
+ ```
24
40
 
25
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
41
+ ### Library
26
42
 
27
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
43
+ See the [`ComplianceEngine::Data`](https://rubydoc.info/gems/compliance_engine/ComplianceEngine/Data) class for details.
28
44
 
29
45
  ## Contributing
30
46
 
31
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/compliance_engine.
47
+ Bug reports and pull requests are welcome on GitHub at https://github.com/simp/rubygem-simp-compliance_engine.
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/compliance_engine/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'compliance_engine'
7
+ spec.version = ComplianceEngine::VERSION
8
+ spec.authors = ['Steven Pritchard']
9
+ spec.email = ['steve@sicura.us']
10
+ spec.licenses = ['Apache-2.0']
11
+
12
+ spec.summary = 'Parser for Sicura Compliance Engine data'
13
+ spec.homepage = 'https://simp-project.com/docs/sce/'
14
+ spec.required_ruby_version = '>= 2.7.0'
15
+
16
+ spec.metadata['homepage_uri'] = spec.homepage
17
+ spec.metadata['source_code_uri'] = 'https://github.com/simp/rubygem-simp-compliance_engine'
18
+ spec.metadata['changelog_uri'] = "https://github.com/simp/rubygem-simp-compliance_engine/releases/tag/#{spec.version}"
19
+ spec.metadata['bug_tracker_uri'] = 'https://github.com/simp/rubygem-simp-compliance_engine/issues'
20
+
21
+ # Specify which files should be added to the gem when it is released.
22
+ spec.files = Dir.glob(['*.gemspec', '*.md', 'LICENSE', 'exe/*', 'lib/**/*.rb'])
23
+ spec.bindir = 'exe'
24
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
25
+ spec.require_paths = ['lib']
26
+
27
+ spec.add_dependency 'deep_merge', '~> 1.2'
28
+ spec.add_dependency 'thor', '~> 1.3'
29
+ spec.add_dependency 'irb', '~> 1.14'
30
+ spec.add_dependency 'semantic_puppet', '~> 1.1'
31
+ spec.add_dependency 'rubyzip', '~> 2.3'
32
+ end
@@ -11,6 +11,11 @@ class ComplianceEngine::CLI < Thor
11
11
  class_option :modulepath, type: :array
12
12
  class_option :modulezip, type: :string
13
13
 
14
+ desc 'version', 'Print the version'
15
+ def version
16
+ puts ComplianceEngine::VERSION
17
+ end
18
+
14
19
  desc 'hiera', 'Dump Hiera data'
15
20
  option :profile, type: :array, required: true
16
21
  def hiera
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ComplianceEngine
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.1'
5
5
 
6
6
  # Handle supported compliance data versions
7
7
  class Version
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compliance_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Pritchard
@@ -88,13 +88,10 @@ executables:
88
88
  extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
- - ".rspec"
92
- - ".rubocop.yml"
93
91
  - CHANGELOG.md
94
- - Gemfile
92
+ - LICENSE
95
93
  - README.md
96
- - Rakefile
97
- - TODO.md
94
+ - compliance_engine.gemspec
98
95
  - exe/compliance_engine
99
96
  - lib/compliance_engine.rb
100
97
  - lib/compliance_engine/ce.rb
@@ -117,12 +114,14 @@ files:
117
114
  - lib/compliance_engine/profile.rb
118
115
  - lib/compliance_engine/profiles.rb
119
116
  - lib/compliance_engine/version.rb
120
- - sig/compliance_engine.rbs
121
- homepage: https://sicura.us/
122
- licenses: []
117
+ homepage: https://simp-project.com/docs/sce/
118
+ licenses:
119
+ - Apache-2.0
123
120
  metadata:
124
- homepage_uri: https://sicura.us/
121
+ homepage_uri: https://simp-project.com/docs/sce/
125
122
  source_code_uri: https://github.com/simp/rubygem-simp-compliance_engine
123
+ changelog_uri: https://github.com/simp/rubygem-simp-compliance_engine/releases/tag/0.1.1
124
+ bug_tracker_uri: https://github.com/simp/rubygem-simp-compliance_engine/issues
126
125
  post_install_message:
127
126
  rdoc_options: []
128
127
  require_paths:
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
data/.rubocop.yml DELETED
@@ -1,623 +0,0 @@
1
- ---
2
- require:
3
- - rubocop-performance
4
- - rubocop-rspec
5
- - rubocop-rake
6
- AllCops:
7
- DisplayCopNames: true
8
- TargetRubyVersion: '2.7'
9
- Include:
10
- - "**/*.rb"
11
- Exclude:
12
- - ".vendor/**/*"
13
- - pkg/**/*
14
- - spec/fixtures/**/*
15
- - vendor/**/*
16
- - dist/**/*
17
- Layout/LineLength:
18
- Description: People have wide screens, use them.
19
- Max: 200
20
- RSpec/BeforeAfterAll:
21
- Description: Beware of using after(:all) as it may cause state to leak between tests.
22
- A necessary evil in acceptance testing.
23
- Exclude:
24
- - spec/acceptance/**/*.rb
25
- RSpec/HookArgument:
26
- Description: Prefer explicit :each argument, matching existing module's style
27
- EnforcedStyle: each
28
- RSpec/DescribeSymbol:
29
- Exclude:
30
- - spec/unit/facter/**/*.rb
31
- Style/BlockDelimiters:
32
- Description: Prefer braces for chaining. Mostly an aesthetical choice. Better to
33
- be consistent then.
34
- EnforcedStyle: braces_for_chaining
35
- Style/ClassAndModuleChildren:
36
- Description: Compact style reduces the required amount of indentation.
37
- EnforcedStyle: compact
38
- Style/EmptyElse:
39
- Description: Enforce against empty else clauses, but allow `nil` for clarity.
40
- EnforcedStyle: empty
41
- Style/FormatString:
42
- Description: Following the main puppet project's style, prefer the % format format.
43
- EnforcedStyle: percent
44
- Style/FormatStringToken:
45
- Description: Following the main puppet project's style, prefer the simpler template
46
- tokens over annotated ones.
47
- EnforcedStyle: template
48
- Style/Lambda:
49
- Description: Prefer the keyword for easier discoverability.
50
- EnforcedStyle: literal
51
- Style/RegexpLiteral:
52
- Description: Community preference. See https://github.com/voxpupuli/modulesync_config/issues/168
53
- EnforcedStyle: percent_r
54
- Style/TernaryParentheses:
55
- Description: Checks for use of parentheses around ternary conditions. Enforce parentheses
56
- on complex expressions for better readability, but seriously consider breaking
57
- it up.
58
- EnforcedStyle: require_parentheses_when_complex
59
- Style/TrailingCommaInArguments:
60
- Description: Prefer always trailing comma on multiline argument lists. This makes
61
- diffs, and re-ordering nicer.
62
- EnforcedStyleForMultiline: comma
63
- Style/TrailingCommaInArrayLiteral:
64
- Description: Prefer always trailing comma on multiline literals. This makes diffs,
65
- and re-ordering nicer.
66
- EnforcedStyleForMultiline: comma
67
- Style/SymbolArray:
68
- Description: Using percent style obscures symbolic intent of array's contents.
69
- EnforcedStyle: brackets
70
- RSpec/MessageSpies:
71
- EnforcedStyle: receive
72
- Style/Documentation:
73
- Exclude:
74
- - lib/puppet/parser/functions/**/*
75
- - spec/**/*
76
- Style/WordArray:
77
- EnforcedStyle: brackets
78
- Performance/AncestorsInclude:
79
- Enabled: true
80
- Performance/BigDecimalWithNumericArgument:
81
- Enabled: true
82
- Performance/BlockGivenWithExplicitBlock:
83
- Enabled: true
84
- Performance/CaseWhenSplat:
85
- Enabled: true
86
- Performance/ConstantRegexp:
87
- Enabled: true
88
- Performance/MethodObjectAsBlock:
89
- Enabled: true
90
- Performance/RedundantSortBlock:
91
- Enabled: true
92
- Performance/RedundantStringChars:
93
- Enabled: true
94
- Performance/ReverseFirst:
95
- Enabled: true
96
- Performance/SortReverse:
97
- Enabled: true
98
- Performance/Squeeze:
99
- Enabled: true
100
- Performance/StringInclude:
101
- Enabled: true
102
- Performance/Sum:
103
- Enabled: true
104
- Style/CollectionMethods:
105
- Enabled: true
106
- Style/MethodCalledOnDoEndBlock:
107
- Enabled: true
108
- Style/StringMethods:
109
- Enabled: true
110
- Bundler/InsecureProtocolSource:
111
- Enabled: false
112
- Gemspec/DuplicatedAssignment:
113
- Enabled: false
114
- Gemspec/OrderedDependencies:
115
- Enabled: false
116
- Gemspec/RequiredRubyVersion:
117
- Enabled: false
118
- Gemspec/RubyVersionGlobalsUsage:
119
- Enabled: false
120
- Layout/ArgumentAlignment:
121
- Enabled: false
122
- Layout/BeginEndAlignment:
123
- Enabled: false
124
- Layout/ClosingHeredocIndentation:
125
- Enabled: false
126
- Layout/EmptyComment:
127
- Enabled: false
128
- Layout/EmptyLineAfterGuardClause:
129
- Enabled: false
130
- Layout/EmptyLinesAroundArguments:
131
- Enabled: false
132
- Layout/EmptyLinesAroundAttributeAccessor:
133
- Enabled: false
134
- Layout/EndOfLine:
135
- Enabled: false
136
- Layout/FirstArgumentIndentation:
137
- Enabled: false
138
- Layout/HashAlignment:
139
- Enabled: false
140
- Layout/HeredocIndentation:
141
- Enabled: false
142
- Layout/LeadingEmptyLines:
143
- Enabled: false
144
- Layout/SpaceAroundMethodCallOperator:
145
- Enabled: false
146
- Layout/SpaceInsideArrayLiteralBrackets:
147
- Enabled: false
148
- Layout/SpaceInsideReferenceBrackets:
149
- Enabled: false
150
- Lint/BigDecimalNew:
151
- Enabled: false
152
- Lint/BooleanSymbol:
153
- Enabled: false
154
- Lint/ConstantDefinitionInBlock:
155
- Enabled: false
156
- Lint/DeprecatedOpenSSLConstant:
157
- Enabled: false
158
- Lint/DisjunctiveAssignmentInConstructor:
159
- Enabled: false
160
- Lint/DuplicateElsifCondition:
161
- Enabled: false
162
- Lint/DuplicateRequire:
163
- Enabled: false
164
- Lint/DuplicateRescueException:
165
- Enabled: false
166
- Lint/EmptyConditionalBody:
167
- Enabled: false
168
- Lint/EmptyFile:
169
- Enabled: false
170
- Lint/ErbNewArguments:
171
- Enabled: false
172
- Lint/FloatComparison:
173
- Enabled: false
174
- Lint/HashCompareByIdentity:
175
- Enabled: false
176
- Lint/IdentityComparison:
177
- Enabled: false
178
- Lint/InterpolationCheck:
179
- Enabled: false
180
- Lint/MissingCopEnableDirective:
181
- Enabled: false
182
- Lint/MixedRegexpCaptureTypes:
183
- Enabled: false
184
- Lint/NestedPercentLiteral:
185
- Enabled: false
186
- Lint/NonDeterministicRequireOrder:
187
- Enabled: false
188
- Lint/OrderedMagicComments:
189
- Enabled: false
190
- Lint/OutOfRangeRegexpRef:
191
- Enabled: false
192
- Lint/RaiseException:
193
- Enabled: false
194
- Lint/RedundantCopEnableDirective:
195
- Enabled: false
196
- Lint/RedundantRequireStatement:
197
- Enabled: false
198
- Lint/RedundantSafeNavigation:
199
- Enabled: false
200
- Lint/RedundantWithIndex:
201
- Enabled: false
202
- Lint/RedundantWithObject:
203
- Enabled: false
204
- Lint/RegexpAsCondition:
205
- Enabled: false
206
- Lint/ReturnInVoidContext:
207
- Enabled: false
208
- Lint/SafeNavigationConsistency:
209
- Enabled: false
210
- Lint/SafeNavigationWithEmpty:
211
- Enabled: false
212
- Lint/SelfAssignment:
213
- Enabled: false
214
- Lint/SendWithMixinArgument:
215
- Enabled: false
216
- Lint/ShadowedArgument:
217
- Enabled: false
218
- Lint/StructNewOverride:
219
- Enabled: false
220
- Lint/ToJSON:
221
- Enabled: false
222
- Lint/TopLevelReturnWithArgument:
223
- Enabled: false
224
- Lint/TrailingCommaInAttributeDeclaration:
225
- Enabled: false
226
- Lint/UnreachableLoop:
227
- Enabled: false
228
- Lint/UriEscapeUnescape:
229
- Enabled: false
230
- Lint/UriRegexp:
231
- Enabled: false
232
- Lint/UselessMethodDefinition:
233
- Enabled: false
234
- Lint/UselessTimes:
235
- Enabled: false
236
- Metrics/AbcSize:
237
- Enabled: false
238
- Metrics/BlockLength:
239
- Enabled: false
240
- Metrics/BlockNesting:
241
- Enabled: false
242
- Metrics/ClassLength:
243
- Enabled: false
244
- Metrics/CyclomaticComplexity:
245
- Enabled: false
246
- Metrics/MethodLength:
247
- Enabled: false
248
- Metrics/ModuleLength:
249
- Enabled: false
250
- Metrics/ParameterLists:
251
- Enabled: false
252
- Metrics/PerceivedComplexity:
253
- Enabled: false
254
- Migration/DepartmentName:
255
- Enabled: false
256
- Naming/AccessorMethodName:
257
- Enabled: false
258
- Naming/BlockParameterName:
259
- Enabled: false
260
- Naming/HeredocDelimiterCase:
261
- Enabled: false
262
- Naming/HeredocDelimiterNaming:
263
- Enabled: false
264
- Naming/MemoizedInstanceVariableName:
265
- Enabled: false
266
- Naming/MethodParameterName:
267
- Enabled: false
268
- Naming/RescuedExceptionsVariableName:
269
- Enabled: false
270
- Naming/VariableNumber:
271
- Enabled: false
272
- Performance/BindCall:
273
- Enabled: false
274
- Performance/DeletePrefix:
275
- Enabled: false
276
- Performance/DeleteSuffix:
277
- Enabled: false
278
- Performance/InefficientHashSearch:
279
- Enabled: false
280
- Performance/UnfreezeString:
281
- Enabled: false
282
- Performance/UriDefaultParser:
283
- Enabled: false
284
- RSpec/Be:
285
- Enabled: false
286
- RSpec/Capybara/CurrentPathExpectation:
287
- Enabled: false
288
- RSpec/Capybara/FeatureMethods:
289
- Enabled: false
290
- RSpec/Capybara/VisibilityMatcher:
291
- Enabled: false
292
- RSpec/ContextMethod:
293
- Enabled: false
294
- RSpec/ContextWording:
295
- Enabled: false
296
- RSpec/DescribeClass:
297
- Enabled: false
298
- RSpec/EmptyHook:
299
- Enabled: false
300
- RSpec/EmptyLineAfterExample:
301
- Enabled: false
302
- RSpec/EmptyLineAfterExampleGroup:
303
- Enabled: false
304
- RSpec/EmptyLineAfterHook:
305
- Enabled: false
306
- RSpec/ExampleLength:
307
- Enabled: false
308
- RSpec/ExampleWithoutDescription:
309
- Enabled: false
310
- RSpec/ExpectChange:
311
- Enabled: false
312
- RSpec/ExpectInHook:
313
- Enabled: false
314
- RSpec/FactoryBot/AttributeDefinedStatically:
315
- Enabled: false
316
- RSpec/FactoryBot/CreateList:
317
- Enabled: false
318
- RSpec/FactoryBot/FactoryClassName:
319
- Enabled: false
320
- RSpec/HooksBeforeExamples:
321
- Enabled: false
322
- RSpec/ImplicitBlockExpectation:
323
- Enabled: false
324
- RSpec/ImplicitSubject:
325
- Enabled: false
326
- RSpec/LeakyConstantDeclaration:
327
- Enabled: false
328
- RSpec/LetBeforeExamples:
329
- Enabled: false
330
- RSpec/MissingExampleGroupArgument:
331
- Enabled: false
332
- RSpec/MultipleExpectations:
333
- Enabled: false
334
- RSpec/MultipleMemoizedHelpers:
335
- Enabled: false
336
- RSpec/MultipleSubjects:
337
- Enabled: false
338
- RSpec/NestedGroups:
339
- Enabled: false
340
- RSpec/PredicateMatcher:
341
- Enabled: false
342
- RSpec/ReceiveCounts:
343
- Enabled: false
344
- RSpec/ReceiveNever:
345
- Enabled: false
346
- RSpec/RepeatedExampleGroupBody:
347
- Enabled: false
348
- RSpec/RepeatedExampleGroupDescription:
349
- Enabled: false
350
- RSpec/RepeatedIncludeExample:
351
- Enabled: false
352
- RSpec/ReturnFromStub:
353
- Enabled: false
354
- RSpec/SharedExamples:
355
- Enabled: false
356
- RSpec/StubbedMock:
357
- Enabled: false
358
- RSpec/UnspecifiedException:
359
- Enabled: false
360
- RSpec/VariableDefinition:
361
- Enabled: false
362
- RSpec/VoidExpect:
363
- Enabled: false
364
- RSpec/Yield:
365
- Enabled: false
366
- Security/Open:
367
- Enabled: false
368
- Style/AccessModifierDeclarations:
369
- Enabled: false
370
- Style/AccessorGrouping:
371
- Enabled: false
372
- Style/AsciiComments:
373
- Enabled: false
374
- Style/BisectedAttrAccessor:
375
- Enabled: false
376
- Style/CaseLikeIf:
377
- Enabled: false
378
- Style/ClassEqualityComparison:
379
- Enabled: false
380
- Style/ColonMethodDefinition:
381
- Enabled: false
382
- Style/CombinableLoops:
383
- Enabled: false
384
- Style/CommentedKeyword:
385
- Enabled: false
386
- Style/Dir:
387
- Enabled: false
388
- Style/DoubleCopDisableDirective:
389
- Enabled: false
390
- Style/EmptyBlockParameter:
391
- Enabled: false
392
- Style/EmptyLambdaParameter:
393
- Enabled: false
394
- Style/Encoding:
395
- Enabled: false
396
- Style/EvalWithLocation:
397
- Enabled: false
398
- Style/ExpandPathArguments:
399
- Enabled: false
400
- Style/ExplicitBlockArgument:
401
- Enabled: false
402
- Style/ExponentialNotation:
403
- Enabled: false
404
- Style/FloatDivision:
405
- Enabled: false
406
- Style/FrozenStringLiteralComment:
407
- Enabled: false
408
- Style/GlobalStdStream:
409
- Enabled: false
410
- Style/HashAsLastArrayItem:
411
- Enabled: false
412
- Style/HashLikeCase:
413
- Enabled: false
414
- Style/HashTransformKeys:
415
- Enabled: false
416
- Style/HashTransformValues:
417
- Enabled: false
418
- Style/IfUnlessModifier:
419
- Enabled: false
420
- Style/KeywordParametersOrder:
421
- Enabled: false
422
- Style/MinMax:
423
- Enabled: false
424
- Style/MixinUsage:
425
- Enabled: false
426
- Style/MultilineWhenThen:
427
- Enabled: false
428
- Style/NegatedUnless:
429
- Enabled: false
430
- Style/NumericPredicate:
431
- Enabled: false
432
- Style/OptionalBooleanParameter:
433
- Enabled: false
434
- Style/OrAssignment:
435
- Enabled: false
436
- Style/RandomWithOffset:
437
- Enabled: false
438
- Style/RedundantAssignment:
439
- Enabled: false
440
- Style/RedundantCondition:
441
- Enabled: false
442
- Style/RedundantConditional:
443
- Enabled: false
444
- Style/RedundantFetchBlock:
445
- Enabled: false
446
- Style/RedundantFileExtensionInRequire:
447
- Enabled: false
448
- Style/RedundantRegexpCharacterClass:
449
- Enabled: false
450
- Style/RedundantRegexpEscape:
451
- Enabled: false
452
- Style/RedundantSelfAssignment:
453
- Enabled: false
454
- Style/RedundantSort:
455
- Enabled: false
456
- Style/RescueStandardError:
457
- Enabled: false
458
- Style/SingleArgumentDig:
459
- Enabled: false
460
- Style/SlicingWithRange:
461
- Enabled: false
462
- Style/SoleNestedConditional:
463
- Enabled: false
464
- Style/StderrPuts:
465
- Enabled: false
466
- Style/StringConcatenation:
467
- Enabled: false
468
- Style/Strip:
469
- Enabled: false
470
- Style/SymbolProc:
471
- Enabled: false
472
- Style/TrailingBodyOnClass:
473
- Enabled: false
474
- Style/TrailingBodyOnMethodDefinition:
475
- Enabled: false
476
- Style/TrailingBodyOnModule:
477
- Enabled: false
478
- Style/TrailingCommaInHashLiteral:
479
- Enabled: false
480
- Style/TrailingMethodEndStatement:
481
- Enabled: false
482
- Style/UnpackFirst:
483
- Enabled: false
484
- Lint/DuplicateBranch:
485
- Enabled: false
486
- Lint/DuplicateRegexpCharacterClassElement:
487
- Enabled: false
488
- Lint/EmptyBlock:
489
- Enabled: false
490
- Lint/EmptyClass:
491
- Enabled: false
492
- Lint/NoReturnInBeginEndBlocks:
493
- Enabled: false
494
- Lint/ToEnumArguments:
495
- Enabled: false
496
- Lint/UnexpectedBlockArity:
497
- Enabled: false
498
- Lint/UnmodifiedReduceAccumulator:
499
- Enabled: false
500
- Performance/CollectionLiteralInLoop:
501
- Enabled: false
502
- Style/ArgumentsForwarding:
503
- Enabled: false
504
- Style/CollectionCompact:
505
- Enabled: false
506
- Style/DocumentDynamicEvalDefinition:
507
- Enabled: false
508
- Style/NegatedIfElseCondition:
509
- Enabled: false
510
- Style/NilLambda:
511
- Enabled: false
512
- Style/RedundantArgument:
513
- Enabled: false
514
- Style/SwapValues:
515
- Enabled: false
516
- Gemspec/RequireMFA:
517
- Enabled: false
518
- Layout/LineEndStringConcatenationIndentation:
519
- Enabled: false
520
- Layout/SpaceBeforeBrackets:
521
- Enabled: false
522
- Lint/AmbiguousAssignment:
523
- Enabled: true
524
- Lint/AmbiguousOperatorPrecedence:
525
- Enabled: true
526
- Lint/AmbiguousRange:
527
- Enabled: true
528
- Lint/DeprecatedConstants:
529
- Enabled: true
530
- Lint/EmptyInPattern:
531
- Enabled: true
532
- Lint/IncompatibleIoSelectWithFiberScheduler:
533
- Enabled: true
534
- Lint/LambdaWithoutLiteralBlock:
535
- Enabled: true
536
- Lint/NumberedParameterAssignment:
537
- Enabled: true
538
- Lint/OrAssignmentToConstant:
539
- Enabled: true
540
- Lint/RedundantDirGlobSort:
541
- Enabled: true
542
- Lint/RefinementImportMethods:
543
- Enabled: true
544
- Lint/RequireRelativeSelfPath:
545
- Enabled: true
546
- Lint/SymbolConversion:
547
- Enabled: true
548
- Lint/TripleQuotes:
549
- Enabled: true
550
- Lint/UselessRuby2Keywords:
551
- Enabled: true
552
- Naming/BlockForwarding:
553
- Enabled: true
554
- Security/CompoundHash:
555
- Enabled: true
556
- Security/IoMethods:
557
- Enabled: true
558
- Style/EndlessMethod:
559
- Enabled: true
560
- Style/FetchEnvVar:
561
- Enabled: true
562
- Style/FileRead:
563
- Enabled: true
564
- Style/FileWrite:
565
- Enabled: true
566
- Style/HashConversion:
567
- Enabled: true
568
- Style/HashExcept:
569
- Enabled: true
570
- Style/IfWithBooleanLiteralBranches:
571
- Enabled: true
572
- Style/InPatternThen:
573
- Enabled: true
574
- Style/MapToHash:
575
- Enabled: true
576
- Style/MultilineInPatternThen:
577
- Enabled: true
578
- Style/NestedFileDirname:
579
- Enabled: true
580
- Style/NumberedParameters:
581
- Enabled: true
582
- Style/NumberedParametersLimit:
583
- Enabled: true
584
- Style/ObjectThen:
585
- Enabled: true
586
- Style/OpenStructUse:
587
- Enabled: true
588
- Style/QuotedSymbols:
589
- Enabled: true
590
- Style/RedundantInitialize:
591
- Enabled: true
592
- Style/RedundantSelfAssignmentBranch:
593
- Enabled: true
594
- Style/SelectByRegexp:
595
- Enabled: true
596
- Style/StringChars:
597
- Enabled: true
598
- Performance/ConcurrentMonotonicTime:
599
- Enabled: true
600
- Performance/MapCompact:
601
- Enabled: true
602
- Performance/RedundantEqualityComparisonBlock:
603
- Enabled: true
604
- Performance/RedundantSplitRegexpArgument:
605
- Enabled: true
606
- Performance/StringIdentifierArgument:
607
- Enabled: true
608
- RSpec/BeEq:
609
- Enabled: true
610
- RSpec/BeNil:
611
- Enabled: true
612
- RSpec/ExcessiveDocstringSpacing:
613
- Enabled: true
614
- RSpec/IdenticalEqualityAssertion:
615
- Enabled: true
616
- RSpec/SubjectDeclaration:
617
- Enabled: true
618
- RSpec/VerifiedDoubleReference:
619
- Enabled: true
620
- RSpec/FactoryBot/SyntaxMethods:
621
- Enabled: false
622
- RSpec/Rails/AvoidSetupHook:
623
- Enabled: false
data/Gemfile DELETED
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- # Specify your gem's dependencies in compliance_engine.gemspec
6
- gemspec
7
-
8
- gem 'rake', '~> 13.0'
9
-
10
- group :tests do
11
- gem 'rspec', '~> 3.12'
12
- gem 'rubocop', '~> 1.57'
13
- gem 'rubocop-performance', '~> 1.19'
14
- gem 'rubocop-rake', '~> 0.6.0'
15
- gem 'rubocop-rspec', '~> 2.24'
16
- end
17
-
18
- group :development do
19
- gem 'pry'
20
- gem 'pry-byebug'
21
- gem 'ruby-prof'
22
- end
data/Rakefile DELETED
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- require "rubocop/rake_task"
9
-
10
- RuboCop::RakeTask.new
11
-
12
- task default: %i[spec rubocop]
data/TODO.md DELETED
@@ -1,19 +0,0 @@
1
- Unimplemented features, in no particular order:
2
-
3
- - [x] Limit ces/checks/controls based on selected profile
4
- - [x] Correlation between ces/controls and checks
5
- - [ ] Test merge of profiles (ordering of settings)
6
- - [ ] Test malformed data
7
- - [ ] Storage and resolution of facts
8
- - [ ] Confinement
9
- - [ ] Enforcement tolerance
10
- - [ ] Hiera backend functionality
11
- - [ ] Add missing documentation
12
- - [ ] Reset state when files are updated
13
- - [ ] Shared state between multiple objects (store file data)
14
- - [ ] Command-line tools for examining compliance data
15
- - [ ] Lint support (replace `scelint`)
16
- - [ ] Resolve oval ids to CEs
17
- - [ ] Puppet environment support
18
- - [ ] Read/store metadata
19
- - [ ] Load compliance data from a module path
@@ -1,4 +0,0 @@
1
- module ComplianceEngine
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
- end