alpha_omega 1.2.1 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. data/VERSION +1 -1
  2. data/bin/{alpha_omega → ao} +1 -1
  3. data/lib/alpha_omega/config/deploy.rb +4 -0
  4. data/lib/alpha_omega/config/deploy_challenge.rb +19 -0
  5. data/lib/alpha_omega/config/deploy_localhost.rb +29 -0
  6. data/lib/alpha_omega/config/deploy_notify.rb +85 -0
  7. data/lib/alpha_omega/config/deploy_ssh.rb +11 -0
  8. data/lib/alpha_omega/deploy.rb +14 -40
  9. data/lib/alpha_omega/utils.rb +22 -18
  10. data/libexec/_ao +194 -0
  11. data/{sbin → libexec}/_bump +0 -0
  12. data/{sbin → libexec}/_jason +19 -27
  13. data/{sbin → libexec}/_log4sh +0 -0
  14. data/{sbin → libexec}/_meat +19 -27
  15. data/{sbin → libexec}/_prime +1 -1
  16. data/{sbin → libexec}/_shflags +0 -0
  17. data/{sbin → libexec}/_shunit +0 -0
  18. data/{sbin → libexec}/_sub +18 -3
  19. data/{sbin → libexec}/_treadstone +1 -1
  20. data/{sbin → libexec}/_versions +0 -0
  21. data/{sbin/ao → libexec/aoh} +3 -3
  22. data/libexec/aoh-activate +22 -0
  23. data/libexec/aoh-check +23 -0
  24. data/libexec/aoh-compare +23 -0
  25. data/libexec/aoh-debug +23 -0
  26. data/libexec/aoh-deploy +22 -0
  27. data/libexec/aoh-dist +23 -0
  28. data/libexec/{ao-dna → aoh-dna} +10 -12
  29. data/libexec/aoh-hosts +24 -0
  30. data/libexec/{ao-lock → aoh-lock} +11 -11
  31. data/libexec/aoh-migrate +23 -0
  32. data/libexec/aoh-proxy +74 -0
  33. data/libexec/aoh-release +23 -0
  34. data/libexec/aoh-remote +37 -0
  35. data/libexec/aoh-restart +23 -0
  36. data/libexec/aoh-rollback +23 -0
  37. data/libexec/aoh-shell +23 -0
  38. data/libexec/aoh-stage +22 -0
  39. data/libexec/aoh-task +24 -0
  40. data/libexec/{ao-unlock → aoh-unlock} +11 -11
  41. data/libexec/build +1 -1
  42. data/libexec/build-gem +1 -1
  43. data/libexec/bump +1 -1
  44. data/libexec/edit-gem +1 -1
  45. data/libexec/local-helper +24 -0
  46. data/libexec/publish +1 -1
  47. data/libexec/publish-gem +1 -1
  48. data/libexec/stub-prepare +3 -7
  49. data/{libexec/ao-shell → sbin/activate} +4 -7
  50. data/{libexec/ao → sbin/aoh} +3 -3
  51. data/{libexec/ao-deploy → sbin/aoh-stub} +4 -7
  52. data/sbin/bump +15 -0
  53. data/sbin/check +20 -0
  54. data/sbin/compare +20 -0
  55. data/sbin/debug +20 -0
  56. data/sbin/deploy +20 -0
  57. data/sbin/dist +20 -0
  58. data/sbin/dna +20 -0
  59. data/sbin/hosts +20 -0
  60. data/sbin/local-helper +15 -0
  61. data/sbin/lock +20 -0
  62. data/sbin/migrate +20 -0
  63. data/sbin/proxy +20 -0
  64. data/sbin/release +20 -0
  65. data/sbin/remote +20 -0
  66. data/sbin/remote-helper +81 -0
  67. data/sbin/restart +20 -0
  68. data/sbin/rollback +20 -0
  69. data/sbin/shell +20 -0
  70. data/sbin/stage +20 -0
  71. data/sbin/stub +3 -3
  72. data/sbin/task +20 -0
  73. data/sbin/unlock +20 -0
  74. metadata +157 -120
  75. data/libexec/ao-activate +0 -23
  76. data/libexec/ao-build +0 -23
  77. data/libexec/ao-check +0 -23
  78. data/libexec/ao-compare +0 -23
  79. data/libexec/ao-cook +0 -23
  80. data/libexec/ao-debug +0 -28
  81. data/libexec/ao-dist +0 -23
  82. data/libexec/ao-hosts +0 -28
  83. data/libexec/ao-migrate +0 -23
  84. data/libexec/ao-plan +0 -23
  85. data/libexec/ao-release +0 -23
  86. data/libexec/ao-restart +0 -23
  87. data/libexec/ao-rollback +0 -23
  88. data/libexec/ao-stage +0 -23
  89. data/libexec/ao-task +0 -24
