Commit 685ad1b
Changed files (2)
recipes
spec
recipes/nginx.rb
@@ -0,0 +1,25 @@
+package 'nginx' do
+ action :install
+end
+
+directory "/etc/nginx/ssl" do
+ owner "root"
+ group "root"
+ mode "0644"
+ action :create
+end
+
+cookbook_file "/etc/nginx/ssl/#{node['nginx']['domain']}.crt" do
+ source "#{node.chef_environment}.crt"
+ mode "0644"
+end
+
+cookbook_file "/etc/nginx/ssl/#{node['nginx']['domain']}.key" do
+ source "#{node.chef_environment}.key"
+ mode "0644"
+end
+
+cookbook_file "/etc/nginx/conf.d/blacklist.conf" do
+ source "blacklist.conf"
+ mode "0644"
+end
spec/nginx_spec.rb
@@ -0,0 +1,33 @@
+describe 'mokhan-myface::nginx' do
+ let(:chef_run) do
+ ChefSpec::SoloRunner.new do |node|
+ node.set['nginx']['domain'] = 'www.example.com'
+ end.converge(described_recipe)
+ end
+
+ it 'installs nginx' do
+ expect(chef_run).to install_package("nginx")
+ end
+
+ it 'creates a directory for the ssl certificates' do
+ expect(chef_run).to create_directory('/etc/nginx/ssl')
+ .with_owner('root')
+ .with_group('root')
+ .with_mode('0644')
+ end
+
+ it 'copies the ssl certificate' do
+ expect(chef_run).to create_cookbook_file("/etc/nginx/ssl/www.example.com.crt")
+ .with_mode("0644")
+ end
+
+ it 'copies the ssl private key' do
+ expect(chef_run).to create_cookbook_file("/etc/nginx/ssl/www.example.com.key")
+ .with_mode("0644")
+ end
+
+ it 'copies over the blacklist file' do
+ expect(chef_run).to create_cookbook_file("/etc/nginx/conf.d/blacklist.conf")
+ .with_mode("0644")
+ end
+end