From e0b130d435136c013ddc158623341ca942d1e812 Mon Sep 17 00:00:00 2001 From: Jonathan Amiez Date: Mon, 24 Oct 2022 11:43:59 +0200 Subject: [PATCH 1/2] Migrate CI to GH Actions * Remove Travis config * Migrate from berkshelf to policyfile * Update kitchen config paths Change-Id: I072cf26b3ebdb7779de0def6e1b844504c0ce89a --- .github/workflows/criteo-cookbooks-ci.yml | 61 ++++++++++++++++++++++ .gitignore | 1 + .kitchen_suites.yml | 4 -- .travis.yml | 24 --------- .travis/client.pem.enc | Bin 1680 -> 0 bytes .travis/travis-ci.pem.enc | Bin 1680 -> 0 bytes Berksfile | 6 --- Gemfile | 7 ++- Policyfile.rb | 6 +++ chefignore | 2 +- .kitchen.ec2.yml => kitchen.yml | 11 +++- spec/spec_helper.rb | 2 +- 12 files changed, 83 insertions(+), 41 deletions(-) create mode 100644 .github/workflows/criteo-cookbooks-ci.yml delete mode 100644 .kitchen_suites.yml delete mode 100644 .travis.yml delete mode 100644 .travis/client.pem.enc delete mode 100644 .travis/travis-ci.pem.enc delete mode 100644 Berksfile create mode 100644 Policyfile.rb rename .kitchen.ec2.yml => kitchen.yml (85%) diff --git a/.github/workflows/criteo-cookbooks-ci.yml b/.github/workflows/criteo-cookbooks-ci.yml new file mode 100644 index 0000000..f129bfa --- /dev/null +++ b/.github/workflows/criteo-cookbooks-ci.yml @@ -0,0 +1,61 @@ +name: Criteo Cookbooks CI +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: [ master ] + tags: [ 'v*' ] + pull_request: + branches: [ master ] + workflow_dispatch: +jobs: + rspec: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + bundler-cache: true + - run: bundle exec rubocop --version + - run: bundle exec rubocop + - run: bundle exec foodcritic --version + - run: bundle exec foodcritic . --exclude spec -f any + - run: bundle exec rspec + kitchen: + needs: [rspec] + runs-on: ubuntu-latest + strategy: + matrix: + instance: ['default-centos-7'] + steps: + - uses: shimataro/ssh-key-action@v2 + with: + key: ${{secrets.AWS_SSH_PRIVATE_KEY}} + known_hosts: unnecessary + - uses: actions/checkout@v2 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + bundler-cache: true + - run: CHEF_LICENSE='accept-no-persist' KITCHEN_LOCAL_YAML=kitchen.yml bundle exec kitchen test ${{ matrix.instance }} + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_REGION: ${{ secrets.AWS_REGION }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_SSH_KEY_ID: ${{ secrets.AWS_SSH_KEY_ID }} + AWS_SUBNET: ${{ secrets.AWS_SUBNET }} + AWS_SECURITY_GROUP: ${{ secrets.AWS_SECURITY_GROUP }} + supermarket: + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/') + needs: [kitchen] + steps: + - uses: actions/checkout@v2 + - name: Publish to supermarket + uses: afaundez/chef-supermarket-action@8cdbe1cccbe1ecd8685b2ea8f48780135bae7cee + with: + user: criteo + cookbook: librenms + category: Utilities + env: + SUPERMARKET_API_KEY: ${{ secrets.SUPERMARKET_API_KEY }} diff --git a/.gitignore b/.gitignore index 248658b..17f5561 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ bin/* .kitchen.local.yml .cookbook_version +Policyfile.lock.json diff --git a/.kitchen_suites.yml b/.kitchen_suites.yml deleted file mode 100644 index d3f0301..0000000 --- a/.kitchen_suites.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: default - run_list: - - recipe[librenms::default] - attributes: diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 90c4543..0000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: ruby -cache: bundler -rvm: -- 2.4.0 -deploy: - skip_cleanup: true - edge: - source: criteo-forks/dpl - branch: chef_ruby2 - provider: chef-supermarket - user_id: criteo - cookbook_category: Utilities - client_key: ".travis/client.pem" - on: - tags: true -env: - global: - - secure: QUPAToUAdflT2mn1LqKdj+BhWvk/55CJ7HS0dscVAKn084/eSnpxRsk9263NSOhLsSDK06jj7w3FuVZpSO488k3HyA0/i3EAajUv4IUpc4Zvz3gy24xr+Up4e4NXG1xMse0Z5wyKaZQoWDILtAruWooQkPh5QiuD+Hko4KbFRdV4tD+V6r41ZiLvCzbVAfXaiMtHUJG7GmGThdoStp+La8Nu+PsCkRMWkk2ahNZ1jQZLwB0UmNAqq35lQv3zoQF7Tt+XGFBpyKUf7z2H8JJcc+7xZhiqD0XxzkgMD86YibfFqRwQQ3FDEVrrIlvdXxdN25L8kl9oBCn0V5W50S6y1ruqFvzqQSXdXWNdv5eq7X5PLktd6z4sVWeEBXo/ebp+SIh2pCYDrGVkgCWEe3XNJxNV8NpWIeheC4NDH31MuTDToTk+WBS5+x5brv3PGUKmDP6ukMEMYfJImnZnjPg3Aa1qUN1FRhROgivkQvCpyQKN6uQyHt/7ak0zxSf1ChhR4RnObu26VkUOxLbs1RCBNJBUXFrQbwqA9+qeO8Qy8LbJAte3nvvhnlmoZOlMCS/sBYu7vvCwJjxhUjb82JeTgxjE9yKuZ9LBun+XQdty0A5qHyevdumA9G0H8S7/FpEXEAlqDpvsIawz3mxz/w2XQDVBLYvnJwD2zcxkmqsQRD8= - - secure: XGTVRf5mf02ylmRjwYlguWTcLOlFAA7NSdJCXUgo6EcGWr9lfjiy1FVl6UOElR4mfnvpijHopfvOmVJTQitLP9LrVNA+152m/p+wYtEOg98/HrP7W5qJwxKyHJ8kLU4tx8rAr7eiKCIcBvPJKrbnjqrAQuj8ehYJAt3kwuoRWnyeVyQJF71mAuDuH9E4BE3O0RTzREghKyGtyDj9fbDwCMZkzOIqg+mPRNgfCaeF9eB6hl/CfS0n2O4k8VNY79oOFHxwO43MVQ3Qvj+CJYe8XDq0Uh9Y6PPPFFQNwGJ5OnhpYwLqjO3xAG4KxSbZhvQFT2rzCmuXutpgZr9OuJXppxyF/3n7Nz9FTaI3x4n7bkMTszxDEFRfgOsaXWYbhfGtn0K6kcG+QZMi8TnsBnj1/8pfnyt/0WDWwcQF4FGgqIQFdUA2rpwsNW4yzs+iKFIzVBvBHRIpTzsb3JD6XKqDQDFxW49vpa/X4dbTlfI1O2C6gKzN4GKVJxlYsfaizs4jIeNtWW5jMTbXQxEU6utJVJHmzxZLHLJXKYi1HwT8zBtFtQ24YyKPYN+WLV7D8eWIrxEFd4nbw/LhGDzu8Q9JgNfnDLUkwCZnnZwvMfZGkvobWGqupp6tLgKNNu/YVTyo2zamOHF8lhWM1Dk6vmA9rZ9TzHvoxC4rjQsZ/zDADxY= - - secure: iMymChF7Bk3U81RMagyqL/L5aKwloWIJWcz2v6aBeRt3vLoUei4PNgABkXQn0nA4MKGzwMd/QNXI65vw7EuGUHl+mfMXoBOmeXJJ72b2czUesKivZ5i99dwDKAHRaX9BPP7CaFGvWP/OlXY79TPeldG7wqj8e3ICkDouFMuxxitl7wYGT5uWQT1n0yOWtA16FDYG3KChqnvfOlBCYWEDtU7Hv82kHUftzICpp66tCEIh/JOL3StkFVLKnSSPNymxSB6ijePp7acYglaY124agkjkHs+X+TPqsQgxHhBmDsYgM1YtlUtsc309OlSZy0jvDS1JeIArNbs+jb+rVmtS+8fRwXnIh8XJEQTiQeLexEGdso7iX3yS4JMbuQ+Xk4zR48nHfm/J9PNJUxYV5SPKbnmmu49uwfRS1szXQ/4yW0scpkDnQjFFPBWKWRwihhTfFfYwjPTXox5T4jP1okSZAH3TmJTRk3iDfZ5YftnRUmL1yXEZJJp+zZ6j1QbLEC+FPTC4NofZ7Z3JbuFhfq8QfqzYa2F1s2FgcsGLRmag6dyn9qrSNRxOHO9Wzg4tKngsEWtJyh2HFNpmW/Dd8Fcy9Qtflv2FjoODkYWV9SKCoemi0CUfNxEUtpe0jBkKYdrQFJH0JS/e/krpPQSByGbH0+3XEhNoVsb2aEcGLUhJVX4= - - secure: gH/Lh37ng4sYPNToRQIeeILNvmzCYt9pVQxa5ScYcXinSYC3nNFz10Vetv5SmRlHL2Efe9RBhCtW1EEUxIzbd9EfteoJNbdum9xGE0Y9638AdR2rB8IDtxeRrRtelt0PvD69FGIoQ8565ncrL/pqLX68faR2Iha1jghCGPy3zsdurnt0l0fjBNM6Pu7St7hTmsxuxkM/WtkKDqoPT7QQDtXDBHNWtx5ryNn6Lt56kDxoR02zHyP/6ZncvRcdTbSXVpid1N0suD7vwHGMBkDxq+mWJ0eFSUmRqdBlp2SDjoDU3bWaVb5lgkm6T3vv8v8U6Y+z/kU7yC7yoqcbdY0MCar5m/+ipT+mmo6r2epKxxQcnWrmkoASQ08DjczsT5aY2yv028buLPxhjmx+PvjMsZHi2rbh4do/lYYnQoMt7+aUaWxs5k3J+08fC+IplNnL50N1z2gFmKpx0Egg5skrKjGXZys9QSgK/FMmj7KusIaPutbmyAIvfivmGMm2SHK1R8mnuN132cAaFioJUIN1SmAIha9sGLJVFH8ptsFcBinHwD9T2v6WqUQKRUC0whnimkkrfQmSjK4Mv9GCqckoFg2bM+akws3PG4M5WKX3A7vAEZb7YteVPVoNwNyhcAUOsbA8GN8S4Rni45M4KvGcDjdvh/JW/pvj7FowuohH39U= -before_deploy: -- openssl aes-256-cbc -K $encrypted_ff9bcc3212d3_key -iv $encrypted_ff9bcc3212d3_iv - -in .travis/client.pem.enc -out .travis/client.pem -d diff --git a/.travis/client.pem.enc b/.travis/client.pem.enc deleted file mode 100644 index a825cc29d6605b96f8f0a3e9c6ccf3ff721e3237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1680 zcmV;B25K)8DcK&Y~R=UpE{k0OL%K+vO5xZYWGwQF*M#LWQ&DlLWj+n z@lQ_5t#8PPXW*rD1KSJ-*6=I{-eScv!qTwRGb=UKSE>pQ=$^nXoK7=mrU?wf^D$a~ zNFcmYHn+44G+1okWkq&d^&Ly1k-9N-sF0>;!j7PBoIUF zH`)prcECKc&%2TFnJZ~0e5TP)1Q%{jYQlO|aesD@HGd=YkWcozL+sYBbSl5;ZVd6Z zB(g3eS`ujWC4C@|X@+)SrqYZLzP7D)K5=(ROmxe>XdUmErCvt8mw zu!psBHTRPsCadZK4)R*a&l<3YW-rU#b*0@*q8)>rp-|KK2E6s)?y+>b_TReq0odk@ z)LRQ}N0IIUX%ENtDrc0vmKd7Bi7$id^bT1F-Rwj0&G#dQTzCG-#pX3zVoMB3-q3$n zG~st1^Lvoc?Gpz?-RQ3@8s-QXJ0@`7dGi0Jj`Bxq_8JhC0ggG6^kLgjxz1(Fdb`vb zXyF1WSwByj%n~`kv5mE%qyz69VaD1(zr`c1S4_wb3&b>|{|rb64|bnRO|(Prc}JP( z^K~pJpW?~~0>z=hdqedvsHb>g&fK*E3b#nngAus^OS(k&TL*8pX^3M^X`v`>1HzV? zNi3#YOI`kby?al%)9ME#2AA%2c9Tee9@H%55Z+&Bpo|=2J7Kk8%FHcmhG+H(wl(fS zu=aK1-2f*afzuC9J}v)WniSFOg^)YSGC9`AcE1 zK&W?BmHA2$iD6d#>PQL|!v3dMFa^9sz1`JXeC{~if?4d>IA&yOzWhDSqIR)q7Mv<^ zDm>s0vPE8;Lz3KPH5jFF^rgOF`za;h5n5iP@cM7@wt7p`@g#!nXznioDzs#WR)7Ze zt}TgJ!9wr>x#D6qNazcQ% zIcRfA<1&ac0c{|bv***ob~-*})6mhJfSZus1Gsl(vhHzg6s;C`%ktG(}+I?98j;#RN4RFqRPiLd-i0g*6!SE>reELMN zgAYL`i6XsmCvkg2ou+34EXU&4)AIr;L3X4m2S41>{Uz-0P(*VrJPbkKA%kX*tpKa9 z+jjF52>|Ex<=rJU_yUckH3z9uV{U zu{FeP+tTanILs^dxH>YiBf+I_yzD?+ckPcx!&@&lF>thcv8ulG6j~bNJy;86YU`ya z3^>6#xUN@_+0*j7n-T%%c>o^I#2Kb=cIURyZ|fH`j|ZDr`u8q;koFt6*(qs*Wj7< zYg#$h=yd#i_v={4WRi?T3IO+un~7? z#+63@w9-Yr=^OK|=y@aeBq4s6hv>RYLzidLJRhsNYYg!DicIj{Sa?ND$4uAtgFh)x zRK_4kFi7n0ABMkz z3;$~LlA(q5#frX@C1ofqezRJlEB^wf;UPA!@ diff --git a/.travis/travis-ci.pem.enc b/.travis/travis-ci.pem.enc deleted file mode 100644 index 7e75caac2164878845ab9497b0018cb3b992eef9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1680 zcmV;B25Bo~z+YFwhKt2~~{rg5C4eAJ+|YIsvigg=aOlNU^-efg}gyAYJ; zEbh2WryPG%f$zGXw4qZB!%gq6&5rfQu`}Rr3|8ySzKj}=fH?iFe%B~d!3>s%C?RLu z>tJWdE2$w@P~!S?^ocNatQucJLgb}RIka~}$KxMVzYTtkOQqrqES)4CH{-;|EOc%M zkViQq3&ZBXFdECxSTpC)Qq^bmp7a&k&3JEuJq1Wfpl?wr7P)Rs4}mTiF4WdjSDhP* zhbY_E3#^o!p_A_$?_^Cc0|MOz7gMI|Q_r-`0ywl<-)n6}%bs(qwjHmo1MX8OvkflJ zI_Gjn{QQ;2@rC8Y(AHWrw!NT~M@ zV_#BG_GTpJLK@czK{UXi3%To?_?;Ue?tVB>g8mvM7cvEOoZp%+*bbk=l{NIVlvAat z-Co5oQj6wQh1lI^FXn1U|4(pbhg^j*E_$g)0nT{_3B1(b*Q zZSog=cI*$gT=Cg=L!1MAu0cozjbCVlRD^5jMM}g&ey^VjuEeBh7Z1^nPrmGg3n@H? ziLo*MLLc-x34jIAN)7^3dl1hGWPyRf>6T~`auTS&RYKGJ#tvr1aUab+;!d#Se@W*^Ww_<5lv%Zy+=dPHyfMJB z`Rf}snk6U9&}=A4OH7m}`yy^0_NP=T-~EzXc+%S~33wmQ31F6`&zyQXtkC|Uwq>3X zVIpWxg*yv)#iRQ)4lKMGkp9;|mXRVKRR3ZhE!iJLgvS?@eoU^nki!5rMe?7Xj8STPiN>N>cB`iJ!j9Us9R^A-!1eS&;z^=ibL?t!qsQHbI#q$s zj2`)SOBc#KShlzFk(n5hDvuPE}S2*2)gFt1H2OiM!YU&@0@S^}pFMhFs*JGIYC%2X4>L#X8Pf_im-5 zYTl|BTvL@fu*cFvjdi=lN+mcp9quyhEX{V_fS#60)Q+QIy8U>kC~m4Y z*7>=&(Q+95!pAflS@`2#rjmYRK~z>_B)C<<15PLL)ANX926{JG$;E8#+p&j5mKup2 zjEp}@DbT=8_MO%?!t^`G{iz=&@ZB{A*Vb@W;2;{cn$6pcvYm5H*2;!%^11_?>~I)k z@#P!1wyKf^*%Vnl}FqNbbK$o67%0;Q4lHo zjMj4VGff`yVm*Dv)Om?(ACFPz-U@iq<4La^|EC>q;@7R%_+kjiW*xAnciU&T{t7<+w!OVE6>fbu7(EbYW+vNK zUVSjo28yHt--Otv{iRX*E~L5D(l@nHdaf*)k@lFa4S5WBd&fS9nyy_n}OL5b*p^jLVn@EBH diff --git a/Berksfile b/Berksfile deleted file mode 100644 index 29ecbfe..0000000 --- a/Berksfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://supermarket.chef.io' - - -cookbook 'kitchen-ohai' # required for ec2 - -metadata diff --git a/Gemfile b/Gemfile index d913720..7ebef4e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,17 +1,16 @@ source 'https://rubygems.org' -gem 'berkshelf' -gem 'kitchen-vagrant' gem 'chefspec' gem 'rake' gem 'foodcritic' gem 'chef-zero-scheduled-task' -gem 'chef' +gem 'chef', '= 14.7.17' +gem 'chef-dk' gem 'kitchen-transport-speedy' group :ec2 do gem 'test-kitchen' - gem 'kitchen-ec2', git: 'https://github.com/criteo-forks/kitchen-ec2.git', branch: 'criteo' + gem 'kitchen-ec2' gem 'winrm', '>= 1.6' gem 'winrm-fs', '>= 0.3' gem 'dotenv' diff --git a/Policyfile.rb b/Policyfile.rb new file mode 100644 index 0000000..3196fbf --- /dev/null +++ b/Policyfile.rb @@ -0,0 +1,6 @@ +name 'librenms' + +run_list ['librenms'] + +default_source :community +cookbook 'librenms', path: '.' diff --git a/chefignore b/chefignore index a976917..1507409 100644 --- a/chefignore +++ b/chefignore @@ -58,9 +58,9 @@ Procfile .rubocop.yml spec/* Rakefile -.travis.yml .foodcritic .codeclimate.yml +.github # SCM # ####### diff --git a/.kitchen.ec2.yml b/kitchen.yml similarity index 85% rename from .kitchen.ec2.yml rename to kitchen.yml index 101ac56..67a7b8e 100644 --- a/.kitchen.ec2.yml +++ b/kitchen.yml @@ -30,6 +30,12 @@ driver: volume_type: gp2 delete_on_termination: true +provisioner: + name: chef_zero + install_strategy: always + chef_license: accept + product_name: chef + transport: ssh_key: <%= ENV['HOME'] %>/.ssh/id_rsa @@ -39,4 +45,7 @@ platforms: image_id: ami-d2c924b2 suites: -<%= require 'erubis'; Erubis::Eruby.new(File.read('.kitchen_suites.yml')).evaluate %> +- name: default + run_list: + - recipe[librenms::default] + attributes: diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 1dd5126..6cd61e5 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,2 +1,2 @@ require 'chefspec' -require 'chefspec/berkshelf' +require 'chefspec/policyfile' From 085e20787a825b1b473c917cd4afc23bb52f05e3 Mon Sep 17 00:00:00 2001 From: Jonathan Amiez Date: Mon, 24 Oct 2022 12:14:19 +0200 Subject: [PATCH 2/2] Use a more recent Rubocop and fix offenses Change-Id: I7474b4c43eeb4d161b66b859c6cb705f5eacb2ce --- .rubocop.yml | 12 +++--------- Gemfile | 2 +- attributes/default.rb | 3 +-- metadata.rb | 2 +- recipes/default.rb | 4 ++-- 5 files changed, 8 insertions(+), 15 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 50f36d6..fef9c80 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -4,8 +4,7 @@ # - submit the change in the code_generator AllCops: - TargetRubyVersion: 2.4 - + TargetRubyVersion: 2.7 # This requires to alphabetically sort Gem's requirements Bundler/OrderedGems: @@ -17,7 +16,7 @@ Style/FrozenStringLiteralComment: Enabled: false ### Disable line length constraint -Metrics/LineLength: +Layout/LineLength: Max: 180 # Because we're not in the 80s anymore. # Based on data from http://sideeffect.kr/popularconvention#ruby @@ -45,7 +44,7 @@ Style/TrailingCommaInHashLiteral: # } # ### Align hashes as a table -Layout/AlignHash: +Layout/HashAlignment: EnforcedColonStyle: table EnforcedHashRocketStyle: key # When dealing with long key names, it is easier to read hashes in colon @@ -98,11 +97,6 @@ Style/FormatString: Style/MultilineBlockChain: Enabled: false -# We ain't serving subseconds requests. Forcing to use tr instead of gsub will -# be annoying without much value -Performance/StringReplacement: - Enabled: false - # We don't write documentation there at the moment Style/Documentation: Enabled: false diff --git a/Gemfile b/Gemfile index 7ebef4e..afdbb19 100644 --- a/Gemfile +++ b/Gemfile @@ -17,4 +17,4 @@ group :ec2 do end # Other gems should go after this comment -gem 'rubocop', '=0.61.1' +gem 'rubocop', '=1.29.1' diff --git a/attributes/default.rb b/attributes/default.rb index d4e9224..facfebe 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -1,4 +1,3 @@ - default['mariadb']['database']['name'] = 'librenms' default['mariadb']['user_librenms']['username'] = 'librenms' default['mariadb']['user_librenms']['password'] = 'default' @@ -31,7 +30,7 @@ default['librenms']['env']['DB_DATABASE'] = node['mariadb']['database']['name'] default['librenms']['env']['DB_USERNAME'] = node['mariadb']['user_librenms']['username'] default['librenms']['env']['DB_PASSWORD'] = node['mariadb']['user_librenms']['password'] -default['librenms']['env']['APP_URL'] = 'http://' + node['librenms']['web']['name'] + '/' +default['librenms']['env']['APP_URL'] = "http://#{node['librenms']['web']['name']}/" # snmpd default['librenms']['snmp']['community'] = 'public' diff --git a/metadata.rb b/metadata.rb index 4fac9f5..6a79f79 100644 --- a/metadata.rb +++ b/metadata.rb @@ -3,7 +3,7 @@ maintainer_email 'use_github_issues@criteo.com' license 'Apache-2.0' description 'Installs/Configures librenms' -long_description 'This cookbook installs and configure LibreNMS along with the required components (Apache and MySQL). LibreNMS is an autodiscovering PHP/MySQL-based network monitoring system.' +long_description 'Installs and configures LibreNMS along with the required components (Apache and MySQL). LibreNMS is an autodiscovering PHP/MySQL-based network monitoring system.' issues_url 'https://github.com/criteo-cookbooks/librenms/issues' source_url 'https://github.com/criteo-cookbooks/librenms' version '0.2.29' diff --git a/recipes/default.rb b/recipes/default.rb index 1c0cc2d..22ca5d4 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -242,8 +242,8 @@ # enforce right permissions facl dir do - group :'' => 'rwx' - default :group => { :'' => 'rwx' } + group '': 'rwx' + default group: { '': 'rwx' } recurse true end end