synapse-rubycas-server 1.1.3.pre → 1.1.4.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +21 -4
- data/Rakefile +2 -1
- data/bin/cap +16 -0
- data/bin/capify +16 -0
- data/bin/foreman +16 -0
- data/bin/lessc +16 -0
- data/bin/rackup +16 -0
- data/bin/rake2thor +16 -0
- data/bin/rubycas-server +12 -26
- data/bin/therubyracer +16 -0
- data/bin/thor +16 -0
- data/bin/tilt +16 -0
- data/bin/unicorn +16 -0
- data/bin/unicorn_rails +16 -0
- data/config.ru +2 -1
- data/config/deploy.rb +36 -0
- data/config/deploy/production.rb +4 -0
- data/config/deploy/staging.rb +4 -0
- data/config/recipes/base.rb +8 -0
- data/config/recipes/git.rb +10 -0
- data/config/recipes/nginx.rb +28 -0
- data/config/recipes/puma.rb +38 -0
- data/config/recipes/rubycas.rb +11 -0
- data/config/recipes/templates/nginx.erb +43 -0
- data/config/recipes/templates/puma.erb +13 -0
- data/config/recipes/templates/rubycas.erb +114 -0
- data/config/unicorn/development.rb +14 -0
- data/config/unicorn/production.rb +14 -0
- data/config/unicorn/staging.rb +14 -0
- data/lib/casserver.rb +2 -1
- data/lib/casserver/cas.rb +330 -4
- data/lib/casserver/core_ext/directory_user.rb +3 -2
- data/lib/casserver/server.rb +4 -8
- data/lib/casserver/views/_login_form.erb +15 -36
- data/lib/casserver/views/layout.erb +40 -4
- data/lib/casserver/views/login.erb +13 -27
- data/locales/en.yml +17 -3
- data/public/app.css +9641 -0
- data/public/assets/fontawesome-webfont.eot +0 -0
- data/public/assets/fontawesome-webfont.svg +255 -0
- data/public/assets/fontawesome-webfont.ttf +0 -0
- data/public/assets/fontawesome-webfont.woff +0 -0
- data/public/assets/gothamhtf-black-webfont.eot +0 -0
- data/public/assets/gothamhtf-black-webfont.svg +241 -0
- data/public/assets/gothamhtf-black-webfont.ttf +0 -0
- data/public/assets/gothamhtf-black-webfont.woff +0 -0
- data/public/assets/gothamhtf-blackitalic-webfont.eot +0 -0
- data/public/assets/gothamhtf-blackitalic-webfont.svg +241 -0
- data/public/assets/gothamhtf-blackitalic-webfont.ttf +0 -0
- data/public/assets/gothamhtf-blackitalic-webfont.woff +0 -0
- data/public/assets/gothamhtf-bold-webfont.eot +0 -0
- data/public/assets/gothamhtf-bold-webfont.svg +241 -0
- data/public/assets/gothamhtf-bold-webfont.ttf +0 -0
- data/public/assets/gothamhtf-bold-webfont.woff +0 -0
- data/public/assets/gothamhtf-bolditalic-webfont.eot +0 -0
- data/public/assets/gothamhtf-bolditalic-webfont.svg +241 -0
- data/public/assets/gothamhtf-bolditalic-webfont.ttf +0 -0
- data/public/assets/gothamhtf-bolditalic-webfont.woff +0 -0
- data/public/assets/gothamhtf-book-webfont.eot +0 -0
- data/public/assets/gothamhtf-book-webfont.svg +241 -0
- data/public/assets/gothamhtf-book-webfont.ttf +0 -0
- data/public/assets/gothamhtf-book-webfont.woff +0 -0
- data/public/assets/gothamhtf-bookitalic-webfont.eot +0 -0
- data/public/assets/gothamhtf-bookitalic-webfont.svg +241 -0
- data/public/assets/gothamhtf-bookitalic-webfont.ttf +0 -0
- data/public/assets/gothamhtf-bookitalic-webfont.woff +0 -0
- data/public/assets/gothamhtf-light-webfont.eot +0 -0
- data/public/assets/gothamhtf-light-webfont.svg +241 -0
- data/public/assets/gothamhtf-light-webfont.ttf +0 -0
- data/public/assets/gothamhtf-light-webfont.woff +0 -0
- data/public/assets/gothamhtf-lightitalic-webfont.eot +0 -0
- data/public/assets/gothamhtf-lightitalic-webfont.svg +241 -0
- data/public/assets/gothamhtf-lightitalic-webfont.ttf +0 -0
- data/public/assets/gothamhtf-lightitalic-webfont.woff +0 -0
- data/public/assets/gothamhtf-medium-webfont.eot +0 -0
- data/public/assets/gothamhtf-medium-webfont.svg +241 -0
- data/public/assets/gothamhtf-medium-webfont.ttf +0 -0
- data/public/assets/gothamhtf-medium-webfont.woff +0 -0
- data/public/assets/gothamhtf-thin-webfont.eot +0 -0
- data/public/assets/gothamhtf-thin-webfont.svg +241 -0
- data/public/assets/gothamhtf-thin-webfont.ttf +0 -0
- data/public/assets/gothamhtf-thin-webfont.woff +0 -0
- data/public/assets/gothamhtf-thinitalic-webfont.eot +0 -0
- data/public/assets/gothamhtf-thinitalic-webfont.svg +241 -0
- data/public/assets/gothamhtf-thinitalic-webfont.ttf +0 -0
- data/public/assets/gothamhtf-thinitalic-webfont.woff +0 -0
- data/public/assets/gothamhtf-ultra-webfont.eot +0 -0
- data/public/assets/gothamhtf-ultra-webfont.svg +241 -0
- data/public/assets/gothamhtf-ultra-webfont.ttf +0 -0
- data/public/assets/gothamhtf-ultra-webfont.woff +0 -0
- data/public/assets/gothamhtf-ultraitalic-webfont.eot +0 -0
- data/public/assets/gothamhtf-ultraitalic-webfont.svg +241 -0
- data/public/assets/gothamhtf-ultraitalic-webfont.ttf +0 -0
- data/public/assets/gothamhtf-ultraitalic-webfont.woff +0 -0
- data/public/assets/gothamhtf-xlight-webfont.eot +0 -0
- data/public/assets/gothamhtf-xlight-webfont.svg +241 -0
- data/public/assets/gothamhtf-xlight-webfont.ttf +0 -0
- data/public/assets/gothamhtf-xlight-webfont.woff +0 -0
- data/public/assets/gothamhtf-xlightitalic-webfont.eot +0 -0
- data/public/assets/gothamhtf-xlightitalic-webfont.svg +241 -0
- data/public/assets/gothamhtf-xlightitalic-webfont.ttf +0 -0
- data/public/assets/gothamhtf-xlightitalic-webfont.woff +0 -0
- data/public/css/app.css +190 -0
- data/public/css/bootstrap-responsive.min.css +9 -0
- data/public/css/bootstrap.min.css +9 -0
- data/public/img/glyphicons-halflings-white.png +0 -0
- data/public/img/glyphicons-halflings.png +0 -0
- data/public/js/app.js +0 -0
- data/public/js/bootstrap.min.js +6 -0
- data/public/js/jquery-1.8.0.js +9227 -0
- data/public/themes/app.css +4652 -0
- data/public/themes/cas.css +2 -0
- data/rubycas-server.gemspec +2 -2
- data/spec/casserver_spec.rb +1 -1
- data/spec/config/default_config.yml +1 -1
- metadata +141 -8
- checksums.yaml +0 -15
- data/config/unicorn.rb +0 -88
- data/public/themes/simple/theme.css +0 -28
data/Gemfile
CHANGED
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
source "http://rubygems.org"
|
|
2
|
-
gemspec
|
|
3
2
|
|
|
3
|
+
gem 'appraisal'
|
|
4
|
+
gem 'synapse-rubycas-server', "1.1.4"
|
|
5
|
+
gem "mysql2"
|
|
6
|
+
gem 'activerecord-mysql2-adapter'
|
|
7
|
+
gem "activerecord"
|
|
8
|
+
gem "activesupport"
|
|
9
|
+
gem "sinatra"
|
|
10
|
+
gem "sinatra-r18n"
|
|
11
|
+
gem 'puma', "~> 2.1.1"
|
|
12
|
+
gem "newrelic_rpm"
|
|
13
|
+
gem "rake", "~> 10.0.4"
|
|
14
|
+
|
|
15
|
+
group :development do
|
|
16
|
+
gem 'capistrano-ext'
|
|
17
|
+
gem 'capistrano_colors'
|
|
18
|
+
gem 'capistrano-rbenv'
|
|
19
|
+
gem 'capistrano-unicorn', :require => false
|
|
20
|
+
gem 'foreman'
|
|
21
|
+
gem 'hipchat'
|
|
22
|
+
end
|
|
4
23
|
|
|
5
24
|
# Gems for authenticators
|
|
6
25
|
group :ldap do
|
|
7
|
-
|
|
26
|
+
gem "net-ldap", "~> 0.1.1"
|
|
8
27
|
end
|
|
9
28
|
|
|
10
29
|
group :active_resource do
|
|
11
30
|
gem "activeresource", ">= 2.3.12", "< 4.0"
|
|
12
31
|
end
|
|
13
|
-
|
|
14
|
-
gem "mysql2"
|
data/Rakefile
CHANGED
data/bin/cap
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'cap' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('capistrano', 'cap')
|
data/bin/capify
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'capify' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('capistrano', 'capify')
|
data/bin/foreman
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'foreman' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('foreman', 'foreman')
|
data/bin/lessc
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'lessc' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('less', 'lessc')
|
data/bin/rackup
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'rackup' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('rack', 'rackup')
|
data/bin/rake2thor
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'rake2thor' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('thor', 'rake2thor')
|
data/bin/rubycas-server
CHANGED
|
@@ -1,30 +1,16 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'rubycas-server' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
2
8
|
|
|
3
|
-
|
|
4
|
-
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
5
12
|
|
|
6
13
|
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
7
15
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if ARGV.join.match('--debugger')
|
|
11
|
-
require 'ruby-debug'
|
|
12
|
-
puts
|
|
13
|
-
puts "=> Debugger Enabled"
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
if ARGV.join.match('-c')
|
|
17
|
-
c = ARGV.join.match(/-c\s*([^\s]+)/)
|
|
18
|
-
if (c && c[1])
|
|
19
|
-
ENV['CONFIG_FILE'] = c[1]
|
|
20
|
-
puts
|
|
21
|
-
puts "=> Using custom config file #{ENV['CONFIG_FILE'].inspect}"
|
|
22
|
-
else
|
|
23
|
-
$stderr.puts("To specify a custom config file use `rubycas-server -c path/to/config_file_name.yml`.")
|
|
24
|
-
exit
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
require 'casserver'
|
|
29
|
-
|
|
30
|
-
CASServer::Server.run!
|
|
16
|
+
load Gem.bin_path('rubycas-server', 'rubycas-server')
|
data/bin/therubyracer
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'therubyracer' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('therubyracer', 'therubyracer')
|
data/bin/thor
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'thor' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('thor', 'thor')
|
data/bin/tilt
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'tilt' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('tilt', 'tilt')
|
data/bin/unicorn
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'unicorn' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('unicorn', 'unicorn')
|
data/bin/unicorn_rails
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env ruby-local-exec
|
|
2
|
+
#
|
|
3
|
+
# This file was generated by Bundler.
|
|
4
|
+
#
|
|
5
|
+
# The application 'unicorn_rails' is installed as part of a gem, and
|
|
6
|
+
# this file is here to facilitate running it.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require 'pathname'
|
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
|
11
|
+
Pathname.new(__FILE__).realpath)
|
|
12
|
+
|
|
13
|
+
require 'rubygems'
|
|
14
|
+
require 'bundler/setup'
|
|
15
|
+
|
|
16
|
+
load Gem.bin_path('unicorn', 'unicorn_rails')
|
data/config.ru
CHANGED
data/config/deploy.rb
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require "bundler/capistrano"
|
|
2
|
+
require "capistrano/ext/multistage"
|
|
3
|
+
require 'hipchat/capistrano'
|
|
4
|
+
|
|
5
|
+
load "config/recipes/base"
|
|
6
|
+
load "config/recipes/nginx"
|
|
7
|
+
load "config/recipes/puma"
|
|
8
|
+
load "config/recipes/git"
|
|
9
|
+
load "config/recipes/rubycas"
|
|
10
|
+
|
|
11
|
+
set :user, 'deployer'
|
|
12
|
+
set :application, "rubycas"
|
|
13
|
+
set :deploy_to, "/home/#{user}/apps/#{application}"
|
|
14
|
+
set :deploy_via, :remote_cache
|
|
15
|
+
set :use_sudo, false
|
|
16
|
+
|
|
17
|
+
set :bundle_flags, "--deployment --quiet --binstubs"
|
|
18
|
+
set :bundler, "/home/#{user}/.rbenv/shims/bundle"
|
|
19
|
+
set :default_environment, {
|
|
20
|
+
'PATH' => "/home/#{user}/.rbenv/shims:/home/#{user}/.rbenv/bin:#{current_path}/bin:$PATH"
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
set :repository, "git@gitlab.synapse.com:synapseit/rubycas-server.git"
|
|
24
|
+
set :stages, %w(staging production)
|
|
25
|
+
set :scm, :git
|
|
26
|
+
set :ssh_options, { :forward_agent => true }
|
|
27
|
+
default_run_options[:pty] = true
|
|
28
|
+
|
|
29
|
+
#hipchat
|
|
30
|
+
set :hipchat_token, "513b16064cff1be931093fb28f37c4"
|
|
31
|
+
set :hipchat_room_name, "The Hacker Dojo"
|
|
32
|
+
set :hipchat_announce, true # notify users?
|
|
33
|
+
|
|
34
|
+
#nginx
|
|
35
|
+
set :sudo_user, 'root'
|
|
36
|
+
set :app_port, "80"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
namespace :nginx do
|
|
2
|
+
desc "Install latest stable release of nginx"
|
|
3
|
+
task :install, roles: :web do
|
|
4
|
+
run "#{sudo} add-apt-repository ppa:nginx/stable"
|
|
5
|
+
run "#{sudo} apt-get -y update"
|
|
6
|
+
run "#{sudo} apt-get -y install nginx"
|
|
7
|
+
end
|
|
8
|
+
after "deploy:install", "nginx:install"
|
|
9
|
+
|
|
10
|
+
desc "Setup nginx configuration for this application"
|
|
11
|
+
task :setup, roles: :web do
|
|
12
|
+
template "nginx.erb", "/tmp/nginx_conf"
|
|
13
|
+
run "#{sudo} mv /tmp/nginx_conf /etc/nginx/sites-enabled/#{application}"
|
|
14
|
+
run "#{sudo} rm -f /etc/nginx/sites-enabled/default"
|
|
15
|
+
restart
|
|
16
|
+
end
|
|
17
|
+
after "deploy:setup", "nginx:setup"
|
|
18
|
+
|
|
19
|
+
%w[start stop restart].each do |command|
|
|
20
|
+
desc "#{command} nginx"
|
|
21
|
+
task command, roles: :web do
|
|
22
|
+
run "#{sudo} service nginx #{command}"
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# NOTE: I found it necessary to manually fix the init script as shown here
|
|
28
|
+
# https://bugs.launchpad.net/nginx/+bug/1033856
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
after 'deploy:stop', 'puma:stop'
|
|
2
|
+
after 'deploy:start', 'puma:start'
|
|
3
|
+
after 'deploy:restart', 'puma:restart'
|
|
4
|
+
|
|
5
|
+
_cset(:puma_cmd) { "#{fetch(:bundle_cmd, 'bundle')} exec puma" }
|
|
6
|
+
_cset(:pumactl_cmd) { "#{fetch(:bundle_cmd, 'bundle')} exec pumactl" }
|
|
7
|
+
_cset(:puma_state) { "#{shared_path}/sockets/#{application}-puma.state" }
|
|
8
|
+
_cset(:puma_ctl_sock) { "#{shared_path}/sockets/#{application}-pumactl.sock" }
|
|
9
|
+
_cset(:puma_sock) { "#{shared_path}/sockets/#{application}-puma.sock" }
|
|
10
|
+
_cset(:puma_pid) { "#{shared_path}/pids/puma.pid" }
|
|
11
|
+
_cset(:puma_role) { :app }
|
|
12
|
+
|
|
13
|
+
namespace :puma do
|
|
14
|
+
desc 'Start puma'
|
|
15
|
+
task :start, :roles => lambda { fetch(:puma_role) }, :on_no_matching_servers => :continue do
|
|
16
|
+
puma_env = fetch(:rack_env, fetch(:rails_env, 'production'))
|
|
17
|
+
run "cd #{current_path} && #{fetch(:puma_cmd)} --config #{shared_path}/config/puma.rb", :pty => false
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
desc 'Stop puma'
|
|
21
|
+
task :stop, :roles => lambda { fetch(:puma_role) }, :on_no_matching_servers => :continue do
|
|
22
|
+
run "cd #{current_path} && #{fetch(:pumactl_cmd)} -S #{fetch(:puma_state)} stop"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
desc 'Restart puma'
|
|
26
|
+
task :restart, :roles => lambda { fetch(:puma_role) }, :on_no_matching_servers => :continue do
|
|
27
|
+
run "cd #{current_path} && #{fetch(:pumactl_cmd)} -S #{fetch(:puma_state)} restart"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
desc "Install puma configuration"
|
|
31
|
+
task :setup, roles: :app do
|
|
32
|
+
template "puma.erb", "/tmp/puma_conf"
|
|
33
|
+
run "cd #{shared_path} && mkdir config"
|
|
34
|
+
run "cd #{shared_path} && mkdir sockets"
|
|
35
|
+
run "#{sudo} mv /tmp/puma_conf #{shared_path}/config/puma.rb"
|
|
36
|
+
end
|
|
37
|
+
after "deploy:setup", "puma:setup"
|
|
38
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
namespace :rubycas do
|
|
2
|
+
desc "Setup nginx configuration for this application"
|
|
3
|
+
task :setup, roles: :web do
|
|
4
|
+
template "rubycas.erb", "/tmp/rubycas"
|
|
5
|
+
run "#{sudo} mv /tmp/rubycas /etc/rubycas-server/config.yml"
|
|
6
|
+
end
|
|
7
|
+
after "deploy:setup", "rubycas:setup"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# NOTE: I found it necessary to manually fix the init script as shown here
|
|
11
|
+
# https://bugs.launchpad.net/nginx/+bug/1033856
|