Enabled: false
Metrics/AbcSize:
Enabled: false
+Metrics/BlockLength:
+ Max: 77
Style/BlockComments:
Enabled: false
Style/BlockDelimiters:
Enabled: false
Style/LeadingCommentSpace:
Enabled: false
+Style/PerlBackrefs:
+ Enabled: false
Style/RescueModifier:
Enabled: false
+Style/SpaceAroundOperators:
+ Enabled: false
Style/SpaceBeforeFirstArg:
Enabled: false
+Style/SpaceInsideBlockBraces:
+ Enabled: false
+Style/SpaceInsidePercentLiteralDelimiters:
+ Enabled: false
Style/TrailingCommaInLiteral:
- EnforcedStyleForMultiline: comma
+ EnforcedStyleForMultiline: consistent_comma
Style/WordArray:
Enabled: false
-
+
+#Lint/ShadowingOuterLocalVariable:
+# Enabled: false
+#Metrics/MethodLength:
+# Max: 10
+#Metrics/ModuleLength:
+# Max: 100
+#Metrics/CyclomaticComplexity:
+# Max: 6
+#Metrics/PerceivedComplexity:
+# Max: 7
#Style/AccessorMethodName:
# Enabled: false
-#Style/MethodLength:
-# Max: 30
-#Style/ModuleLength:
-# Max: 150
-Style/PerlBackrefs:
- Enabled: false
+#Style/MultilineOperationIndentation:
+# Enabled: false
+#Style/PerlBackrefs:
+# Enabled: false
# CHANGELOG for openldap-grid
+0.2.5
+-----
+- refactoring.
+
0.2.4
-----
- bug fix: key access group modification.
require 'rspec/core/rake_task'
require 'rubocop/rake_task'
require 'foodcritic'
+require 'stove/rake_task'
namespace :style do
desc 'Run Ruby style checks'
- RuboCop::RakeTask.new(:ruby)
+ RuboCop::RakeTask.new(:ruby) do |t|
+ t.options = [
+ '--auto-gen-config', # creates .rubocop_todo.yml
+ ]
+ end
desc 'Run Chef style checks'
FoodCritic::Rake::LintTask.new(:chef) do |t|
desc 'Run ChefSpec examples'
RSpec::Core::RakeTask.new(:spec)
+desc 'Publish cookbook'
+Stove::RakeTask.new(:publish) do |t|
+ t.stove_opts = [
+ # `--username` and `--key` are set in ~/.stove typically.
+ #'--username', 'somebody',
+ #'--key', '~/chef/chef.io.example.com/somebody.pem',
+ #'--endpoint', 'https://supermarket.io.example.com/api/v1', # default: supermarket.chef.io
+ #'--no-ssl-verify',
+ '--no-git',
+ '--log-level', 'info',
+ ]
+end
+
task default: ['style', 'spec']
--- /dev/null
+---
+# $ fly -t target sp -p openldap-grid-cookbook -c concourse.yml -l fly-vars.yml -l ~/sec/credentials-prod.yml
+resources:
+- name: src-git
+ type: git
+ source:
+ uri: ((git-id-osdn))@git.osdn.net:/gitroot/metasearch/grid-chef-repo.git
+ branch: master
+ paths:
+ - cookbooks/((cookbook-name))
+ private_key: ((git-private-key))
+ git_user: ((git-user-osdn))
+ #check_every: 1h # default: 1m
+- name: chefdk-cache
+ type: docker-image
+ source:
+ repository: chef/chefdk
+ tag: ((chefdk-version))
+ # ((param)) style: fly >= 3.2.0
+ registry_mirror: https://((registry-mirror-domain)) # e.g. https://registry.docker.example.com:5000
+ ca_certs:
+ - domain: ((registry-mirror-domain)) # e.g. registry.docker.example.com:5000
+ cert: ((docker-reg-ca-cert))
+ check_every: 12h # default: 1m
+
+jobs:
+- name: test-cookbook
+ plan:
+ - aggregate:
+ - get: src-git
+ params:
+ depth: 5
+ trigger: true
+ - get: chefdk-cache
+ - task: ci-build
+ image: chefdk-cache
+ params:
+ http_proxy: ((http-proxy)) # e.g. http://proxy.example.com:3128
+ #HTTP_PROXY: ((http-proxy))
+ config:
+ platform: linux
+ #image_resource:
+ # type: docker-image
+ # source:
+ # repository: chef/chefdk
+ # tag: ((chefdk-version))
+ # NG, setting disable
+ #registry_mirror: https://((registry-mirror-domain))
+ #ca_certs:
+ #- domain: ((registry-mirror-domain))
+ # cert: ((docker-reg-ca-cert))
+ inputs:
+ - name: src-git
+ run:
+ #dir: ./src-git/cookbooks/((cookbook-name))
+ #path: rake
+ path: /bin/bash
+ args:
+ - -c
+ - |
+ cd ./src-git/cookbooks/((cookbook-name))
+ bundle install
+ rake
+- name: publish-cookbook
+ plan:
+ - aggregate:
+ - get: src-git
+ params:
+ depth: 5
+ trigger: false
+ passed: [test-cookbook]
+ - get: chefdk-cache
+ passed: [test-cookbook]
+ - task: publish
+ image: chefdk-cache
+ params:
+ http_proxy: ((http-proxy))
+ chef_username: ((chef-username))
+ chef_client_key: ((chef-client-key))
+ config:
+ platform: linux
+ inputs:
+ - name: src-git
+ run:
+ path: /bin/bash
+ args:
+ - -c
+ - |
+ echo '{"username":"((chef-username))","key":"/root/chef-client-key.pem"}' > /root/.stove
+ echo "$chef_client_key" > /root/chef-client-key.pem
+ cd ./src-git/cookbooks/((cookbook-name))
+ bundle install
+ rake publish
+ - put: src-git
+ params:
+ repository: src-git
+ tag_prefix: ((cookbook-name))-
+ tag: src-git/cookbooks/((cookbook-name))/version
+ only_tag: true
+ annotate: ../src-git/cookbooks/((cookbook-name))/version
--- /dev/null
+---
+cookbook-name: 00cookbook
+chefdk-version: 1.4.3
license 'Apache 2.0'
description 'Installs/Configures openldap'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version '0.2.4'
+version IO.read(File.join(File.dirname(__FILE__), 'version')).chomp
source_url 'http://scm.osdn.jp/gitroot/metasearch/grid-chef-repo.git'
issues_url 'https://osdn.jp/projects/metasearch/ticket'
+chef_version '>= 12'
%w( debian ubuntu centos redhat ).each do |os|
supports os
end
'TLS_CRLFILE',
]
-if node['openldap']['with_ssl_cert_cookbook']
+tls_cacert = node['openldap']['client']['TLS_CACERT']
+if node['openldap']['with_ssl_cert_cookbook'] \
+ && (tls_cacert.nil? || tls_cacert.empty?)
::Chef::Recipe.send(:include, SSLCert::Helper)
- node.override['openldap']['client']['TLS_CACERT'] \
+ node.force_override['openldap']['client']['TLS_CACERT'] \
= ca_cert_path(node['openldap']['ssl_cert']['ca_name'])
end
'pam_authz_search',
]
-if node['openldap']['with_ssl_cert_cookbook']
+tls_cacertfile = node['openldap']['nss-ldapd']['tls_cacertfile']
+if node['openldap']['with_ssl_cert_cookbook'] \
+ && (tls_cacertfile.nil? || tls_cacertfile.empty?)
::Chef::Recipe.send(:include, SSLCert::Helper)
- node.override['openldap']['nss-ldapd']['tls_cacertfile'] \
+ node.force_override['openldap']['nss-ldapd']['tls_cacertfile'] \
= ca_cert_path(node['openldap']['ssl_cert']['ca_name'])
end
is_modified = false
buf = ''
file.each {|line|
- if line =~ /^(\w+):\s+(.*)$/
- if nameservices.include?($1) && !$2.include?('ldap')
- line.chomp! << " ldap\n"
- is_modified = true
- end
+ if line =~ /^(\w+):\s+(.*)$/ \
+ && nameservices.include?($1) && !$2.include?('ldap')
+ line.chomp! << " ldap\n"
+ is_modified = true
end
buf << line
}