diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..8af810e
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,10 @@
+---
+version: 2.1
+orbs:
+ kitchen: sous-chefs/kitchen@2
+workflows:
+ danger:
+ jobs:
+ - kitchen/danger:
+ name: danger
+ context: Danger-Minimal
diff --git a/.editorconfig b/.editorconfig
index cc21b04..1656a6d 100755
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,19 +1,11 @@
-# https://EditorConfig.org
-
+#https://EditorConfig.org
# top-most EditorConfig file
root=true
-# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
-
-# 2 space indentation
indent_style = space
indent_size = 2
-
-# Avoid issues parsing cookbook files later
charset = utf-8
-
-# Avoid cookstyle warnings
trim_trailing_whitespace = true
diff --git a/.envrc b/.envrc
new file mode 100644
index 0000000..6ed589e
--- /dev/null
+++ b/.envrc
@@ -0,0 +1 @@
+use chefworkstation
diff --git a/.github/workflows/md-links.yml b/.github/workflows/md-links.yml
new file mode 100644
index 0000000..150e75c
--- /dev/null
+++ b/.github/workflows/md-links.yml
@@ -0,0 +1,19 @@
+---
+name: md-links
+
+"on":
+ pull_request:
+ push:
+ branches: [master]
+
+jobs:
+ md-links:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out code
+ uses: actions/checkout@master
+ - name: markdown-link-check
+ uses: gaurav-nelson/github-action-markdown-link-check@v1
+ with:
+ use-verbose-mode: "yes"
+ folder-path: "documentation"
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
new file mode 100644
index 0000000..0f33701
--- /dev/null
+++ b/.github/workflows/stale.yml
@@ -0,0 +1,28 @@
+---
+name: Mark stale issues and pull requests
+
+"on":
+ schedule:
+ - cron: "0 0 * * *"
+
+jobs:
+ stale:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/stale@v3
+ with:
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ close-issue-message: >
+ Closing due to inactivity.
+ If this is still an issue please reopen or open another issue.
+ Alternatively drop by the #sous-chefs channel on the [Chef Community Slack](http://community-slack.chef.io/) and we'll be happy to help!
+ Thanks, Sous-Chefs.
+ days-before-close: 7
+ days-before-stale: 365
+ stale-issue-message: >
+ Marking stale due to inactivity.
+ Remove stale label or comment or this will be closed in 7 days.
+ Alternatively drop by the #sous-chefs channel on the [Chef Community Slack](http://community-slack.chef.io/) and we'll be happy to help!
+ Thanks, Sous-Chefs.
diff --git a/.gitignore b/.gitignore
index e6099d3..e085291 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,11 @@
*.rbc
.config
+coverage
InstalledFiles
lib/bundler/man
pkg
+rdoc
+spec/reports
test/tmp
test/version_tmp
tmp
@@ -11,15 +14,12 @@ _Store
*#
.#*
\#*#
+.*.sw[a-z]
*.un~
*.tmp
*.bk
*.bkup
-# editor temp files
-.idea
-.*.sw[a-z]
-
# ruby/bundler files
.ruby-version
.ruby-gemset
@@ -27,16 +27,14 @@ _Store
Gemfile.lock
.bundle
*.gem
-coverage
-spec/reports
-# YARD / rdoc artifacts
+# YARD artifacts
.yardoc
_yardoc
doc/
-rdoc
+.idea
-# chef infra stuff
+# chef stuff
Berksfile.lock
.kitchen
kitchen.local.yml
diff --git a/.overcommit.yml b/.overcommit.yml
new file mode 100644
index 0000000..1d27ed8
--- /dev/null
+++ b/.overcommit.yml
@@ -0,0 +1,20 @@
+---
+PreCommit:
+ TrailingWhitespace:
+ enabled: true
+ YamlLint:
+ enabled: true
+ Rspec:
+ enabled: true
+ required_executable: 'rspec'
+ Cookstyle:
+ enabled: true
+ required_executable: 'cookstyle'
+ command: ["cookstyle"]
+ Delivery:
+ enabled: true
+ required_executable: 'delivery'
+ flags: ['local', 'all']
+CommitMsg:
+ HardTabs:
+ enabled: true
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 064bba0..cd77725 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -4,4 +4,4 @@
"rebornix.ruby",
"editorconfig.editorconfig"
]
-}
\ No newline at end of file
+}
diff --git a/.yamllint b/.yamllint
new file mode 100644
index 0000000..ecfdffb
--- /dev/null
+++ b/.yamllint
@@ -0,0 +1,6 @@
+---
+extends: default
+rules:
+ line-length:
+ max: 256
+ level: warning
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index aa60a51..20b4adb 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1 +1,3 @@
-Please refer to the Chef Community Code of Conduct at
+# Community Guidelines
+
+This project follows the Chef Community Guidelines
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index cd21578..a946aea 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1 +1,4 @@
-Please refer to
+# Contributing
+
+Please refer to
+[https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD)
diff --git a/Dangerfile b/Dangerfile
new file mode 100644
index 0000000..bc08b7a
--- /dev/null
+++ b/Dangerfile
@@ -0,0 +1,47 @@
+# Reference: http://danger.systems/reference.html
+
+# A pull request summary is required. Add a description of the pull request purpose.
+# Changelog must be updated for each pull request that changes code.
+# Warnings will be issued for:
+# Pull request with more than 400 lines of code changed
+# Pull reqest that change more than 5 lines without test changes
+# Failures will be issued for:
+# Pull request without summary
+# Pull requests with code changes without changelog entry
+
+def code_changes?
+ code = %w(libraries attributes recipes resources files templates)
+ code.each do |location|
+ return true unless git.modified_files.grep(/#{location}/).empty?
+ end
+ false
+end
+
+def test_changes?
+ tests = %w(spec test kitchen.yml kitchen.dokken.yml)
+ tests.each do |location|
+ return true unless git.modified_files.grep(/#{location}/).empty?
+ end
+ false
+end
+
+failure 'Please provide a summary of your Pull Request.' if github.pr_body.length < 10
+
+warn 'This is a big Pull Request.' if git.lines_of_code > 400
+
+warn 'This is a Table Flip.' if git.lines_of_code > 2000
+
+# Require a CHANGELOG entry for non-test changes.
+if !git.modified_files.include?('CHANGELOG.md') && code_changes?
+ failure 'Please include a CHANGELOG entry.'
+end
+
+# Require Major Minor Patch version labels
+unless github.pr_labels.grep /minor|major|patch/i
+ warn 'Please add a release label to this pull request'
+end
+
+# A sanity check for tests.
+if git.lines_of_code > 5 && code_changes? && !test_changes?
+ warn 'This Pull Request is probably missing tests.'
+end
diff --git a/TESTING.md b/TESTING.md
index 9596d9b..920e381 100644
--- a/TESTING.md
+++ b/TESTING.md
@@ -1,2 +1,3 @@
-Please refer to
-
+# Testing
+
+Please refer to [the community cookbook documentation on testing](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD).
diff --git a/documentation/.gitkeep b/documentation/.gitkeep
new file mode 100644
index 0000000..e69de29