dapp 0.8.0 → 0.9.0

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 (299) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dapp +5 -5
  3. data/config/en/common.yml +6 -4
  4. data/config/en/net_status.yml +8 -7
  5. data/lib/dapp.rb +157 -139
  6. data/lib/dapp/cli.rb +6 -16
  7. data/lib/dapp/cli/base.rb +3 -5
  8. data/lib/dapp/config/base.rb +19 -7
  9. data/lib/dapp/config/directive/base.rb +0 -1
  10. data/lib/dapp/config/error/config.rb +7 -0
  11. data/lib/dapp/core_ext/hash.rb +0 -2
  12. data/lib/dapp/core_ext/pathname.rb +1 -3
  13. data/lib/dapp/{project.rb → dapp.rb} +2 -21
  14. data/lib/dapp/{project → dapp}/chef.rb +2 -4
  15. data/lib/dapp/{project → dapp}/dappfile.rb +5 -7
  16. data/lib/dapp/{project → dapp}/deps/base.rb +3 -6
  17. data/lib/dapp/{project → dapp}/deps/gitartifact.rb +2 -5
  18. data/lib/dapp/{project → dapp}/git_artifact.rb +2 -4
  19. data/lib/dapp/{project → dapp}/lock.rb +3 -5
  20. data/lib/dapp/{project → dapp}/logging/base.rb +2 -5
  21. data/lib/dapp/{project → dapp}/logging/i18n.rb +2 -3
  22. data/lib/dapp/{project → dapp}/logging/paint.rb +2 -4
  23. data/lib/dapp/{project → dapp}/logging/process.rb +2 -5
  24. data/lib/dapp/{project → dapp}/shellout/base.rb +2 -4
  25. data/lib/dapp/{project → dapp}/shellout/streaming.rb +3 -8
  26. data/lib/dapp/{project → dapp}/ssh_agent.rb +6 -9
  27. data/lib/dapp/dimg.rb +1 -192
  28. data/lib/dapp/dimg/artifact.rb +24 -0
  29. data/lib/dapp/dimg/build/stage/after_install_artifact.rb +14 -0
  30. data/lib/dapp/dimg/build/stage/after_setup_artifact.rb +18 -0
  31. data/lib/dapp/dimg/build/stage/artifact_base.rb +80 -0
  32. data/lib/dapp/dimg/build/stage/artifact_default.rb +63 -0
  33. data/lib/dapp/dimg/build/stage/base.rb +210 -0
  34. data/lib/dapp/dimg/build/stage/before_install.rb +33 -0
  35. data/lib/dapp/dimg/build/stage/before_install_artifact.rb +14 -0
  36. data/lib/dapp/dimg/build/stage/before_setup.rb +31 -0
  37. data/lib/dapp/dimg/build/stage/before_setup_artifact.rb +14 -0
  38. data/lib/dapp/dimg/build/stage/build_artifact.rb +31 -0
  39. data/lib/dapp/dimg/build/stage/docker_instructions.rb +25 -0
  40. data/lib/dapp/dimg/build/stage/from.rb +50 -0
  41. data/lib/dapp/dimg/build/stage/ga_archive.rb +28 -0
  42. data/lib/dapp/dimg/build/stage/ga_archive_dependencies.rb +27 -0
  43. data/lib/dapp/dimg/build/stage/ga_artifact_patch.rb +22 -0
  44. data/lib/dapp/dimg/build/stage/ga_base.rb +80 -0
  45. data/lib/dapp/dimg/build/stage/ga_dependencies_base.rb +20 -0
  46. data/lib/dapp/dimg/build/stage/ga_latest_patch.rb +54 -0
  47. data/lib/dapp/dimg/build/stage/import_artifact.rb +64 -0
  48. data/lib/dapp/dimg/build/stage/install/ga_post_install_patch.rb +22 -0
  49. data/lib/dapp/dimg/build/stage/install/ga_post_install_patch_dependencies.rb +22 -0
  50. data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch.rb +22 -0
  51. data/lib/dapp/dimg/build/stage/install/ga_pre_install_patch_dependencies.rb +22 -0
  52. data/lib/dapp/dimg/build/stage/install/install.rb +35 -0
  53. data/lib/dapp/dimg/build/stage/mod/group.rb +42 -0
  54. data/lib/dapp/dimg/build/stage/mod/logging.rb +101 -0
  55. data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch.rb +22 -0
  56. data/lib/dapp/dimg/build/stage/setup/ga_post_setup_patch_dependencies.rb +32 -0
  57. data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch.rb +22 -0
  58. data/lib/dapp/dimg/build/stage/setup/ga_pre_setup_patch_dependencies.rb +22 -0
  59. data/lib/dapp/dimg/build/stage/setup/setup.rb +35 -0
  60. data/lib/dapp/dimg/builder.rb +6 -0
  61. data/lib/dapp/{builder → dimg/builder}/base.rb +4 -5
  62. data/lib/dapp/{builder → dimg/builder}/chef.rb +41 -33
  63. data/lib/dapp/dimg/builder/chef/berksfile.rb +121 -0
  64. data/lib/dapp/dimg/builder/chef/cookbook.rb +285 -0
  65. data/lib/dapp/dimg/builder/chef/cookbook_metadata.rb +106 -0
  66. data/lib/dapp/{builder → dimg/builder}/none.rb +4 -5
  67. data/lib/dapp/{builder → dimg/builder}/shell.rb +5 -6
  68. data/lib/dapp/dimg/cli/base.rb +16 -0
  69. data/lib/dapp/dimg/cli/bp.rb +37 -0
  70. data/lib/dapp/dimg/cli/build.rb +64 -0
  71. data/lib/dapp/dimg/cli/build_context.rb +18 -0
  72. data/lib/dapp/dimg/cli/build_context/export.rb +26 -0
  73. data/lib/dapp/dimg/cli/build_context/import.rb +17 -0
  74. data/lib/dapp/dimg/cli/cleanup.rb +22 -0
  75. data/lib/dapp/dimg/cli/cli.rb +1 -0
  76. data/lib/dapp/dimg/cli/dimg.rb +30 -0
  77. data/lib/dapp/dimg/cli/list.rb +17 -0
  78. data/lib/dapp/dimg/cli/mrproper.rb +26 -0
  79. data/lib/dapp/dimg/cli/push.rb +61 -0
  80. data/lib/dapp/dimg/cli/run.rb +59 -0
  81. data/lib/dapp/{cli → dimg/cli}/spush.rb +7 -7
  82. data/lib/dapp/dimg/cli/stage_image.rb +24 -0
  83. data/lib/dapp/dimg/cli/stages.rb +22 -0
  84. data/lib/dapp/dimg/cli/stages/cleanup_local.rb +44 -0
  85. data/lib/dapp/dimg/cli/stages/cleanup_repo.rb +26 -0
  86. data/lib/dapp/dimg/cli/stages/flush_local.rb +23 -0
  87. data/lib/dapp/dimg/cli/stages/flush_repo.rb +24 -0
  88. data/lib/dapp/dimg/cli/stages/pull.rb +28 -0
  89. data/lib/dapp/dimg/cli/stages/push.rb +24 -0
  90. data/lib/dapp/dimg/cli/tag.rb +24 -0
  91. data/lib/dapp/dimg/config/artifact_dimg.rb +17 -0
  92. data/lib/dapp/dimg/config/artifact_group.rb +47 -0
  93. data/lib/dapp/dimg/config/base.rb +7 -0
  94. data/lib/dapp/dimg/config/dimg.rb +24 -0
  95. data/lib/dapp/dimg/config/dimg/instance_methods.rb +177 -0
  96. data/lib/dapp/dimg/config/dimg/validation.rb +126 -0
  97. data/lib/dapp/dimg/config/dimg_group.rb +61 -0
  98. data/lib/dapp/dimg/config/dimg_group_base.rb +54 -0
  99. data/lib/dapp/dimg/config/dimg_group_main.rb +22 -0
  100. data/lib/dapp/dimg/config/directive/artifact.rb +70 -0
  101. data/lib/dapp/dimg/config/directive/artifact_base.rb +97 -0
  102. data/lib/dapp/dimg/config/directive/base.rb +9 -0
  103. data/lib/dapp/dimg/config/directive/chef.rb +68 -0
  104. data/lib/dapp/dimg/config/directive/docker/artifact.rb +15 -0
  105. data/lib/dapp/dimg/config/directive/docker/base.rb +22 -0
  106. data/lib/dapp/dimg/config/directive/docker/dimg.rb +82 -0
  107. data/lib/dapp/dimg/config/directive/git_artifact_local.rb +47 -0
  108. data/lib/dapp/dimg/config/directive/git_artifact_remote.rb +58 -0
  109. data/lib/dapp/dimg/config/directive/mount.rb +27 -0
  110. data/lib/dapp/dimg/config/directive/shell/artifact.rb +18 -0
  111. data/lib/dapp/dimg/config/directive/shell/dimg.rb +65 -0
  112. data/lib/dapp/dimg/dapp/command.rb +21 -0
  113. data/lib/dapp/dimg/dapp/command/bp.rb +20 -0
  114. data/lib/dapp/dimg/dapp/command/build.rb +22 -0
  115. data/lib/dapp/dimg/dapp/command/build_context/common.rb +27 -0
  116. data/lib/dapp/dimg/dapp/command/build_context/export.rb +55 -0
  117. data/lib/dapp/dimg/dapp/command/build_context/import.rb +71 -0
  118. data/lib/dapp/dimg/dapp/command/cleanup.rb +23 -0
  119. data/lib/dapp/dimg/dapp/command/common.rb +96 -0
  120. data/lib/dapp/dimg/dapp/command/list.rb +19 -0
  121. data/lib/dapp/dimg/dapp/command/mrproper.rb +75 -0
  122. data/lib/dapp/dimg/dapp/command/push.rb +27 -0
  123. data/lib/dapp/dimg/dapp/command/run.rb +15 -0
  124. data/lib/dapp/dimg/dapp/command/spush.rb +17 -0
  125. data/lib/dapp/dimg/dapp/command/stage_image.rb +14 -0
  126. data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +137 -0
  127. data/lib/dapp/dimg/dapp/command/stages/cleanup_repo.rb +124 -0
  128. data/lib/dapp/dimg/dapp/command/stages/common.rb +85 -0
  129. data/lib/dapp/dimg/dapp/command/stages/flush_local.rb +21 -0
  130. data/lib/dapp/dimg/dapp/command/stages/flush_repo.rb +21 -0
  131. data/lib/dapp/dimg/dapp/command/stages/pull.rb +26 -0
  132. data/lib/dapp/dimg/dapp/command/stages/push.rb +22 -0
  133. data/lib/dapp/dimg/dapp/command/tag.rb +17 -0
  134. data/lib/dapp/dimg/dimg.rb +192 -0
  135. data/lib/dapp/dimg/dimg/git_artifact.rb +26 -0
  136. data/lib/dapp/dimg/dimg/path.rb +37 -0
  137. data/lib/dapp/dimg/dimg/stages.rb +60 -0
  138. data/lib/dapp/dimg/dimg/tags.rb +65 -0
  139. data/lib/dapp/dimg/docker_registry.rb +37 -0
  140. data/lib/dapp/dimg/docker_registry/base.rb +109 -0
  141. data/lib/dapp/dimg/docker_registry/base/authorization.rb +63 -0
  142. data/lib/dapp/dimg/docker_registry/base/request.rb +34 -0
  143. data/lib/dapp/dimg/docker_registry/default.rb +18 -0
  144. data/lib/dapp/dimg/error/base.rb +7 -0
  145. data/lib/dapp/dimg/error/build.rb +7 -0
  146. data/lib/dapp/dimg/error/chef.rb +11 -0
  147. data/lib/dapp/dimg/error/command.rb +7 -0
  148. data/lib/dapp/dimg/error/config.rb +7 -0
  149. data/lib/dapp/dimg/error/dimg.rb +7 -0
  150. data/lib/dapp/dimg/error/lock.rb +7 -0
  151. data/lib/dapp/dimg/error/registry.rb +7 -0
  152. data/lib/dapp/dimg/error/rugged.rb +7 -0
  153. data/lib/dapp/dimg/error/shellout.rb +7 -0
  154. data/lib/dapp/dimg/error/tar_writer.rb +7 -0
  155. data/lib/dapp/dimg/exception/base.rb +7 -0
  156. data/lib/dapp/dimg/exception/introspect_image.rb +7 -0
  157. data/lib/dapp/dimg/exception/registry.rb +7 -0
  158. data/lib/dapp/dimg/filelock.rb +43 -0
  159. data/lib/dapp/dimg/git_artifact.rb +241 -18
  160. data/lib/dapp/dimg/git_repo/base.rb +90 -0
  161. data/lib/dapp/dimg/git_repo/own.rb +39 -0
  162. data/lib/dapp/dimg/git_repo/remote.rb +50 -0
  163. data/lib/dapp/dimg/image/argument.rb +143 -0
  164. data/lib/dapp/dimg/image/docker.rb +127 -0
  165. data/lib/dapp/dimg/image/scratch.rb +32 -0
  166. data/lib/dapp/dimg/image/stage.rb +95 -0
  167. data/lib/dapp/dimg/lock/base.rb +51 -0
  168. data/lib/dapp/dimg/lock/file.rb +48 -0
  169. data/lib/dapp/error/base.rb +0 -1
  170. data/lib/dapp/error/dapp.rb +5 -0
  171. data/lib/dapp/error/dappfile.rb +0 -1
  172. data/lib/dapp/error/shellout.rb +0 -1
  173. data/lib/dapp/exception/base.rb +0 -1
  174. data/lib/dapp/helper/cli.rb +5 -6
  175. data/lib/dapp/helper/net_status.rb +0 -1
  176. data/lib/dapp/helper/sha256.rb +0 -1
  177. data/lib/dapp/helper/trivia.rb +0 -1
  178. data/lib/dapp/prctl.rb +0 -1
  179. data/lib/dapp/version.rb +1 -2
  180. metadata +172 -140
  181. data/lib/dapp/artifact.rb +0 -23
  182. data/lib/dapp/build/stage/after_install_artifact.rb +0 -13
  183. data/lib/dapp/build/stage/after_setup_artifact.rb +0 -17
  184. data/lib/dapp/build/stage/artifact_base.rb +0 -80
  185. data/lib/dapp/build/stage/artifact_default.rb +0 -63
  186. data/lib/dapp/build/stage/base.rb +0 -203
  187. data/lib/dapp/build/stage/before_install.rb +0 -32
  188. data/lib/dapp/build/stage/before_install_artifact.rb +0 -13
  189. data/lib/dapp/build/stage/before_setup.rb +0 -30
  190. data/lib/dapp/build/stage/before_setup_artifact.rb +0 -13
  191. data/lib/dapp/build/stage/build_artifact.rb +0 -36
  192. data/lib/dapp/build/stage/docker_instructions.rb +0 -24
  193. data/lib/dapp/build/stage/from.rb +0 -34
  194. data/lib/dapp/build/stage/ga_archive.rb +0 -27
  195. data/lib/dapp/build/stage/ga_archive_dependencies.rb +0 -26
  196. data/lib/dapp/build/stage/ga_artifact_patch.rb +0 -21
  197. data/lib/dapp/build/stage/ga_base.rb +0 -79
  198. data/lib/dapp/build/stage/ga_dependencies_base.rb +0 -19
  199. data/lib/dapp/build/stage/ga_latest_patch.rb +0 -53
  200. data/lib/dapp/build/stage/import_artifact.rb +0 -65
  201. data/lib/dapp/build/stage/install/ga_post_install_patch.rb +0 -21
  202. data/lib/dapp/build/stage/install/ga_post_install_patch_dependencies.rb +0 -21
  203. data/lib/dapp/build/stage/install/ga_pre_install_patch.rb +0 -21
  204. data/lib/dapp/build/stage/install/ga_pre_install_patch_dependencies.rb +0 -21
  205. data/lib/dapp/build/stage/install/install.rb +0 -40
  206. data/lib/dapp/build/stage/mod/group.rb +0 -42
  207. data/lib/dapp/build/stage/mod/logging.rb +0 -104
  208. data/lib/dapp/build/stage/setup/ga_post_setup_patch.rb +0 -21
  209. data/lib/dapp/build/stage/setup/ga_post_setup_patch_dependencies.rb +0 -31
  210. data/lib/dapp/build/stage/setup/ga_pre_setup_patch.rb +0 -21
  211. data/lib/dapp/build/stage/setup/ga_pre_setup_patch_dependencies.rb +0 -21
  212. data/lib/dapp/build/stage/setup/setup.rb +0 -40
  213. data/lib/dapp/builder/chef/berksfile.rb +0 -78
  214. data/lib/dapp/builder/chef/cookbook.rb +0 -257
  215. data/lib/dapp/builder/chef/cookbook_metadata.rb +0 -54
  216. data/lib/dapp/builder/chef/error.rb +0 -12
  217. data/lib/dapp/cli/bp.rb +0 -37
  218. data/lib/dapp/cli/build.rb +0 -60
  219. data/lib/dapp/cli/cleanup.rb +0 -22
  220. data/lib/dapp/cli/list.rb +0 -17
  221. data/lib/dapp/cli/mrproper.rb +0 -26
  222. data/lib/dapp/cli/push.rb +0 -61
  223. data/lib/dapp/cli/run.rb +0 -53
  224. data/lib/dapp/cli/stage_image.rb +0 -24
  225. data/lib/dapp/cli/stages.rb +0 -23
  226. data/lib/dapp/cli/stages/cleanup_local.rb +0 -44
  227. data/lib/dapp/cli/stages/cleanup_repo.rb +0 -26
  228. data/lib/dapp/cli/stages/flush_local.rb +0 -23
  229. data/lib/dapp/cli/stages/flush_repo.rb +0 -24
  230. data/lib/dapp/cli/stages/pull.rb +0 -28
  231. data/lib/dapp/cli/stages/push.rb +0 -24
  232. data/lib/dapp/cli/tag.rb +0 -24
  233. data/lib/dapp/config/artifact_dimg.rb +0 -20
  234. data/lib/dapp/config/artifact_group.rb +0 -56
  235. data/lib/dapp/config/dimg.rb +0 -23
  236. data/lib/dapp/config/dimg/instance_methods.rb +0 -194
  237. data/lib/dapp/config/dimg/validation.rb +0 -125
  238. data/lib/dapp/config/dimg_group.rb +0 -60
  239. data/lib/dapp/config/dimg_group_base.rb +0 -53
  240. data/lib/dapp/config/dimg_group_main.rb +0 -21
  241. data/lib/dapp/config/directive/artifact.rb +0 -69
  242. data/lib/dapp/config/directive/artifact_base.rb +0 -93
  243. data/lib/dapp/config/directive/chef.rb +0 -57
  244. data/lib/dapp/config/directive/docker/artifact.rb +0 -15
  245. data/lib/dapp/config/directive/docker/base.rb +0 -20
  246. data/lib/dapp/config/directive/docker/dimg.rb +0 -81
  247. data/lib/dapp/config/directive/git_artifact_local.rb +0 -13
  248. data/lib/dapp/config/directive/git_artifact_remote.rb +0 -57
  249. data/lib/dapp/config/directive/mount.rb +0 -26
  250. data/lib/dapp/config/directive/shell/artifact.rb +0 -17
  251. data/lib/dapp/config/directive/shell/dimg.rb +0 -65
  252. data/lib/dapp/dimg/path.rb +0 -37
  253. data/lib/dapp/dimg/stages.rb +0 -59
  254. data/lib/dapp/dimg/tags.rb +0 -65
  255. data/lib/dapp/docker_registry.rb +0 -36
  256. data/lib/dapp/docker_registry/base.rb +0 -109
  257. data/lib/dapp/docker_registry/default.rb +0 -18
  258. data/lib/dapp/docker_registry/mod/authorization.rb +0 -63
  259. data/lib/dapp/docker_registry/mod/request.rb +0 -32
  260. data/lib/dapp/error/build.rb +0 -6
  261. data/lib/dapp/error/config.rb +0 -6
  262. data/lib/dapp/error/dimg.rb +0 -6
  263. data/lib/dapp/error/image.rb +0 -6
  264. data/lib/dapp/error/project.rb +0 -6
  265. data/lib/dapp/error/registry.rb +0 -6
  266. data/lib/dapp/error/rugged.rb +0 -6
  267. data/lib/dapp/error/tar_writer.rb +0 -6
  268. data/lib/dapp/exception/introspect_image.rb +0 -6
  269. data/lib/dapp/exception/registry.rb +0 -6
  270. data/lib/dapp/filelock.rb +0 -43
  271. data/lib/dapp/git_artifact.rb +0 -241
  272. data/lib/dapp/git_repo/base.rb +0 -88
  273. data/lib/dapp/git_repo/own.rb +0 -38
  274. data/lib/dapp/git_repo/remote.rb +0 -49
  275. data/lib/dapp/image/argument.rb +0 -134
  276. data/lib/dapp/image/docker.rb +0 -115
  277. data/lib/dapp/image/scratch.rb +0 -32
  278. data/lib/dapp/image/stage.rb +0 -94
  279. data/lib/dapp/lock/base.rb +0 -51
  280. data/lib/dapp/lock/error.rb +0 -14
  281. data/lib/dapp/lock/file.rb +0 -45
  282. data/lib/dapp/project/command/bp.rb +0 -21
  283. data/lib/dapp/project/command/build.rb +0 -20
  284. data/lib/dapp/project/command/cleanup.rb +0 -24
  285. data/lib/dapp/project/command/common.rb +0 -96
  286. data/lib/dapp/project/command/list.rb +0 -20
  287. data/lib/dapp/project/command/mrproper.rb +0 -69
  288. data/lib/dapp/project/command/push.rb +0 -28
  289. data/lib/dapp/project/command/run.rb +0 -15
  290. data/lib/dapp/project/command/spush.rb +0 -18
  291. data/lib/dapp/project/command/stage_image.rb +0 -15
  292. data/lib/dapp/project/command/stages/cleanup_local.rb +0 -138
  293. data/lib/dapp/project/command/stages/cleanup_repo.rb +0 -125
  294. data/lib/dapp/project/command/stages/common.rb +0 -86
  295. data/lib/dapp/project/command/stages/flush_local.rb +0 -22
  296. data/lib/dapp/project/command/stages/flush_repo.rb +0 -22
  297. data/lib/dapp/project/command/stages/pull.rb +0 -27
  298. data/lib/dapp/project/command/stages/push.rb +0 -23
  299. data/lib/dapp/project/command/tag.rb +0 -18
