alpha_omega 1.2.1 → 1.3.1

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.
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" "$@"