File without changes
@@ -51,19 +51,23 @@ function __MAN__ {
51
51
  # raw ronn-style Markdown
52
52
  # MAN
53
53
  function display_man {
54
- awk '/^__MAN__/,/^MAN$/ {print}' <"$shome/sbin/$(basename -- "$0")" | tail -n +2 | egrep -v '^MAN$'
54
+ awk '/^__MAN__/,/^MAN$/ {print}' <"$0" | tail -n +2 | egrep -v '^MAN$'
55
55
  }
56
56
 
57
57
  function display_synopsis {
58
- awk '/^#/ && !/^#!/ { print } /^[^#]/ || /^$/ { exit }' <"$shome/sbin/$(basename -- "$0")" | cut -c3-
58
+ awk '/^#/ && !/^#!/ { print } /^[^#]/ || /^$/ { exit }' <"$0" | cut -c3-
59
59
  }
60
60
 
61
61
  function which_library {
62
62
  local library="$1"; shift
63
- if [[ -r "$shome/sbin/_$library" ]]; then
64
- echo "$shome/sbin/_$library"
63
+ if [[ -r "$shome/bin/_$library" ]]; then
64
+ echo "$shome/bin/_$library"
65
+ elif [[ -r "$shome/libexec/_$library" ]]; then
66
+ echo "$shome/libexec/_$library"
65
67
  elif [[ -r "$shome/.$library/bin/_profile" ]]; then
66
68
  echo "$shome/.$library/bin/_profile"
69
+ elif [[ -r "$shome/.$library/libexec/_profile" ]]; then
70
+ echo "$shome/.$library/libexec/_profile"
67
71
  elif [[ -r "$shome/.$library/.profile" ]]; then
68
72
  echo "$shome/.$library/.profile"
69
73
  else
@@ -72,6 +76,8 @@ function which_library {
72
76
  local nm_right="${library##*/}"
73
77
  if [[ -r "$shome/.$nm_library/bin/_$nm_right" ]]; then
74
78
  echo "$shome/.$nm_library/bin/_$nm_right"
79
+ elif [[ -r "$shome/.$nm_library/libexec/_$nm_right" ]]; then
80
+ echo "$shome/.$nm_library/libexec/_$nm_right"
75
81
  fi
76
82
  fi
77
83
  fi
@@ -90,35 +96,21 @@ function require {
90
96
 
91
97
  function parse_command_line {
92
98
  if [[ "$FLAGS_SUB" = "$FLAGS_TRUE" && "$@" > 0 ]]; then
93
- local argv
94
- declare -a argv
95
-
96
- local argc="0"
97
- local arg
98
- local passthrough=
99
- for arg in "$@"; do
100
- if [[ -z "$passthrough" && ! "$arg" =~ ^- ]]; then
101
- argv[argc]="--"
102
- argc="$((argc + 1))"
103
- passthrough=1
104
- fi
105
-
106
- argv[argc]="$arg"
107
- argc="$((argc + 1))"
108
- done
109
-
110
- set -- "${argv[@]}"
99
+ export POSIXLY_CORRECT=1
111
100
  fi
112
101
 
113
102
  if ! FLAGS "$@"; then
114
- if [[ "$flags_error" = "help requested" ]]; then
103
+ unset POSIXLY_CORRECT
104
+ if [[ "$flags_error" = "help requested" ]]; then
115
105
  echo ""
116
- display_help
117
- exit 0
118
- fi
106
+ display_help
107
+ exit 0
108
+ fi
119
109
 
120
110
  return 4
121
111
  fi
112
+
113
+ unset POSIXLY_CORRECT
122
114
  return 0
123
115
  }
124
116
 
@@ -166,7 +158,7 @@ function _main {
166
158
 
167
159
  configure_logging
168
160
 
169
- PATH="$shome/sbin:$PATH"
161
+ PATH="$shome/bin:$PATH"
170
162
  }
171
163
 
172
164
  _main "$@"
File without changes
@@ -51,19 +51,23 @@ function __MAN__ {
51
51
  # raw ronn-style Markdown
52
52
  # MAN
53
53
  function display_man {
54
- awk '/^__MAN__/,/^MAN$/ {print}' <"$shome/sbin/$(basename -- "$0")" | tail -n +2 | egrep -v '^MAN$'
54
+ awk '/^__MAN__/,/^MAN$/ {print}' <"$0" | tail -n +2 | egrep -v '^MAN$'
55
55
  }
56
56
 
57
57
  function display_synopsis {
58
- awk '/^#/ && !/^#!/ { print } /^[^#]/ || /^$/ { exit }' <"$shome/sbin/$(basename -- "$0")" | cut -c3-
58
+ awk '/^#/ && !/^#!/ { print } /^[^#]/ || /^$/ { exit }' <"$0" | cut -c3-
59
59
  }
60
60
 
61
61
  function which_library {
62
62
  local library="$1"; shift
63
- if [[ -r "$shome/sbin/_$library" ]]; then
64
- echo "$shome/sbin/_$library"
63
+ if [[ -r "$shome/bin/_$library" ]]; then
64
+ echo "$shome/bin/_$library"
65
+ elif [[ -r "$shome/libexec/_$library" ]]; then
66
+ echo "$shome/libexec/_$library"
65
67
  elif [[ -r "$shome/.$library/bin/_profile" ]]; then
66
68
  echo "$shome/.$library/bin/_profile"
69
+ elif [[ -r "$shome/.$library/libexec/_profile" ]]; then
70
+ echo "$shome/.$library/libexec/_profile"
67
71
  elif [[ -r "$shome/.$library/.profile" ]]; then
68
72
  echo "$shome/.$library/.profile"
69
73
  else
@@ -72,6 +76,8 @@ function which_library {
72
76
  local nm_right="${library##*/}"
73
77
  if [[ -r "$shome/.$nm_library/bin/_$nm_right" ]]; then
74
78
  echo "$shome/.$nm_library/bin/_$nm_right"
79
+ elif [[ -r "$shome/.$nm_library/libexec/_$nm_right" ]]; then
80
+ echo "$shome/.$nm_library/libexec/_$nm_right"
75
81
  fi
76
82
  fi
77
83
  fi
@@ -90,35 +96,21 @@ function require {
90
96
 
91
97
  function parse_command_line {
92
98
  if [[ "$FLAGS_SUB" = "$FLAGS_TRUE" && "$@" > 0 ]]; then
93
- local argv
94
- declare -a argv
95
-
96
- local argc="0"
97
- local arg
98
- local passthrough=
99
- for arg in "$@"; do
100
- if [[ -z "$passthrough" && ! "$arg" =~ ^- ]]; then
101
- argv[argc]="--"
102
- argc="$((argc + 1))"
103
- passthrough=1
104
- fi
105
-
106
- argv[argc]="$arg"
107
- argc="$((argc + 1))"
108
- done
109
-
110
- set -- "${argv[@]}"
99
+ export POSIXLY_CORRECT=1
111
100
  fi
112
101
 
113
102
  if ! FLAGS "$@"; then
114
- if [[ "$flags_error" = "help requested" ]]; then
103
+ unset POSIXLY_CORRECT
104
+ if [[ "$flags_error" = "help requested" ]]; then
115
105
  echo ""
116
- display_help
117
- exit 0
118
- fi
106
+ display_help
107
+ exit 0
108
+ fi
119
109
 
120
110
  return 4
121
111
  fi
112
+
113
+ unset POSIXLY_CORRECT
122
114
  return 0
123
115
  }
124
116
 
@@ -166,7 +158,7 @@ function _main {
166
158
 
167
159
  configure_logging
168
160
 
169
- PATH="$shome/sbin:$PATH"
161
+ PATH="$shome/bin:$PATH"
170
162
  }
171
163
 
172
164
  _main "$@"
@@ -4,5 +4,5 @@ if [[ -z "${shome:-}" ]]; then
4
4
  shome="$(cd -P -- "$(dirname -- "${BASH_SOURCE}")/.." && pwd -P)"
5
5
  fi
6
6
 
7
- source "$shome/sbin/_jason"
7
+ source "$shome/libexec/_jason"
8
8
  set -fue
File without changes
File without changes
@@ -1,10 +1,17 @@
1
1
  #!/bin/bash
2
2
 
3
+ : ${_JASON_RUBY:=}
4
+
3
5
  function sub {
4
6
  local bsource="$1"; shift
5
7
  local sub_base="$(basename "$bsource")"
6
8
  local bsource_cmd="$shome/libexec/${sub_base}"
7
9
 
10
+ local ruby_loader=
11
+ if [[ -n "$_JASON_RUBY" ]]; then
12
+ ruby_loader="rvm-exec $_JASON_RUBY "
13
+ fi
14
+
8
15
  if [[ "$bsource_cmd" = "$bsource" ]]; then
9
16
  FLAGS_SUB="$FLAGS_TRUE"
10
17
  parse_command_line "$@" || exit $?
@@ -20,18 +27,26 @@ function sub {
20
27
 
21
28
  if [[ -x "$sub_cmd" ]]; then
22
29
  shift
23
- exec "$sub_cmd" "$@"
30
+ exec ${ruby_loader}"$sub_cmd" "$@"
24
31
  fi
25
32
  fi
26
33
  fi
27
-
34
+
28
35
  if [[ -x "$bsource_cmd" && "$bsource_cmd" != "$bsource" ]]; then
29
- exec "$bsource_cmd" "$@"
36
+ exec ${ruby_loader}"$bsource_cmd" "$@"
30
37
  else
31
38
  main "$@"
32
39
  fi
33
40
  }
34
41
 
42
+ if [[ "$shome/config/deploy.yml" ]]; then
43
+ export _JASON_RUBY="$(ryaml "$shome/config/deploy.yml" "app_ruby")"
44
+ fi
45
+
46
+ if [[ ! -x "$(which rvm-exec 2>&1 || true)" ]]; then
47
+ PATH="$PATH:$HOME/.rvm/bin:/usr/local/rvm/bin"
48
+ fi
49
+
35
50
  if [[ "$#" > 0 ]]; then
36
51
  sub "$@"
37
52
  fi
@@ -4,5 +4,5 @@ if [[ -z "${shome:-}" ]]; then
4
4
  shome="$(cd -P -- "$(dirname -- "${BASH_SOURCE}")/.." && pwd -P)"
5
5
  fi
6
6
 
7
- source "$shome/sbin/_jason"
7
+ source "$shome/libexec/_jason"
8
8
  set -fue
File without changes
@@ -1,15 +1,15 @@
1
1
  #!/bin/bash
2
2
 
3
3
  #/ NAME
4
- #/ jason -- uses the jason bourne lib
4
+ #/ aoh -- ao-helper subbed script
5
5
  #/
6
6
  #/ SYNOPSIS
7
- #/ jason
7
+ #/ aoh <ao_command>
8
8
 
9
9
  # figure out the project root under which bin, lib live
10
10
  shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
11
11
 
12
12
  # load a jason bourne library
13
- source "$shome/sbin/_treadstone"
13
+ source "$shome/libexec/_treadstone"
14
14
 
15
15
  require 'sub' "$BASH_SOURCE" "$@"
@@ -0,0 +1,22 @@
1
+ #!/bin/bash
2
+
3
+ #/ NAME
4
+ #/ activate --
5
+ #/
6
+ #/ SYNOPSIS
7
+ #/
8
+ #/ activate
9
+
10
+ # figure out the project root under which bin, lib live
11
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
12
+
13
+ # load a jason bourne library
14
+ source "$shome/libexec/_treadstone"
15
+ require 'ao'
16
+
17
+ function aomain {
18
+ set -- $(for a in "$@"; do echo $a.app; done)
19
+ bundle exec cap "$@" deploy:began deploy:lock deploy:symlink deploy:restart deploy:finished
20
+ }
21
+
22
+ require sub "$BASH_SOURCE" "$@"
data/libexec/aoh-check ADDED
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ #/ NAME
4
+ #/ check --
5
+ #/
6
+ #/ SYNOPSIS
7
+ #/
8
+ #/ check
9
+ #/
10
+
11
+ # figure out the project root under which bin, lib live
12
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
13
+
14
+ # load a jason bourne library
15
+ source "$shome/libexec/_treadstone"
16
+ require 'ao'
17
+
18
+ function aomain {
19
+ set -- $(for a in "$@"; do echo $a.app; done)
20
+ bundle exec cap "$@" deploy:began deploy:lock deploy:check deploy:finished
21
+ }
22
+
23
+ require sub "$BASH_SOURCE" "$@"
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ #/ NAME
4
+ #/ compare --
5
+ #/
6
+ #/ SYNOPSIS
7
+ #/
8
+ #/ compare
9
+ #/
10
+
11
+ # figure out the project root under which bin, lib live
12
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
13
+
14
+ # load a jason bourne library
15
+ source "$shome/libexec/_treadstone"
16
+ require 'ao'
17
+
18
+ function aomain {
19
+ set -- $(for a in "$@"; do echo $a.app; done)
20
+ bundle exec cap "$@" deploy:began deploy:lock_compare deploy:compare deploy:finished
21
+ }
22
+
23
+ require sub "$BASH_SOURCE" "$@"
data/libexec/aoh-debug ADDED
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ #/ NAME
4
+ #/ debug --
5
+ #/
6
+ #/ SYNOPSIS
7
+ #/
8
+ #/ debug
9
+
10
+ # figure out the project root under which bin, lib live
11
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
12
+
13
+ # load a jason bourne library
14
+ source "$shome/libexec/_treadstone"
15
+ require 'ao'
16
+
17
+ function aomain {
18
+ export LOCAL_ONLY=true
19
+ set -- $(for a in "$@"; do echo $a.echo; done)
20
+ bundle exec cap "$@" deploy:began deploy:finished
21
+ }
22
+
23
+ require sub "$BASH_SOURCE" "$@"
@@ -0,0 +1,22 @@
1
+ #!/bin/bash
2
+
3
+ #/ NAME
4
+ #/ deploy --
5
+ #/
6
+ #/ SYNOPSIS
7
+ #/
8
+ #/ deploy
9
+
10
+ # figure out the project root under which bin, lib live
11
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
12
+
13
+ # load a jason bourne library
14
+ source "$shome/libexec/_treadstone"
15
+ require 'ao'
16
+
17
+ function aomain {
18
+ set -- $(for a in "$@"; do echo $a.app; done)
19
+ bundle exec cap "$@" deploy:began deploy:lock deploy deploy:finished
20
+ }
21
+
22
+ require sub "$BASH_SOURCE" "$@"
data/libexec/aoh-dist ADDED
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ #/ NAME
4
+ #/ dist --
5
+ #/
6
+ #/ SYNOPSIS
7
+ #/
8
+ #/ dist
9
+ #/
10
+
11
+ # figure out the project root under which bin, lib live
12
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
13
+
14
+ # load a jason bourne library
15
+ source "$shome/libexec/_treadstone"
16
+ require 'ao'
17
+
18
+ function aomain {
19
+ set -- $(for a in "$@"; do echo $a.app; done)
20
+ bundle exec cap "$@" deploy:began deploy:lock deploy:dist deploy:finished
21
+ }
22
+
23
+ require sub "$BASH_SOURCE" "$@"
@@ -1,29 +1,27 @@
1
1
  #!/bin/bash
2
2
 
3
3
  #/ NAME
4
- #/ ao-dna -- dumps opsdb yaml
4
+ #/ dna --
5
5
  #/
6
6
  #/ SYNOPSIS
7
- #/ ao dna [deploy_set...]
7
+ #/
8
+ #/ dna
9
+ #/
8
10
 
9
11
  # figure out the project root under which bin, lib live
10
12
  shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
11
13
 
12
14
  # load a jason bourne library
13
- source "$shome/sbin/_treadstone"
14
-
15
- # parse the command-line
15
+ source "$shome/libexec/_treadstone"
16
+ require 'ao'
16
17
 
17
- # entry point
18
- function main {
18
+ function aomain {
19
19
  export LOCAL_ONLY=true
20
20
  {
21
+ set -- $(for a in "$@"; do echo $a.yaml; done)
21
22
  echo "eea914aaa8dde6fdae29242b1084a2b0415eefaf ---"
22
- if [[ -n $1 ]]; then
23
- set -- $(for a in "$@"; do echo $a.yaml; done)
24
- cap "$@"
25
- fi
23
+ bundle exec cap "$@" deploy:began deploy:finished
26
24
  } 2>&1 | grep eea914aaa8dde6fdae29242b1084a2b0415eefaf | sed 's#eea914aaa8dde6fdae29242b1084a2b0415eefaf ##'
27
25
  }
28
26
 
29
- require 'sub' "$BASH_SOURCE" "$@"
27
+ require sub "$BASH_SOURCE" "$@"