@@ -1,17 +0,0 @@
1
- module Dapp
2
- class CLI
3
- # CLI list subcommand
4
- class List < Base
5
- banner <<BANNER.freeze
6
- Version: #{Dapp::VERSION}
7
-
8
- Usage:
9
- dapp list [options] [DIMG ...]
10
-
11
- DIMG Dapp image to process [default: *].
12
-
13
- Options:
14
- BANNER
15
- end
16
- end
17
- end
@@ -1,26 +0,0 @@
1
- module Dapp
2
- class CLI
3
- # CLI mrprooper subcommand
4
- class Mrproper < Base
5
- banner <<BANNER.freeze
6
- Version: #{Dapp::VERSION}
7
-
8
- Usage:
9
- dapp mrprooper [options]
10
-
11
- Options:
12
- BANNER
13
- option :proper_all,
14
- long: '--all',
15
- boolean: true
16
-
17
- option :proper_cache_version,
18
- long: '--improper-cache-version-stages',
19
- boolean: true
20
-
21
- option :proper_dev_mode_cache,
22
- long: '--improper-dev-mode-cache',
23
- boolean: true
24
- end
25
- end
26
- end
@@ -1,61 +0,0 @@
1
- module Dapp
2
- class CLI
3
- # CLI push subcommand
4
- class Push < Base
5
- banner <<BANNER.freeze
6
- Version: #{Dapp::VERSION}
7
-
8
- Usage:
9
- dapp push [options] [DIMG ...] REPO
10
-
11
- DIMG Dapp image to process [default: *].
12
-
13
- Options:
14
- BANNER
15
- option :lock_timeout,
16
- long: '--lock-timeout TIMEOUT',
17
- description: 'Redefine resource locking timeout (in seconds)',
18
- proc: ->(v) { v.to_i }
19
-
20
- option :git_artifact_branch,
21
- long: '--git-artifact-branch BRANCH',
22
- description: 'Default branch to archive artifacts from'
23
-
24
- option :tag,
25
- long: '--tag TAG',
26
- description: 'Add tag (can be used one or more times)',
27
- default: [],
28
- proc: proc { |v| composite_options(:tags) << v }
29
-
30
- option :tag_branch,
31
- long: '--tag-branch',
32
- description: 'Tag by git branch',
33
- boolean: true
34
-
35
- option :tag_build_id,
36
- long: '--tag-build-id',
37
- description: 'Tag by CI build id',
38
- boolean: true
39
-
40
- option :tag_ci,
41
- long: '--tag-ci',
42
- description: 'Tag by CI branch and tag',
43
- boolean: true
44
-
45
- option :tag_commit,
46
- long: '--tag-commit',
47
- description: 'Tag by git commit',
48
- boolean: true
49
-
50
- option :with_stages,
51
- long: '--with-stages',
52
- boolean: true
53
-
54
- def run(argv = ARGV)
55
- self.class.parse_options(self, argv)
56
- repo = self.class.required_argument(self)
57
- Project.new(cli_options: config, dimgs_patterns: cli_arguments).public_send(class_to_lowercase, repo)
58
- end
59
- end
60
- end
61
- end
@@ -1,53 +0,0 @@
1
- module Dapp
2
- class CLI
3
- # CLI run subcommand
4
- class Run < Base
5
- banner <<BANNER.freeze
6
- Version: #{Dapp::VERSION}
7
-
8
- Usage:
9
- dapp run [options] [DIMG] [DOCKER ARGS]
10
-
11
- DIMG Dapp image to process [default: *].
12
- DOCKER ARGS Docker run options and command separated by '--'
13
-
14
- Options:
15
- BANNER
16
-
17
- def read_cli_options(args)
18
- self.class.cli_wrapper(self) do
19
- args.each_with_index do |arg, i|
20
- next if arg == '--'
21
- next if (key = find_option(arg)).nil?
22
- cli_option = []
23
- cli_option << args.slice!(i)
24
- if key[:with_arg]
25
- raise OptionParser::InvalidOption if args.count < i + 1
26
- cli_option << args.slice!(i)
27
- end
28
- parse_options(cli_option)
29
- return read_cli_options(args)
30
- end
31
- end
32
- end
33
-
34
- def find_option(arg)
35
- expected_options.each { |hash| return hash if hash[:formats].any? { |f| f.start_with? arg } }
36
- nil
37
- end
38
-
39
- def expected_options
40
- @expected_options ||= options.values.map { |opt| { formats: [opt[:long], opt[:short]].compact, with_arg: !opt[:long].split.one? } }
41
- end
42
-
43
- def run(argv = ARGV)
44
- filtered_args = read_cli_options(argv)
45
- pattern = filtered_args.any? && !filtered_args.first.start_with?('-') ? [filtered_args.shift] : []
46
- index = filtered_args.index('--') || filtered_args.count
47
- docker_options = index.nonzero? ? filtered_args.slice(0..index - 1) : []
48
- command = filtered_args.slice(index + 1..-1) || []
49
- Project.new(cli_options: config, dimgs_patterns: pattern).run(docker_options, command)
50
- end
51
- end
52
- end
53
- end
@@ -1,24 +0,0 @@
1
- module Dapp
2
- class CLI
3
- # CLI stage image subcommand
4
- class StageImage < Base
5
- banner <<BANNER.freeze
6
- Version: #{Dapp::VERSION}
7
-
8
- Usage:
9
- dapp stage image [options] [DIMG]
10
-
11
- DIMG Dapp image to process [default: *].
12
-
13
- Options:
14
- BANNER
15
- option :stage,
16
- long: '--stage STAGE',
17
- proc: proc { |v| v.to_sym },
18
- default: :docker_instructions,
19
- in: [:from, :before_install, :before_install_artifact, :g_a_archive, :g_a_pre_install_patch, :install,
20
- :g_a_post_install_patch, :after_install_artifact, :before_setup, :before_setup_artifact, :g_a_pre_setup_patch,
21
- :setup, :g_a_post_setup_patch, :after_setup_artifact, :g_a_latest_patch, :docker_instructions]
22
- end
23
- end
24
- end
@@ -1,23 +0,0 @@
1
- module Dapp
2
- class CLI
3
- # CLI stages subcommand
4
- class Stages < CLI
5
- SUBCOMMANDS = ['flush local', 'flush repo', 'cleanup local', 'cleanup repo', 'push', 'pull'].freeze
6
-
7
- banner <<BANNER.freeze
8
- Version: #{Dapp::VERSION}
9
-
10
- Available subcommands: (for details, dapp SUB-COMMAND --help)
11
-
12
- dapp stages cleanup local [options] [DIMG ...] [REPO]
13
- dapp stages cleanup repo [options] [DIMG ...] REPO
14
- dapp stages flush local [options] [DIMG ...]
15
- dapp stages flush repo [options] [DIMG ...] REPO
16
- dapp stages push [options] [DIMG ...] REPO
17
- dapp stages pull [options] [DIMG ...] REPO
18
-
19
- Options:
20
- BANNER
21
- end
22
- end
23
- end
@@ -1,44 +0,0 @@
1
- module Dapp
2
- class CLI
3
- class Stages
4
- # stages cleanup local subcommand
5
- class CleanupLocal < Base
6
- banner <<BANNER.freeze
7
- Version: #{Dapp::VERSION}
8
-
9
- Usage:
10
- dapp stages cleanup local [options] [DIMG ...] [REPO]
11
-
12
- DIMG Dapp image to process [default: *].
13
-
14
- Options:
15
- BANNER
16
- option :proper_cache_version,
17
- long: '--improper-cache-version',
18
- boolean: true
19
-
20
- option :proper_git_commit,
21
- long: '--improper-git-commit',
22
- boolean: true
23
-
24
- option :proper_repo_cache,
25
- long: '--improper-repo-cache',
26
- boolean: true
27
-
28
- def run(argv = ARGV)
29
- self.class.parse_options(self, argv)
30
- repository = repo
31
- Project.new(cli_options: config, dimgs_patterns: cli_arguments).send(run_method, repository)
32
- end
33
-
34
- def repo
35
- config[:proper_repo_cache] ? self.class.required_argument(self) : nil
36
- end
37
-
38
- def run_method
39
- :stages_cleanup_local
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,26 +0,0 @@
1
- module Dapp
2
- class CLI
3
- class Stages
4
- # stages cleanup repo subcommand
5
- class CleanupRepo < CleanupLocal
6
- banner <<BANNER.freeze
7
- Version: #{Dapp::VERSION}
8
-
9
- Usage:
10
- dapp stages cleanup repo [options] [DIMG ...] REPO
11
-
12
- DIMG Dapp image to process [default: *].
13
-
14
- Options:
15
- BANNER
16
- def run_method
17
- :stages_cleanup_repo
18
- end
19
-
20
- def repo
21
- self.class.required_argument(self)
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,23 +0,0 @@
1
- module Dapp
2
- class CLI
3
- class Stages
4
- # stages flush local subcommand
5
- class FlushLocal < Base
6
- banner <<BANNER.freeze
7
- Version: #{Dapp::VERSION}
8
-
9
- Usage:
10
- dapp stages flush local [options] [DIMG ...]
11
-
12
- DIMG Dapp image to process [default: *].
13
-
14
- Options:
15
- BANNER
16
- def run(argv = ARGV)
17
- self.class.parse_options(self, argv)
18
- Project.new(cli_options: config, dimgs_patterns: cli_arguments).stages_flush_local
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,24 +0,0 @@
1
- module Dapp
2
- class CLI
3
- class Stages
4
- # stages flush repo subcommand
5
- class FlushRepo < Base
6
- banner <<BANNER.freeze
7
- Version: #{Dapp::VERSION}
8
-
9
- Usage:
10
- dapp stages flush repo [options] [DIMG ...] REPO
11
-
12
- DIMG Dapp image to process [default: *].
13
-
14
- Options:
15
- BANNER
16
- def run(argv = ARGV)
17
- self.class.parse_options(self, argv)
18
- repo = self.class.required_argument(self)
19
- Project.new(cli_options: config, dimgs_patterns: cli_arguments).stages_flush_repo(repo)
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,28 +0,0 @@
1
- module Dapp
2
- class CLI
3
- class Stages
4
- # stages pull subcommand
5
- class Pull < Base
6
- banner <<BANNER.freeze
7
- Version: #{Dapp::VERSION}
8
-
9
- Usage:
10
- dapp stages pull [options] [DIMG ...] REPO
11
-
12
- DIMG Dapp image to process [default: *].
13
-
14
- Options:
15
- BANNER
16
- option :pull_all_stages,
17
- long: '--all',
18
- boolean: true
19
-
20
- def run(argv = ARGV)
21
- self.class.parse_options(self, argv)
22
- repo = self.class.required_argument(self)
23
- Project.new(cli_options: config, dimgs_patterns: cli_arguments).stages_pull(repo)
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,24 +0,0 @@
1
- module Dapp
2
- class CLI
3
- class Stages
4
- # stages push subcommand
5
- class Push < Base
6
- banner <<BANNER.freeze
7
- Version: #{Dapp::VERSION}
8
-
9
- Usage:
10
- dapp stages push [options] [DIMG ...] REPO
11
-
12
- DIMG Dapp image to process [default: *].
13
-
14
- Options:
15
- BANNER
16
- def run(argv = ARGV)
17
- self.class.parse_options(self, argv)
18
- repo = self.class.required_argument(self)
19
- Project.new(cli_options: config, dimgs_patterns: cli_arguments).stages_push(repo)
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,24 +0,0 @@
1
- module Dapp
2
- class CLI
3
- # CLI tag subcommand
4
- class Tag < Base
5
- banner <<BANNER.freeze
6
- Version: #{Dapp::VERSION}
7
-
8
- Usage:
9
- dapp tag [options] [DIMG] TAG
10
-
11
- DIMG Dapp image to process [default: *].
12
- REPO Pushed image name.
13
-
14
- Options:
15
- BANNER
16
-
17
- def run(argv = ARGV)
18
- self.class.parse_options(self, argv)
19
- tag = self.class.required_argument(self)
20
- Project.new(cli_options: config, dimgs_patterns: cli_arguments).public_send(class_to_lowercase, tag)
21
- end
22
- end
23
- end
24
- end
@@ -1,20 +0,0 @@
1
- module Dapp
2
- module Config
3
- # ArtifactDimg
4
- class ArtifactDimg < Dimg
5
- def _artifact_dependencies
6
- @_artifact_dependencies ||= []
7
- end
8
-
9
- def validate_scratch!
10
- end
11
-
12
- def validate_artifacts_artifacts!
13
- end
14
-
15
- def validated_artifacts
16
- _git_artifact._local + _git_artifact._remote
17
- end
18
- end
19
- end
20
- end
@@ -1,56 +0,0 @@
1
- module Dapp
2
- module Config
3
- # ArtifactGroup
4
- class ArtifactGroup < DimgGroup
5
- def _shell(&blk)
6
- @_shell ||= Directive::Shell::Artifact.new(project: project, &blk)
7
- end
8
-
9
- def _docker(&blk)
10
- @_docker ||= Directive::Docker::Artifact.new(project: project, &blk)
11
- end
12
-
13
- def _export
14
- @_export ||= []
15
- end
16
-
17
- def _artifact_dependencies
18
- @_artifact_dependencies ||= []
19
- end
20
-
21
- undef :artifact
22
- undef :dimg
23
- undef :dimg_group
24
-
25
- protected
26
-
27
- def artifact_depends_on(*args)
28
- _artifact_dependencies.concat(args)
29
- end
30
-
31
- def export(*args, &blk)
32
- _export.concat begin
33
- artifact_config = pass_to_default(ArtifactDimg.new(
34
- "artifact-#{SecureRandom.hex(2)}",
35
- project: project
36
- ))
37
-
38
- artifact = Directive::Artifact.new(project: project, config: artifact_config)
39
- artifact.send(:export, *args, &blk)
40
-
41
- artifact._export
42
- end
43
- end
44
-
45
- def check_dimg_directive_order(_directive)
46
- end
47
-
48
- def check_dimg_group_directive_order(_directive)
49
- end
50
-
51
- def passed_directives
52
- super << :@_artifact_dependencies
53
- end
54
- end
55
- end
56
- end