From 51d5d75fc0a1876253cd8221e0939b4ae0f0b1a3 Mon Sep 17 00:00:00 2001 From: William Mantly Date: Mon, 27 May 2019 01:55:44 -0400 Subject: [PATCH 1/3] renamed recipe --- recipes/apache.rb | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 recipes/apache.rb diff --git a/recipes/apache.rb b/recipes/apache.rb new file mode 100644 index 0000000..38fdc1a --- /dev/null +++ b/recipes/apache.rb @@ -0,0 +1,52 @@ +[ + 'apache2', + 'apache2-dev', + 'libapache2-mod-wsgi-py3', +].each do |pkg| + apt_package pkg +end + +file '/etc/apache2/sites-enabled/000-default.conf' do + action :delete +end + +execute 'enable apache mods' do + command 'a2enmod expires' +end + +if node['web']['do_ssl'] + apt_repository 'certbot apt repo' do + uri 'ppa:certbot/certbot' + repo_name 'ppa-certbot' + deb_src true + action :add + end + + apt_update + + [ + 'software-properties-common', + 'certbot', + 'python-certbot-apache', + ].each do |pkg| + apt_package pkg + end + + execute 'apache certbot' do + command "sudo certbot certonly --standalone -d #{node['app']['domain']} --non-interactive --agree-tos --email #{node['web']['admin_email']}" + end +end + +if node['web']['socket.io'] + execute 'enable apache mods' do + command 'a2enmod rewrite; a2enmod proxy_wstunnel; a2enmod proxy_http' + end +end + +template '/etc/apache2/sites-enabled/000-server.conf' do + source 'apache/vhost.conf.erb' +end + +systemd_unit 'apache2.service' do + action :restart +end From ebb0b2ddbdc4a3a5f1d2087a0a0872ebdfd34e67 Mon Sep 17 00:00:00 2001 From: William Mantly Date: Mon, 27 May 2019 01:56:11 -0400 Subject: [PATCH 2/3] added NodeJS recipe --- recipes/default.rb | 52 ---------------------------------------------- recipes/nodejs.rb | 45 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 52 deletions(-) delete mode 100644 recipes/default.rb create mode 100644 recipes/nodejs.rb diff --git a/recipes/default.rb b/recipes/default.rb deleted file mode 100644 index 38fdc1a..0000000 --- a/recipes/default.rb +++ /dev/null @@ -1,52 +0,0 @@ -[ - 'apache2', - 'apache2-dev', - 'libapache2-mod-wsgi-py3', -].each do |pkg| - apt_package pkg -end - -file '/etc/apache2/sites-enabled/000-default.conf' do - action :delete -end - -execute 'enable apache mods' do - command 'a2enmod expires' -end - -if node['web']['do_ssl'] - apt_repository 'certbot apt repo' do - uri 'ppa:certbot/certbot' - repo_name 'ppa-certbot' - deb_src true - action :add - end - - apt_update - - [ - 'software-properties-common', - 'certbot', - 'python-certbot-apache', - ].each do |pkg| - apt_package pkg - end - - execute 'apache certbot' do - command "sudo certbot certonly --standalone -d #{node['app']['domain']} --non-interactive --agree-tos --email #{node['web']['admin_email']}" - end -end - -if node['web']['socket.io'] - execute 'enable apache mods' do - command 'a2enmod rewrite; a2enmod proxy_wstunnel; a2enmod proxy_http' - end -end - -template '/etc/apache2/sites-enabled/000-server.conf' do - source 'apache/vhost.conf.erb' -end - -systemd_unit 'apache2.service' do - action :restart -end diff --git a/recipes/nodejs.rb b/recipes/nodejs.rb new file mode 100644 index 0000000..86575b0 --- /dev/null +++ b/recipes/nodejs.rb @@ -0,0 +1,45 @@ +version = { + 8 => { + 'version' => '8.16.0', + 'url' => 'https://nodejs.org/dist/latest-v8.x/node-v8.16.0-linux-x64.tar.gz', + 'checksum' => 'b391450e0fead11f61f119ed26c713180cfe64b363cd945bac229130dfab64fa' + }, + 10 => { + 'version' => '10.15.3', + 'url' => 'https://nodejs.org/dist/latest-v10.x/node-v10.15.3-linux-x64.tar.gz', + 'checksum' => '6c35b85a7cd4188ab7578354277b2b2ca43eacc864a2a16b3669753ec2369d52' + } +} + +unless node['node']['working-dir'][0] == '/' + node.override['node']['working-dir'] = "#{node['working-dir']}/#{node['node']['working-dir']}" +end + +unless node['node']['version'] + node.default['node']['version'] = 8 +end + +unless version.key?(node['node']['version']) + raise <<~EOH + Unsupported NodeJS version #{node['node']['version']}. + Supports #{version.keys}. + EOH +end + +set_version = version[node['node']['version']] + +node.default['nodejs']['install_method'] = 'binary' +node.default['nodejs']['version'] = set_version['version'] +node.default['nodejs']['binary']['url'] = set_version['url'] +node.default['nodejs']['binary']['checksum'] = set_version['checksum'] + +include_recipe "nodejs" + +execute 'Install NPM package.json' do + cwd node['node']['working-dir'] + command "npm --prefix \"#{node['node']['working-dir']}\" install" +end + +directory "/var/log/node/#{node['app']['name']}" do + recursive true +end From ace668ff8b39899cbc0774d25962b46838206919 Mon Sep 17 00:00:00 2001 From: William Mantly Date: Mon, 27 May 2019 02:03:10 -0400 Subject: [PATCH 3/3] Defaults for nodeJS --- attributes/nodejs.rb | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 attributes/nodejs.rb diff --git a/attributes/nodejs.rb b/attributes/nodejs.rb new file mode 100644 index 0000000..34fdaed --- /dev/null +++ b/attributes/nodejs.rb @@ -0,0 +1,4 @@ +default['NodeJS']['version'] = 8 +default['NodeJS']['working-dir'] = 'src/nodejs' +default['NodeJS']['exec_file'] = 'app.js' +default['NodeJS']['port'] = '8001'